Commit graph

85,247 commits

Author SHA1 Message Date
Enjia Mai
a5f09e0e83 tests: drivers: spi: move the dt_spec test to new ztest API
Migrate the testsuite tests/drivers/spi/dt_spec to the new
ztest API.

Signed-off-by: Enjia Mai <enjia.mai@intel.com>
2022-08-29 10:31:15 +02:00
Gerard Marull-Paretas
d55bc1f7ba drivers: spi: gd32: use reset API
Use the reset API to reset the peripheral state before initialization.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2022-08-29 10:30:49 +02:00
Gerard Marull-Paretas
0337905c7a drivers: serial: gd32: use reset API
Use the reset API to reset the peripheral state before initialization.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2022-08-29 10:30:49 +02:00
Gerard Marull-Paretas
2c740b4392 drivers: pwm: gd32: use reset API
Use the reset API to reset the peripheral state before initialization.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2022-08-29 10:30:49 +02:00
Gerard Marull-Paretas
7002351b58 drivers: i2c: gd32: use reset API
Use the reset API to reset the peripheral state before initialization.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2022-08-29 10:30:49 +02:00
Gerard Marull-Paretas
5aa5af8ec2 drivers: gpio: gd32: use reset API
Use the reset API to restore the peripheral to its initial state before
configuring it.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2022-08-29 10:30:49 +02:00
Gerard Marull-Paretas
382c1f2338 drivers: dma: gd32: use reset API
Use the reset API to reset the peripheral state before initialization.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2022-08-29 10:30:49 +02:00
Gerard Marull-Paretas
e779767b25 drivers: dac: gd32: use reset API
Use the reset API to reset the peripheral state before initialization.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2022-08-29 10:30:49 +02:00
Gerard Marull-Paretas
6894a6c7ed drivers: adc: gd32: use reset API
Use the reset API to reset the peripheral state before initialization.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2022-08-29 10:30:49 +02:00
Gerard Marull-Paretas
014d831d80 soc: arm/riscv: gigadevice: enable reset controller by default
Similar to pinctrl, almost all device drivers will depend on the reset
controller being available, so default the driver class to y at SoC
level.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2022-08-29 10:30:49 +02:00
Gerard Marull-Paretas
28b59890a6 drivers: reset: gd32: add initial support
Add a new reset driver for GD32 platforms. This driver controls the
reset registers from the RCU peripheral. It can be used to restore
peripherals to their initial state when initializing a device.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2022-08-29 10:30:49 +02:00
TOKITA Hiroshi
aae94737ee boards: arm: gd32f407v_start: Add initial support for gd32f407v_start
Add initial support for the GD32F407V-START board.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2022-08-29 10:27:15 +02:00
TOKITA Hiroshi
702d079007 soc: arm: gigadevice: Add support for GD32F407 soc
Add initial support for GD32F407 soc

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2022-08-29 10:27:15 +02:00
TOKITA Hiroshi
5849f088ef dts: arm: gigadevice: Add support for GD32F407X
Add initial support for GD32F407X that is a variant of the GD32F4XX.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2022-08-29 10:27:15 +02:00
TOKITA Hiroshi
e8fdf73985 manifest: Update gigadevice hal repository
Update gigadevice hal for supporting GD32VF407xx

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2022-08-29 10:27:15 +02:00
Yuval Peress
7187d8b7fc ztest: add framework tests for failed states
Add specialized tests that execute another test indirectly and ensure
that the results report errors correctly. See the README.rst file
provided with this commit for details.

Signed-off-by: Yuval Peress <peress@google.com>
2022-08-29 10:27:00 +02:00
Yuval Peress
61fb681036 ztest: Match cleanup ordering between unittest and normal tests
Tests with KERNEL enabled perform their cleanup logic after the suite's
after and test rules are executed. Unittests should do the same.

Signed-off-by: Yuval Peress <peress@google.com>
2022-08-29 10:27:00 +02:00
Yuval Peress
5ceba48473 ztest: Safely handle fail/skip/pass outside tests
Updates the implementation when KERNEL is available to safely bail on
the test when the test calls fail, skip, or pass during invalid test
phases. Print a detailed message, and skip all other tests. The test
run will be marked as failed.

Signed-off-by: Yuval Peress <peress@google.com>
2022-08-29 10:27:00 +02:00
Yuval Peress
20475bff0e ztest: move get_friendly_phase_name to common code
Move the function used for printing the phase name up so its available
for both unittest and KERNEL mode of tests.

Signed-off-by: Yuval Peress <peress@google.com>
2022-08-29 10:27:00 +02:00
Yuval Peress
5b6b304e3c ztest: unittest: Fix fail/skip/pass outside of tests
When not running in setup, before, or in the test. Calling fail, skip,
or pass is invalid and should be considered an error. Properly handle
these cases by printing a more detailed error message and bailing the
process.

Signed-off-by: Yuval Peress <peress@google.com>
2022-08-29 10:27:00 +02:00
Yuval Peress
2a110cc473 ztest: unittest: Add before/after phase
Add missing setters for the before/after phase when running without
KERNEL.

Signed-off-by: Yuval Peress <peress@google.com>
2022-08-29 10:27:00 +02:00
Yuval Peress
08db645d81 ztest: move end_report implementation
Move the implementation of end_report so it can be used by both code
paths (with and without KERNEL).

Signed-off-by: Yuval Peress <peress@google.com>
2022-08-29 10:27:00 +02:00
Yuval Peress
cdb961eac6 ztest: remove init_testing
When KERNEL was not defined (unittest), the call to init_testing was
used to set a longjump target using 'stack_fail'. When triggered,
this was actually causing a segfault, because longjmp is only valid
if going directly up the stack. Since init_testing returned, it was
no longer on the stack. Instead, that logic MUST be inlined.

Signed-off-by: Yuval Peress <peress@google.com>
2022-08-29 10:27:00 +02:00
Gerard Marull-Paretas
ec5b59fd17 boards: fvp_baser_aemv8r: remove scale and center images
Now that images are scaled up to the ~width of the page, there's no need
to scale. Also center images to make things prettier.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2022-08-29 10:18:18 +02:00
Gerard Marull-Paretas
b1c970e331 boards: delete unused images
Delete images not referenced in any .rst file.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-08-29 10:18:18 +02:00
Gerard Marull-Paretas
e81e92dbb9 boards: convert images to JPEG and reduce image size
The boards folder uses ~142.8 MB, being the largest in the repository.
This is due mostly to board images, which are in most cases not
optimized for web content. This patch tries to address this problem by
converting all pictures to JPEG (quality 75) and by adjusting its size
up to 750 px (the width of the documentation content). Images that
specified a fixed width in rst files are converted down to that value
instead.

With this patch, folder goes down to ~53.5 MB from 142.8 MB (-~63%).
Note that this patch introduces a new set of binary files to git
history, though (bad).

The process has been automated using this quickly crafted Python script:

```python
from pathlib import Path
import re
import subprocess

def process(doc, image, image_jpeg, size):
    subprocess.run(
        (
	     f"convert {image}"
	     "-background white -alpha remove -alpha off -quality 75"
	     f"-resize {size}\> {image_jpeg}"
	),
        shell=True,
        check=True,
        cwd=doc.parent,
    )
    if image != image_jpeg:
        (doc.parent / image).unlink()

for doc in Path(".").glob("boards/**/*.rst"):
    with open(doc) as f:
        content = ""
        image = None
        for line in f:
            m = re.match(r"^(\s*)\.\. (image|figure):: (.*)$", line)
            if m:
                if image:
                    process(doc, image, image_jpeg, size)

                image = Path(m.group(3))
                if image.suffix not in (".jpg", ".jpeg", ".png"):
                    content += line
                    image = None
                    continue

                image_jpeg = image.parent / (image.stem + ".jpg")
                size = 750
                content += (
                    f"{m.group(1)}.. {m.group(2)}:: {image_jpeg}\n"
                )
            elif image:
                m = re.match(r"\s*:height:\s*[0-9]+.*$", line)
                if m:
                    continue

                m = re.match(r"\s*:width:\s*([0-9]+).*$", line)
                if m:
                    size = min(int(m.group(1)), size)
                    continue

                content += line
                if line == "\n":
                    process(doc, image, image_jpeg, size)
                    image = None
            else:
                content += line

    with open(doc, "w") as f:
        f.write(content)
```

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-08-29 10:18:18 +02:00
Gerard Marull-Paretas
3f60ed03d1 boards: neorv32: remove doc logo
Logos do not add much value in board documentation and increase
repository size, so delete it.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-08-29 10:18:18 +02:00
Gerard Marull-Paretas
4ade35bd7c boards: xenvm: remove logo
Adding logos to the documentation doesn't add much value and increases
repository size (due to images).

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-08-29 10:18:18 +02:00
Gerard Marull-Paretas
1416c8ce12 boards: qemu: delete all QEMU logos
We had a bunch of QEMU logos embedded in all QEMU boards. Logos do not
add much value to the documentation, so just delete them.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-08-29 10:18:18 +02:00
Gerard Marull-Paretas
762bb764bc boards: acrn: set fixed image width
Instead of using a relative width, use a fixed size. Because page width
is ~750px, 80% corresponds to ~600px.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-08-29 10:18:18 +02:00
Gerard Marull-Paretas
28599ec372 boards: arc: increase documentation image widths
Some board pictures contain text that is difficult to read with current
width. Increase it to 650px.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-08-29 10:18:18 +02:00
Enjia Mai
ccfe9513ec tests: drivers: move the disk performance test to new ztest API
Migrate the testsuite tests/drivers/disk/disk_performance to the
new ztest API.

Signed-off-by: Enjia Mai <enjia.mai@intel.com>
2022-08-27 16:18:34 -04:00
Enjia Mai
90e9f2b9db tests: drivers: move the disk access test to new ztest API
Migrate the testsuite tests/drivers/disk/disk_access to the
new ztest API.

Signed-off-by: Enjia Mai <enjia.mai@intel.com>
2022-08-27 16:18:34 -04:00
Flavio Ceolin
30e2b8049f mm: Remove deprecated definition
K_MEM_MAP_GUARD was deprecated before 2.6 release. Just removing it.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2022-08-27 16:18:06 -04:00
Evgeniy Paltsev
5108c4f21d tests: allow ARC platforms for non-multithread tests
Allow arc non-SMP simulation platforms for non-multithread tests

Signed-off-by: Evgeniy Paltsev <PaltsevEvgeniy@gmail.com>
Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
2022-08-26 21:38:56 -04:00
Evgeniy Paltsev
99142065fc ARC: add non-multithreading mode support
Add non-multithreading mode support for all ARC non-SMP
targets.

Signed-off-by: Evgeniy Paltsev <PaltsevEvgeniy@gmail.com>
Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
2022-08-26 21:38:56 -04:00
Jamie McCrae
fc64b77ab1 mgmt: mcumgr: Split up transport Kconfig into separate files
Makes each mcumgr transport have a separate Kconfig file for ease of
maintenance

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2022-08-26 21:34:38 -04:00
Enjia Mai
18e92927f7 tests: drivers: move the gd32 pinctrl test to new ztest API
Migrate the testsuite tests/drivers/pinctrl/gd32 to the
new ztest API.

Signed-off-by: Enjia Mai <enjia.mai@intel.com>
2022-08-26 21:34:12 -04:00
Enjia Mai
ac97b47596 tests: drivers: move the nrf pinctrl test to new ztest API
Migrate the testsuite tests/drivers/pinctrl/nrf to the
new ztest API.

Signed-off-by: Enjia Mai <enjia.mai@intel.com>
2022-08-26 21:34:12 -04:00
Enjia Mai
9ccf98fbf3 tests: drivers: timer: move the nrf rtc test to new ztest API
Migrate the testsuite tests/drivers/timer/nrf_rtc_timer to the
new ztest API.

Signed-off-by: Enjia Mai <enjia.mai@intel.com>
2022-08-26 21:33:49 -04:00
Tom Burdick
3a4864bdd2 logging: adsp hda backend improvements
* Adds a default hook and init function for cavstool.
* Adds an optional padding on flush feature to ensure all data is written.
* Fixes an error in cavstool.py for correctly wrapping the ring buffer.
* The test case now ensures wraps and flushes occur numerous times.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2022-08-26 21:33:10 -04:00
Sylvio Alves
3c50237460 drivers: gpio: esp32: fix config function to allow changes
Current implementation misses disabling input/output mux
once GPIO has already been configured. It means that after 1st
configuration, if GPIO is reconfigured, it won't disable previous
definitions, causing unexpected behavior.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2022-08-26 21:27:50 -04:00
Enjia Mai
595e07c8b1 tests: drivers: move the entropy test to new ztest API
Migrate the testsuite tests/drivers/entropy/api to the
new ztest API.

Signed-off-by: Enjia Mai <enjia.mai@intel.com>
2022-08-26 19:36:37 -04:00
Sam Hurst
6f9e8f459d doc: smf: Add Event Driven Example
Add an example that demonstrates how the State Machine Framework
can be event driven. See Issue #48534

Signed-off-by: Sam Hurst <sbh1187@gmail.com>
2022-08-26 10:23:39 -07:00
Anas Nashif
6c7bf09222 intel_adsp: fix leakage of Kconfigs in soc family defconfig
Add missing conditionals and move CAVS related configs into own series
defconfig.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-08-26 13:17:02 -04:00
Anas Nashif
b04dc92c52 xtensa: make xtensa cache/uncache operations optional
Do not build those on platforms not supporting them.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-08-26 13:17:02 -04:00
Gerard Marull-Paretas
db798f7edb boards: thingy52_nrf52832: use SYS_INIT
There's no need to define a device entry, SYS_INIT is sufficient to run
a routine at boot time.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-08-26 10:06:43 -07:00
Gerard Marull-Paretas
05e30fac74 boards: thingy52_nrf52832: remove unused include
Code is not using printk, so remove zephyr/sys/printk.h

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-08-26 10:06:43 -07:00
Gerard Marull-Paretas
4876def53e boards: thingy52_nrf52832: use gpio_dt_spec
Obtain CCS GPIO pin from the regulator node (done like this because we
can't make use the regulator framework yet).

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-08-26 10:06:43 -07:00
Gerard Marull-Paretas
9026073200 boards: thingy52_nrf52832: disable unused regulators
Some regulators can't be used in practice due to the limitations of the
Zephyr init priorities system. To make use of regulators using SX1509B
GPIOs, we would need regulators to be initialized at different
priorities, something not possible because we have a fixed priority
(CONFIG_REGULATOR_FIXED_INIT_PRIORITY) for all instances.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-08-26 10:06:43 -07:00