Commit Graph

841 Commits

Author SHA1 Message Date
Simon Guinot
7efe988a54 tests: introduce tests for LED drivers
This patch introduces some tests for the LED drivers. The following
functions of the LED API are tested:

- led_get_info
- led_on
- led_off
- led_set_color
- led_set_brightness

Note that the led-controller-0 alias must be defined in the DTS of the
board used to run this tests.

Signed-off-by: Simon Guinot <simon.guinot@seagate.com>
2020-08-28 15:04:35 +02:00
Peter Bigot
77aa89bcb5 drivers: flash: remove W25QXXDV driver
The spi_flash_w25qxxdv driver has been superseded by the generic
spi_nor driver for over a year.  The only non-refactoring change to
the W25Q driver in the last 18 months was done to support a backport
to 1.14.

All devices supported by spi_flash_w25qxxdv driver are expected to be
supported by the spi_nor driver, using the standard `jedec,spi-nor`
devicetree compatible.  No in-tree devicetree files make use of this
driver.

Remove the confusion about which driver to select by removing the
unmaintained redundant driver.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-08-27 17:39:21 +02:00
Alexandre Bourdiol
27bf7c8010 tests: drivers: pwm: pwm_api: add support of STM32 boards
Add generic support of STM32 boards

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2020-08-27 16:07:39 +02:00
Alexandre Bourdiol
42c31e5bd1 tests: drivers: dac: dac_loopback: add fixture dac_adc_loopback
Add fixture dac_adc_loopback.
Tested with nucleo_f207zg

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2020-08-27 16:06:34 +02:00
Peter Bigot
0b286d7304 samples: remove unnecessary check for flags cell in gpios
The devicetree helper macro now provides zero when the cell is not
present.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-08-27 15:59:03 +02:00
Anas Nashif
dca317c730 sanitycheck: inclusive language
change whitelist -> allow.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-08-27 07:04:07 -04:00
Henrik Brix Andersen
2afced9829 tests: drivers: spi: loopback: add support for arty_a7_arm_designstart_m1
Add support for running the SPI loopback driver test on the ARM
Cortex-M1 DesignStart FPGA reference design.

Since Xilinx AXI Quad SPI IP only supports loopback mode when configured
for single line SPI width, we utilise the (normally disabled) single SPI
instance going to the optional V2C DAPLINK shield SD card slot for
testing purposes.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2020-08-26 12:32:27 +02:00
Kwon Tae-young
b07c76fa68 tests: drivers: build_all: add dacx0508 dac driver
Add the DACx0508 DAC driver to the build_all drivers build test.

Signed-off-by: Kwon Tae-young <tykwon@m2i.co.kr>
2020-08-26 12:24:43 +02:00
Jamie McCrae
4cf1832fa8 drivers: sensors: sm351lt: Add new driver
Adds sm351lt magnetoresitive sensor driver.

Signed-off-by: Jamie McCrae <jamie.mccrae@lairdconnect.com>
2020-08-24 16:48:47 -05:00
Mahesh Mahadevan
fe2b393fff MXRT600: Add support for SPI
Enable access to the arduino pins on the mxrt600 evk board

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2020-08-24 16:19:12 -05:00
Henrik Brix Andersen
f7cfa7c38e tests: drivers: build_all: add mcp320x adc driver
Add the MCP320x ADC driver to the build_all drivers build test.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2020-08-21 14:31:40 -05:00
Hake Huang
3d0767c36e test: update counter test to support pit
update counter_basic_api to support kinetis PIT
update counter to support multi coutner driver

select PERIOD_TO_US by device name at runtime

Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
2020-08-21 14:27:59 -05:00
Peter Bigot
bf04c61f6e tests: gpio_basic_api: disconnect output in initial setup
One driver (mchp_xec) appears to have problems with setting the output
value before setting the direction, which can be caught if the order
of checks in the port setup function are reversed.  Reconfigure the
output to a non-output state before the second test to see if that
catches the problem.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-08-19 19:18:43 -04:00
Mahesh Mahadevan
47a00423ac MXRT600: Add support to run Basic GPIO test
Use Arduino pins A0 and A1

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2020-08-19 13:06:30 -05:00
Greg Leach
53cc12201e boards: Add BL653DVK support
Add support for the Laird Connectivity BL653 DVK

Signed-off-by: Greg Leach <greg.leach@lairdconnect.com>
2020-08-18 19:01:42 +02:00
Karol Lasończyk
74e48fad46 tests: adc: Add support for nRF21540DK in the ADC test
Add nRF21540 board to the ADC test to prevent compilation issues.

Signed-off-by: Karol Lasończyk <karol.lasonczyk@nordicsemi.no>
2020-08-17 13:40:18 -04:00
Greg Leach
e44f04d4f9 boards: Add BT510 support
Add support for the Laird Connectivity BT510 sensor

Signed-off-by: Greg Leach <greg.leach@lairdconnect.com>
2020-08-14 12:58:03 -05:00
Alexandre Bourdiol
4f34d90c8c tests: drivers: gpio: gpio_basic_api: add some STM32 boards overlay
Add overlay for boards:
* nucleo_f429zi
* nucleo_g474re
* nucleo_l152re
* nucleo_l4r5zi
* stm32f3_disco
* nucleo_f091rc
* nucleo_l073rz

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2020-08-14 18:07:06 +02:00
Peter Bigot
6ecfe3eba1 tests: i2c_slave_api: overhaul test implementation
Make the expected data buffers immutable to ensure that the test isn't
modifying them.

Improve clarity by using defines for the two devicetree nodes rather
than repeating the DT_INST() retrieval.

Clean up the naming and diagnostics to more clearly associate the
device label, I2C bus, and I2C address with either EEPROM instance 0
or 1.  Replace the base 1 numbering in some diagnostics.

Document why a device nominally on one bus is being accessed from
another bus.  Return error values from helper functions rather than
invoking ztest failure code so the calling context can provide a
better description of what went wrong.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-08-13 11:49:12 +02:00
Peter Bigot
d61dbe34af tests: i2c_slave_api: document test requirements and design
Provide a little more detail on how this test works and the fixture
required to make it pass.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-08-13 11:49:12 +02:00
Peter Bigot
8d147b5588 tests: i2c_slave_api: add nucleo_l476rg as supported test platform
Add the EEPROM devices to the buses and document which pins must be
shorted to run the test.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-08-13 11:49:12 +02:00
Peter Bigot
90b0c95a87 tests: i2c_slave_api: add node labels to devicetree
The test currently identifies devices by instance number, which is not
guaranteed to be constant across builds.  Add node labels so the test
can be updated to use a more permanent node identifier.

Also remove insensitive (and misleading) terminology in the node
labels.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-08-13 11:49:12 +02:00
Peter Bigot
cabbd916cf drivers: move eeprom_slave driver to tests directory
This device isn't an actual hardware driver: it's a virtual EEPROM
that stores data in an instance-specific RAM buffer, with the data
exposed on an I2C bus as a I2C follower (slave) device that can be
controlled by another device acting as a leader (master) on that same
bus.

As such it's a reasonable example of how to write an I2C follower
driver, but it's not clear that it has a real use in applications.  A
Zephyr application that needs to emulate an EEPROM in a real-world
system would be unlikely to provide its data from a RAM buffer.

The sole in-tree reference is in the i2c_slave_api test, so move the
driver implementation into that test.

The Kconfig and hierarchy are being left in place until it is more
clear how this functionality should be selectable within Zephyr.  The
I2C_SLAVE symbol has been converted from menuconfig to config to
eliminate a Kconfig style diagnostic.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-08-13 11:49:12 +02:00
Kumar Gala
e4c42c24d0 tests: dac_loopback: Exclude building on arduino_zero
The test isn't supported on arduino_zero currently so don't try and
build it there.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-08-12 16:09:19 -05:00
Tomasz Bursztyka
98d9b01322 device: Apply driver_api/data attributes rename everywhere
Via coccinelle:

@r_device_driver_api_and_data_1@
struct device *D;
@@
(
D->
-	driver_api
+	api
|
D->
-	driver_data
+	data
)

@r_device_driver_api_and_data_2@
expression E;
@@
(
net_if_get_device(E)->
-	driver_api
+	api
|
net_if_get_device(E)->
-	driver_data
+	data
)

And grep/sed rules for macros:

git grep -rlz 'dev)->driver_data' |
	xargs -0 sed -i 's/dev)->driver_data/dev)->data/g'

git grep -rlz 'dev->driver_data' |
	xargs -0 sed -i 's/dev->driver_data/dev->data/g'

git grep -rlz 'device->driver_data' |
	xargs -0 sed -i 's/device->driver_data/device->data/g'

Fixes #27397

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2020-08-11 19:30:53 +02:00
Tomasz Bursztyka
af6140cc0d device: Apply config_info rename everywhere
Via coccinelle:

@r_device_config@
struct device *D;
@@

D->
-	config_info
+	config

And 2 grep/sed rules for macros:

git grep -rlz 'dev)->config_info' |
	xargs -0 sed -i 's/dev)->config_info/dev)->config/g'

git grep -rlz 'dev->config_info' |
	xargs -0 sed -i 's/dev->config_info/dev->config/g'

Fixes #27397

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2020-08-11 19:30:53 +02:00
Alexandre Bourdiol
7aead7300a tests: drivers: spi: spi_loopback: add nucleo_l4r5zi support
nucleo_l4r5zi add spi loopback support

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2020-08-10 12:16:30 +02:00
Alexandre Bourdiol
3eeb384189 tests: drivers: spi: spi_loopback: add nucleo_g474re support
nucleo_g474re add spi loopback support

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2020-08-10 12:16:30 +02:00
Alexandre Bourdiol
5c1223d45d tests: drivers: spi: spi_loopback: add stm32f3_disco support
stm32f3_disco add spi loopback support

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2020-08-10 12:16:30 +02:00
Alexandre Bourdiol
ed61d1ed06 tests: drivers: spi: spi_loopback: add nucleo_f103rb support
nucleo_f103rb add spi loopback support

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2020-08-10 12:16:30 +02:00
Alexandre Bourdiol
988fb96d71 tests: drivers: spi: spi_loopback: add nucleo_f746zg support
nucleo_f746zg add spi loopback support

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2020-08-10 12:16:30 +02:00
Alexandre Bourdiol
3635cda076 tests: drivers: spi: spi_loopback: add nucleo_f429zi support
nucleo_f429zi add spi loopback support

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2020-08-10 12:16:30 +02:00
Alexandre Bourdiol
59d05e67f0 tests: drivers: spi: spi_loopback: add fixture spi_loopback
Add fixture spi_loopback.

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2020-08-10 12:16:30 +02:00
Flavio Ceolin
e227f5ba13 tests: clock_control: Check return error
clock_control_off returns a negative value on error. Check it properly.

Fixes #27329

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2020-08-06 18:56:37 -04:00
Gerson Fernando Budke
7915f5e1e5 tests: drivers: build_all: Add cs-gpios entries for spi tests
The spi tests are not running because test_spi at app.overlay doesn't
have cs-gpios entry.  Add cs-gpios definition with one phandle for
every device defined at spi.dtsi.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2020-08-06 11:54:06 +02:00
Gerson Fernando Budke
5f3362511b tests: drivers: build_all: Fix bus address sequency
The test_spi_enc28j60 have a duplicated address at spi.dtsii file.
Add proper value for enc28j60 instance and fix address the sequency.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2020-08-06 11:54:06 +02:00
Greg Leach
41da0769c1 sensor: Add Silabs SI7055 support
Add support for the Silabs SI7055 temperature sensor

Signed-off-by: Greg Leach <greg.leach@lairdconnect.com>
2020-08-05 14:50:52 -05:00
Anas Nashif
c050c8777c tests: dac: remove whitelist
We already depend on dac.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-07-30 08:00:03 -04:00
Tomasz Bursztyka
858ac4d9ba tests: ipm: Apply IPM callback signature change
Provide the IPM device pointer to the callback.

Fixes #26923

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2020-07-30 09:51:51 +02:00
Tomasz Bursztyka
d99c59ead1 tests: Align all drivers using user_data for callback
s/callback_arg/user_data

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2020-07-30 09:48:00 +02:00
Tomasz Bursztyka
fe71673167 tests: Apply DMA callback change to relevant tests
Now the dma device instance is passed as parameter to the callback.

Fixes #26923

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2020-07-30 09:48:00 +02:00
Tomasz Bursztyka
7d1af02410 uart: Fix uart_irq_callback_set usage
It was already using uart_irq_callback_user_data_set below, now it also
uses uart_irq_callback_user_data_t as callback type, so let's normalize
the callbacks.

Fixes #26923

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2020-07-30 09:43:12 +02:00
Tomasz Bursztyka
4c78d0e35b tests: uart: Fix uart_callback_set usage
The device pointer is now provided to the callback, there is no need to
call uart_callback_set() with the device being set a user data.

Fixes #26923

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2020-07-30 09:43:12 +02:00
Peter Bigot
cb5e45c884 tests: wdt_basic_api: pass when requested test is not supported
Not all watchdog devices support a warning callback before reset.  If
the driver refuses to accept that configuration record the test as
having passed.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-07-29 08:13:38 -04:00
Michael Hope
6f45a56905 boards: arm: enable and document preipherals on the ItsyBitsy M4
Now that the patches have landed, enable more of the peripherals on
the board.

In particular:

* Enable PWM on the LED
* Enable the SPI, USB, and DMA
* Enable the bootloader support
* Add to the PWM and SPI tests
* Call these out in supported.yaml

Signed-off-by: Michael Hope <mlhx@google.com>
2020-07-28 10:29:48 -05:00
Anas Nashif
0798b85d1c tests: remove obsolete doxygen boilerplate
An old doxygen biolerplate was being copied all over the tests. The
defined groups are not being used anywhere and it does not follow how we
document tests for example in the kernel and other places.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-07-28 08:14:23 -05:00
Filip Zajdel
33eabf6fc7 drivers: counter: Add native_posix counter hardware model and driver
Adds native_posix hw counter model and the counter driver.
Functionality is needed by software which is tested
on native_posix and has dependency on counter.
Hardware model was developed similarly to HW timer model.
The counter driver wraps HW counter functions and exposes
basic functionalities: starting, stopping, setting and cancelling
single channel alarms.
Code was tested against: tests/drivers/counter/counter_basic_api.

Signed-off-by: Filip Zajdel <filip.zajdel@nordicsemi.no>
2020-07-27 13:25:50 +02:00
Josep Puigdemont
7cafe7e74b boards: arm: olimex stm32-h103: Add board
The Olimex STM32-h103 is a development board based on the STM32F103RB,
very similar to the stm32_mini, which was used as a reference for the
pinmux configuration.

Signed-off-by: Josep Puigdemont <josep.puigdemont@gmail.com>
2020-07-24 14:48:07 +02:00
Simon Glass
ee34aced6a sensor: max17055: Add MAX17055 driver
Add support for the Maxim MAX17055 fueld-gauge sensor.

Signed-off-by: Simon Glass <sjg@chromium.org>
2020-07-23 12:12:09 -04:00
Hake Huang
30ce64d543 test: dma: avoid useing flash as dma source address
avoid to use the flash address as dma source,
to avoid flash cache issue
this is fix to issue #26812

Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
2020-07-20 18:01:04 -05:00