Remove shield, using this shild will require an overlay for
the particular board being used.
Signed-off-by: Benjamin Björnsson <benjamin.bjornsson@gmail.com>
Move channel description to devicetree for atmel,sam-afec
compatible to make the test more readable.
Signed-off-by: Benjamin Björnsson <benjamin.bjornsson@gmail.com>
Move channel description to devicetree for atmel,sam0-adc
compatible to make the test more readable.
Signed-off-by: Benjamin Björnsson <benjamin.bjornsson@gmail.com>
Move channel description to devicetree for atmel,sam-adc
compatible to make the test more readable.
Signed-off-by: Benjamin Björnsson <benjamin.bjornsson@gmail.com>
Move channel description to devicetree for gd,gd32-adc
compatible to make the test more readable.
Signed-off-by: Benjamin Björnsson <benjamin.bjornsson@gmail.com>
Move channel description to devicetree for telink,b91-adc
compatible to make the test more readable.
Signed-off-by: Benjamin Björnsson <benjamin.bjornsson@gmail.com>
Move channel description to devicetree for nxp,kinetis-adc16
compatible to make the test more readable.
Signed-off-by: Benjamin Björnsson <benjamin.bjornsson@gmail.com>
Move channel description to devicetree for nordic,nrf-saadc
compatible to make the test more readable.
Signed-off-by: Benjamin Björnsson <benjamin.bjornsson@gmail.com>
Move channel description to devicetree for nordic,nrf-adc
compatible to make the test more readable.
Signed-off-by: Benjamin Björnsson <benjamin.bjornsson@gmail.com>
Move channel description to devicetree for st,stm32-adc
compatible to make the test more readable.
Signed-off-by: Benjamin Björnsson <benjamin.bjornsson@gmail.com>
Move channel description to devicetree for nxp,kinetis-adc12
compatible to make the test more readable.
Signed-off-by: Benjamin Björnsson <benjamin.bjornsson@gmail.com>
Move channel description to devicetree for microchip,xec-adc
compatible to make the test more readable.
Signed-off-by: Benjamin Björnsson <benjamin.bjornsson@gmail.com>
Move channel description to devicetree for nxp,lpc-lpadc
compatible to make the test more readable.
Signed-off-by: Benjamin Björnsson <benjamin.bjornsson@gmail.com>
Move channel description to devicetree for nuvoton,npcx-adc
compatible to make the test more readable.
Signed-off-by: Benjamin Björnsson <benjamin.bjornsson@gmail.com>
Move channel description to devicetree for ti,cc32xx-adc
compatible to make the test more readable.
Signed-off-by: Benjamin Björnsson <benjamin.bjornsson@gmail.com>
Move channel description to devicetree for ti,cc13xx-cc26xx-adc
compatible to make the test more readable.
Signed-off-by: Benjamin Björnsson <benjamin.bjornsson@gmail.com>
Move channel description to devicetree for ite,it8xxx2-adc
compatible to make the test more readable.
Signed-off-by: Benjamin Björnsson <benjamin.bjornsson@gmail.com>
Move channel description to devicetree for nxp_mcux,12b1msps-sar
compatible to make the test more readable.
Signed-off-by: Benjamin Björnsson <benjamin.bjornsson@gmail.com>
Move channel description to devicetree for raspberrypi,pico-adc
compatible to make the test more readable.
Signed-off-by: Benjamin Björnsson <benjamin.bjornsson@gmail.com>
Move channel description to devicetree for espressif,esp32-adc
compatible to make the test more readable.
Signed-off-by: Benjamin Björnsson <benjamin.bjornsson@gmail.com>
Move channel description to devicetree for infineon,xmc4xxx-adc
compatible to make the test more readable.
Signed-off-by: Benjamin Björnsson <benjamin.bjornsson@gmail.com>
This applies the coccinelle script to another set of files:
samples/bluetooth/bthome_sensor_template/src/main.c
samples/boards/stm32/power_mgmt/standby_shutdown/src/main.c
samples/drivers/smbus/src/main.c
samples/drivers/virtualization/ivshmem/doorbell/src/ivshmem.c
samples/fuel_gauge/max17048/src/main.c
samples/hello_world/src/main.c
samples/sensor/proximity_polling/src/main.c
samples/subsys/logging/ble_backend/src/main.c
tests/drivers/build_all/mfd/src/main.c
Signed-off-by: Keith Packard <keithp@keithp.com>
As both C and C++ standards require applications running under an OS to
return 'int', adapt that for Zephyr to align with those standard. This also
eliminates errors when building with clang when not using -ffreestanding,
and reduces the need for compiler flags to silence warnings for both clang
and gcc.
Most of these changes were automated using coccinelle with the following
script:
@@
@@
- void
+ int
main(...) {
...
- return;
+ return 0;
...
}
Approximately 40 files had to be edited by hand as coccinelle was unable to
fix them.
Signed-off-by: Keith Packard <keithp@keithp.com>
Test that filters are preserved when changing between CAN-FD mode and
classic CAN mode and vice versa.
Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
The init infrastructure, found in `init.h`, is currently used by:
- `SYS_INIT`: to call functions before `main`
- `DEVICE_*`: to initialize devices
They are all sorted according to an initialization level + a priority.
`SYS_INIT` calls are really orthogonal to devices, however, the required
function signature requires a `const struct device *dev` as a first
argument. The only reason for that is because the same init machinery is
used by devices, so we have something like:
```c
struct init_entry {
int (*init)(const struct device *dev);
/* only set by DEVICE_*, otherwise NULL */
const struct device *dev;
}
```
As a result, we end up with such weird/ugly pattern:
```c
static int my_init(const struct device *dev)
{
/* always NULL! add ARG_UNUSED to avoid compiler warning */
ARG_UNUSED(dev);
...
}
```
This is really a result of poor internals isolation. This patch proposes
a to make init entries more flexible so that they can accept sytem
initialization calls like this:
```c
static int my_init(void)
{
...
}
```
This is achieved using a union:
```c
union init_function {
/* for SYS_INIT, used when init_entry.dev == NULL */
int (*sys)(void);
/* for DEVICE*, used when init_entry.dev != NULL */
int (*dev)(const struct device *dev);
};
struct init_entry {
/* stores init function (either for SYS_INIT or DEVICE*)
union init_function init_fn;
/* stores device pointer for DEVICE*, NULL for SYS_INIT. Allows
* to know which union entry to call.
*/
const struct device *dev;
}
```
This solution **does not increase ROM usage**, and allows to offer clean
public APIs for both SYS_INIT and DEVICE*. Note that however, init
machinery keeps a coupling with devices.
**NOTE**: This is a breaking change! All `SYS_INIT` functions will need
to be converted to the new signature. See the script offered in the
following commit.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
init: convert SYS_INIT functions to the new signature
Conversion scripted using scripts/utils/migrate_sys_init.py.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
manifest: update projects for SYS_INIT changes
Update modules with updated SYS_INIT calls:
- hal_ti
- lvgl
- sof
- TraceRecorderSource
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
tests: devicetree: devices: adjust test
Adjust test according to the recently introduced SYS_INIT
infrastructure.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
tests: kernel: threads: adjust SYS_INIT call
Adjust to the new signature: int (*init_fn)(void);
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
HiFive Unmatched is using size and address cells of length 2. It has to
use different overlays (with reg properties of correct length).
Signed-off-by: Franciszek Zdobylak <fzdobylak@antmicro.com>
drivers.uart.async_api.rtt test started failing on xmc45_relax_kit
after f423ec255f which set
CONFIG_SERIAL_SUPPORT_ASYNC=y if uart rtt is enabled. This conflicts
with the xmc4xxx uart driver which sets the same symbol conditionally
if the dma is enabled in the device tree. The conflict created some
warning during compilation causing the CI to fail.
All the uart_async tests were disabled in
71d0394752. This commit re-enables the
test on xmc45_relax_kit and only excludes the rtt test that's failing.
Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
Adds a test for verifying that the mm_drv_bank APIs properly
record data for mapped and unmapped pages.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
Extends tests/drivers/build_all/sensor/ to include missing sensor driver
trigger configurations. We now build sensor drivers in all three trigger
modes: own thread, global thread, and none.
Signed-off-by: Maureen Helm <maureen.helm@intel.com>
Extending tests/drivers/build_all/sensor/ to include missing driver
trigger configurations revealed that some sensor drivers failed to build
with triggers enabled.
Signed-off-by: Maureen Helm <maureen.helm@intel.com>
Zephyr SPI driver model for full-duplex operation assumes
data will be transmitted and received during each clock period.
The QMSPI driver for the XEC family also supported dual and
quad I/O use cases which are inherently half-duplex. To
support dual/quad the driver incorrectly processed spi buffers
as all transmit buffers first then all receive buffers. This
worked if only the SPI driver was used. It did not work with
the Zephyr flash SPI NOR driver which assumes SPI drivers
follow the SPI driver model. This commit implements a QMSPI
driver that follows the Zephyr SPI driver model resulting in
a slightly smaller driver. Dual/quad SPI transactions are
supported if the experimental SPI extended mode Zephyr
configuration flag is enabled. We also remove the QMSPI full duplex
driver added previously to support the flash SPI NOR driver.
Added board to spi loop-back test and spi_flash sample.
Signed-off-by: Scott Worley <scott.worley@microchip.com>
move DT_DRV_COMPAT to bmm150.h. so that can be decide which interface
to use.
define struct bmm150_bus_io interface for bmm150_i2c.c and bmm150_spi.c
in bmm150.h.
redefined bus operation interface in bmm150.c, this allow the driver
to decide which interface to use during construction.
Signed-off-by: Weiwei Guo <guoweiwei@syriusrobotics.com>
Convert the SDL driver to use the input subsystem. This is specifically
meant to emulate touchscreen drivers, so it's setup to send triplet of
x, y, touch for touch-on events and just touch off on touch off events.
Renamed the driver to input-sdl-touch since now we can also develop an
sdl driver for simulating key events.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Adds the necessary definitions for the nucleo_h563zi to be able to run
the adc_api test on the ADC1 channel 15 (on pa3).
Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
Adds the necessary definitions for the nucleo_h563zi to be able to run
tests/drivers/dac/dac_api.
Channel2 of the DAC is used for testing.
Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
On Qemu x86_64 it is possible to emulate an NVMe controller and disk on
the PCIe bus, so let's add this case here to verify how the newly added
NVMe controller and disk driver perform, relatively to the host.
This will prove to be useful to evaluate the optimization to be made, or
the possible regression that could happen on future changes.
Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
On Qemu x86_64 it is possible to emulate an NVMe controller and disk on
the PCIe bus, so let's add this case here to verify that the newly added
NVMe controller and disk driver works fine.
Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
Add interrupt and DMA tests for rpi_pico boards.
Add tests for combination of cases of DMA, interrupt and
DMA is not enabled by dts.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@fujitsu.com>