Commit Graph

311 Commits

Author SHA1 Message Date
Guillaume Gautier
04de62d56d tests: drivers: adc: adc_api: add nucleo u5a5zj-q board
Add Nucleo U5A5ZJ-Q board to the list of supported boards.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-29 10:34:33 +02:00
Nick Ward
ead0c4f865 drivers: adc: use adc_read_dt api
Where struct adc_dt_spec is in use use adc_read_dt().

Signed-off-by: Nick Ward <nix.ward@gmail.com>
2023-09-25 09:52:16 +02:00
YuLong Yao
36cd04c8e5 tests: drivers: adc: add esp32s3_luatos_core
add overlay and conf for esp32s3_luatos_core board

Signed-off-by: YuLong Yao <feilongphone@gmail.com>
2023-09-22 15:58:11 +02:00
Guillaume Gautier
47d1dcda4e tests: drivers: adc: adc_api: boards: add sequence for b_u585i_iot02a
Add multiple channels in overlay to test the sequencer for ADC4.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Guillaume Gautier
b72e4910cc tests: drivers: adc: adc_api: boards: add sequence for b_u585i_iot02a
Add multiple channels in overlay to test the sequencer for ADC1.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Guillaume Gautier
d79bf2383a tests: drivers: adc: adc_api: boards: add sequence for disco l475 iot1
Add multiple channels in overlay to test the sequencer.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Guillaume Gautier
80b3b2a7dd tests: drivers: adc: adc_api: boards: add sequence for stm32l562e dk
Add multiple channels in overlay to test the sequencer.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Guillaume Gautier
3716a1b4e5 tests: drivers: adc: adc_api: boards: add sequence for stm32h573i dk
Add multiple channels in overlay to test the sequencer.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Guillaume Gautier
6a725d08dd tests: drivers: adc: adc_api: boards: add sequence for stm32f3 disco
Add multiple channels in overlay to test the sequencer.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Guillaume Gautier
a6ece6a0c8 tests: drivers: adc: adc_api: boards: add sequence for nucleo wl55jc
Add multiple channels in overlay to test the sequencer.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Guillaume Gautier
83ab36f2a1 tests: drivers: adc: adc_api: boards: add sequence for nucleo wba52cg
Add multiple channels in overlay to test the sequencer.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Guillaume Gautier
7eec6ea1e4 tests: drivers: adc: adc_api: boards: add sequence for nucleo wb55rg
Add multiple channels in overlay to test the sequencer.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Guillaume Gautier
ec51e3978b tests: drivers: adc: adc_api: boards: add sequence for nucleo l552ze_q
Add multiple channels in overlay to test the sequencer.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Guillaume Gautier
6224784a0b tests: drivers: adc: adc_api: boards: add sequence for nucleo l152re
Add multiple channels in overlay to test the sequencer.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Guillaume Gautier
8d145da53c tests: drivers: adc: adc_api: boards: add sequence for nucleo l073rz
Add multiple channels in overlay to test the sequencer.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Guillaume Gautier
c833abc15c tests: drivers: adc: adc_api: boards: add sequence for nucleo g474re
Add multiple channels in overlay to test the sequencer.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Guillaume Gautier
0446f59c30 tests: drivers: adc: adc_api: boards: add sequence for nucleo f746zg
Add multiple channels in overlay to test the sequencer.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Guillaume Gautier
3c82c6fb7c tests: drivers: adc: adc_api: boards: add sequence for nucleo f429zi
Add multiple channels in overlay to test the sequencer.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Guillaume Gautier
0986c07443 tests: drivers: adc: adc_api: boards: add sequence for nucleo f207zg
Add multiple channels in overlay to test the sequencer.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Guillaume Gautier
7a19b995bb tests: drivers: adc: adc_api: boards: add sequence for nucleo f091rc
Add multiple channels in overlay to test the sequencer.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Guillaume Gautier
06842bc2e0 tests: drivers: adc: adc_api: boards: add sequence for nucleo f401re
Add multiple channels in overlay to test the sequencer.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Guillaume Gautier
0473cf5bb0 tests: drivers: adc: adc_api: boards: add sequence for nucleo g071rb
Add multiple channels in overlay to test the sequencer.
Change clock source to correctly pass the test.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-09-22 15:30:47 +02:00
Mulin Chao
68dd26574c boards: arm: npcx: add support for npcx4m8f_evb
Add support for npcx4m8f_evb board that is a development platform to
evaluate the Nuvoton NPCX4 embedded controller.

Signed-off-by: Mulin Chao <mlchao@nuvoton.com>
2023-09-22 09:23:06 +02:00
Pavlo Havrylyuk
166d89c69e tests: drivers: Added overlays to tests for 063_ble
Fixed pinout in adc overlays to align with board
Allowed adc driver sample
Added overlay for gpio_basic_api test support
Added overlay for i2c_api test support

Signed-off-by: Pavlo Havrylyuk <pavlo.havrylyuk@infineon.com>
2023-09-20 20:23:20 +01:00
YuLong Yao
7caaafd5f4 tests: drivers: adc: add esp32c3_luatos_core
add overlay and conf for esp32c3_luatos_core board

Signed-off-by: YuLong Yao <feilongphone@gmail.com>
2023-09-15 14:17:50 +02:00
Carlo Caione
e4a125b6a4 dt: Make zephyr,memory-attr a capabilities bitmask
This is the final step in making the `zephyr,memory-attr` property
actually useful.

The problem with the current implementation is that `zephyr,memory-attr`
is an enum type, this is making very difficult to use that to actually
describe the memory capabilities. The solution proposed in this PR is to
use the `zephyr,memory-attr` property as an OR-ed bitmask of memory
attributes.

With the change proposed in this PR it is possible in the DeviceTree to
mark the memory regions with a bitmask of attributes by using the
`zephyr,memory-attr` property. This property and the related memory
region can then be retrieved at run-time by leveraging a provided helper
library or the usual DT helpers.

The set of general attributes that can be specified in the property are
defined and explained in
`include/zephyr/dt-bindings/memory-attr/memory-attr.h` (the list can be
extended when needed).

For example, to mark a memory region in the DeviceTree as volatile,
non-cacheable, out-of-order:

   mem: memory@10000000 {
       compatible = "mmio-sram";
       reg = <0x10000000 0x1000>;
       zephyr,memory-attr = <( DT_MEM_VOLATILE |
			       DT_MEM_NON_CACHEABLE |
			       DT_MEM_OOO )>;
   };

The `zephyr,memory-attr` property can also be used to set
architecture-specific custom attributes that can be interpreted at run
time. This is leveraged, among other things, to create MPU regions out
of DeviceTree defined memory regions on ARM, for example:

   mem: memory@10000000 {
       compatible = "mmio-sram";
       reg = <0x10000000 0x1000>;
       zephyr,memory-region = "NOCACHE_REGION";
       zephyr,memory-attr = <( DT_ARM_MPU(ATTR_MPU_RAM_NOCACHE) )>;
   };

See `include/zephyr/dt-bindings/memory-attr/memory-attr-mpu.h` to see
how an architecture can define its own special memory attributes (in
this case ARM MPU).

The property can also be used to set custom software-specific
attributes. For example we can think of marking a memory region as
available to be used for memory allocation (not yet implemented):

   mem: memory@10000000 {
       compatible = "mmio-sram";
       reg = <0x10000000 0x1000>;
       zephyr,memory-attr = <( DT_MEM_NON_CACHEABLE |
			       DT_MEM_SW_ALLOCATABLE )>;
   };

Or maybe we can leverage the property to specify some alignment
requirements for the region:

   mem: memory@10000000 {
       compatible = "mmio-sram";
       reg = <0x10000000 0x1000>;
       zephyr,memory-attr = <( DT_MEM_CACHEABLE |
			       DT_MEM_SW_ALIGN(32) )>;
   };

The conventional and recommended way to deal and manage with memory
regions marked with attributes is by using the provided `mem-attr`
helper library by enabling `CONFIG_MEM_ATTR` (or by using the usual DT
helpers).

When this option is enabled the list of memory regions and their
attributes are compiled in a user-accessible array and a set of
functions is made available that can be used to query, probe and act on
regions and attributes, see `include/zephyr/mem_mgmt/mem_attr.h`

Note that the `zephyr,memory-attr` property is only a descriptive
property of the capabilities of the associated memory  region, but it
does not result in any actual setting for the memory to be set. The
user, code or subsystem willing to use this information to do some work
(for example creating an MPU region out of the property) must use either
the provided `mem-attr` library or the usual DeviceTree helpers to
perform the required work / setting.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2023-09-15 12:46:54 +02:00
Daniel DeGrasse
77998b2171 tests: drivers: adc: support sampling more than 2 channels with test
Support sampling more than 2 channels using the ADC API test. This
requires updates to the repeated samplings test, which samples using 2
channels even when more channels are defined by the ADC test overlay.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-09-12 17:22:35 +01:00
Eric Holmberg
5d6b5e99c2 tests: drivers: adc: adc_api: add esp32s3 support
Add testing support for ESP32-S3 ADC in single-sample mode.

Signed-off-by: Eric Holmberg <eric.holmberg@northriversystems.co.nz>
2023-08-17 10:36:20 +02:00
Eric Holmberg
38203f9cb0 drivers: adc: esp32: return unsupported for unsupported options
To allow the ADC API unit test to skip tests for non-implemented
features, return -ENOTSUP.

Signed-off-by: Eric Holmberg <eric.holmberg@northriversystems.co.nz>
2023-08-17 10:36:20 +02:00
Eric Holmberg
5cc2691189 tests: drivers: adc: adc_api: add skip for ENOTSUP
If the driver does not implement an optional feature, then skip the test
if -ENOTSUP is returned.

Signed-off-by: Eric Holmberg <eric.holmberg@northriversystems.co.nz>
2023-08-17 10:36:20 +02:00
Diego Elio Pettenò
905652fc15 atsamd2x_xpro: follow best practices.
This updates the configurations for these two boars to match the expected
best practices for new boards, as discussed in #61140.

Signed-off-by: Diego Elio Pettenò <flameeyes@meta.com>
2023-08-16 15:00:25 +02:00
Julio Cesar
5e15e8cb48 boards: xtensa: Add support for YD-ESP32 board
Add `yd_esp32` board:

- Model name: YD-ESP32
- Manufacturer: VCC-GND® Studio
- Espressif module: ESP32-WROOM-32E

Signed-off-by: Julio Cesar <hi@jcsx.dev>
2023-08-15 11:15:39 +00:00
Daniel Leung
121b4d2d62 tests: drivers: rename shadow variables
Renames shadow variables found by -Wshadow.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-08-10 08:14:12 +00:00
Diego Elio Pettenò
762a1f8b42 ev11l78a: initial import of the UPD301C Basic Sink board.
This board is a relatively inexpensive development kit for USB-PD
controllers, using an UPD301C controller.

This Zephyr config includes support for:

 * UART (present on he debug header of the board), tested with the
   hello_world sample application;
 * the one standalone LED (CAP_MIS), tested with the blinky sample
   application;
 * the rotary encoder (PDO_SEL), via ADC, tested with the adc sample
   application;
 * the current sense amplifier (I_SENSE), currently untested;
 * the SPI bus, connected internally in the UPD301C to the UPD350;
 * the I2C bus, exposed on the debug header, currently untested.

Note that the drivers.uart.async_api.rtt has to be disabled, as it is
for other m0 boards with no dma or it fails to build.

Signed-off-by: Diego Elio Pettenò <flameeyes@meta.com>
2023-08-08 19:02:15 +00:00
Benjamin Perseghetti
109d91aaf8 board: Add NXP VMU RT1170 board support package
Adds support for the NXP VMU RT1170 board. This Vehicle
Management Unit based on the i.MX RT1176 brings a fantastic
combination of sensors and IO all on one board for development
of various systems. It is also the featured board for
CogniPilot's Cerebri - VMU autopilot software based on Zephyr.

Co-authored-by: Peter van der Perk <peter.vanderperk@nxp.com>
Signed-off-by: Benjamin Perseghetti <bperseghetti@rudislabs.com>
2023-08-08 12:09:10 -05:00
Cong Nguyen Huu
5ea07017ca tests: drivers: adc: adc_api: enbale test for mr_canhubk3
Enable adc0 with 2 channels 22, 23 on standard group with
normal end of conversion callback. Channels correspond to
VREFL(0V), VREFH(3.3V).

Signed-off-by: Cong Nguyen Huu <cong.nguyenhuu@nxp.com>
2023-07-28 08:55:38 -05:00
Marek Matej
3776402f40 boards: xtensa: esp32 board split
Remove virtual esp32 board and replace it with the
real word boards:

- esp32_devkitc_wroom
- esp32_devkitc_wrover (with PSRAM option)

Signed-off-by: Marek Matej <marek.matej@espressif.com>
2023-07-25 18:12:33 +02:00
Carlo Caione
15e84cbfac dts: Move to 'zephyr,memory-attr'
Move to 'zephyr,memory-attr' and use the newly introduced helpers.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2023-07-25 11:22:10 +02:00
Nick Ward
371f0f2503 drivers: adc: use adc_is_ready_dt helper function
Update  `struct adc_dt_spec` use with adc_is_ready_dt()

Signed-off-by: Nick Ward <nix.ward@gmail.com>
2023-07-17 10:16:22 +00:00
Guillaume Gautier
aa826ce64d tests: drivers: adc: adc_api: add stm32wba overlay for adc test
Add Nucleo WBA52CG overlay for adc_api test

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-07-12 11:48:10 +02:00
Brett Witherspoon
3bb5062fae tests: drivers: adc: adc_dma: add nucleo_u575zi_q
Add the nucleo_u575zi_q board to the ADC DMA tests.

Signed-off-by: Brett Witherspoon <brett@witherspoon.engineering>
2023-07-11 09:44:37 +02:00
Alberto Escolar Piedras
d3633b58f1 tests ADC API: Add overlay for native_sim
Add DT overlay for native_sim.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-07-05 07:01:19 -04:00
Daniel DeGrasse
74ffb99a72 boards: arm: mixmrt1170_evkb: add support for ADC
Add support for ADC sample and API test on RT1170 EVKB.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-06-29 21:05:56 +02:00
Jason Yuan
570bcd3c83 test: adc: current sense amplifier
adds tests for the current sense amplifier binding macro and rescaling
function.

Signed-off-by: Jason Yuan <jasonyuan@google.com>
2023-06-24 18:54:33 +02:00
Jason Yuan
a79df5eed1 test: adc: current sense shunt
adds tests for the current sense shunt binding macro and rescaling
function.

Signed-off-by: Jason Yuan <jasonyuan@google.com>
2023-06-24 18:54:33 +02:00
Jason Yuan
40957389ff test: adc: voltage divider
adds tests for the voltage divider binding macro and rescaling function.

Signed-off-by: Jason Yuan <jasonyuan@google.com>
2023-06-24 18:54:33 +02:00
Guillaume Gautier
190b632161 tests: drivers: adc: adc_api: boards: add overlays for stm32 boards
Adds overlays for several STM32 boards to fix CI build failures.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2023-06-21 09:29:56 +02:00
Daniel DeGrasse
d5792abbcf tests: drivers: adc: adc_dma: increase sampling interval for MCUX ADC16
Increase hardware sampling interval to 30ms for MCUX ADC16. The ADC
callback in the repeated_samplings test takes roughly 27ms to execute,
so a sampling frequency of this interval still allows the ADC test to
verify the ADC is being sampled at a given interval, while avoiding the
pitfalls that result from a kernel timer shorter than the duration the
ADC callback takes to run.

Fixes #58467

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-06-02 18:49:22 -04:00
Bill Waters
61246e2592 driver: adc: infineon: Adding ADC driver support to cy8cproto_063_ble
- The boards\arm\cy8cproto_063_ble board now has ADC enabled
- This includes overlay files for the test app and sample app

Signed-off-by: Bill Waters <bill.waters@infineon.com>
2023-05-19 20:22:51 -04:00
Sumit Batra
815b8fc664 board: Adds MIMXRT1062-FMURT6 board support package
Also enables all the usable CAN, Ethernet, I2C, PWM,

SPI, UARTs interfaces for this board

Signed-off-by: Sumit Batra <sumit.batra@nxp.com>
2023-05-18 14:08:06 -05:00