Switch from native_posix to native_sim as default test platform
And switch overlays to native_sim.
For gpio_enable_disable_interrupt, also filter with
platform_allow to save time, as the dt filter requires cmake
to be run, but only the platforms with overlays provided
by the test can be run.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Add a few tests that expect at most one interrupt being triggered when
configuring a GPIO output in two scenarios:
1. From just after booting
2. After another configuration of the same values
Due 1., this patch adds the tests to run before any other tests in the
gpio_basic_api test suite.
Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
Use the same pins as when testing with SIUL2 EIRQ interrupt
controller, but instead test routing the external interrupts
to WKPU controller.
Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
When configuring in/out pins for callback tests, pass the GPIO flags
coming from the in/out-gpios respective nodes.
Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
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>
This follows the same convention that has already been adopted by Intel
Alder Lake and Raptor Lake boards.
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
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>
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>
Add DT and kconfig overlays for the nrf52_bsim so this test can be run
in this board too.
This simulated board supports short-circuiting pins
either programmatically or thru configuration files,
but it does not support a pull in an input being able to drag
a non driven output, so we need to skip the pull test.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Some boards configuration may not support the pulls test
even if the underlaying SOC driver does support the feature.
Add the option to skip that test.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Twister now supports using YAML lists for all fields that were written
as space-separated lists. Used twister_to_list.py script. Some artifacts
on string length are due to how ruamel dumps content.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
The below is the unit test result for the driver and kernel of
it82xx2_evb board.
GPIO/gpio_basic_api: PASS
I2C/i2c_api: PASS
Flash: PASS
UART/uart_basic_api: PASS
PWM/pwm_api: PASS
WDT/wdt_basic_api: PASS
KSCAN/kscan_api: PASS
kernel/sched/schedule_api: PASS
kernel/sched/preempt: PASS
kernel/timer/timer_api: PASS
kernel/sleep: PASS
ADC/adc_api: PASS.
ADC note: conversion time~=61.6us
sample time delay~=60us
wait voltage stable time~=202.8us
Set sampling time to 500us will pass for ADC test.
Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
Add support for the following boards:
- esp32s2_saola
- esp32c3_devkitm
- esp32s3_devkitm
Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
Microchip XEC devices specify GPIO pin using octal numbering and
organize pins in banks of 32. Chip documentation does not use
bank naming rather naming each pin by its octal number. This has
led to the developer having to calculate the bit position of a pin
in its 32-bit bank when a specifying the pin for GPIO usage. We
created a set of defines for all possible GPIO pins that specify
the DT GPIO bank name used in the chip level DTSI files and the
bit position in that bank.
Signed-off-by: Jay Vasanth <jay.vasanth@microchip.com>
This is a follow-up to commit 25d7a09aa5.
The arduino_serial/uart1 node should not be enabled by default because
even if an application does not use it, the default CONFIG_SERIAL=y
setting causes that it is anyway initialized, so the UARTE peripheral
acquires its assigned pins (and they cannot be used in other way) and
its enabled receiver causes increased current consumption (by ~500 uA)
when the CPU is sleeping. This affects e.g. the boards/nrf/system_off
sample.
Applications that actually need to use this UART or shields that use
the arduino_serial node should enable the node explicitly.
Keep this node disabled by default for the nrf52840dk_nrf52840 board
and also for boards whose definitions are mostly copies of the above:
nrf52833dk_nrf52833 and nrf21540dk_nrf52840.
Update also accordingly a few overlay files in tests/ that were
disabling this node because of the pins it undesirably acquired.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
The macro has been deprecated and about to be removed. Since there are
no in-tree usages, it is safe to ignore/remove it.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Add support to run the test on NXP S32Z27, the wiring connection
is needed as describe in overlay file
Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
There are some erros in previous ztest API migration of
the gpio_basic_api tests. Fix the incorrect testsuite
name of the callback mgmt and vari tests.
Fixes: #49953
Signed-off-by: Enjia Mai <enjia.mai@intel.com>
Fixes#47921
When setting a GPIO to certain value, and then get the GPIO value, on some
platforms, such as ITE, these two values may not be the same. For example
setting GPIO_OUTPUT | GPIO_OUTPUT_INT_HIGH, it will read back
GPIO_OUTPUT | GPIO_OUTPUT_INT_HIGH | GPIO_VOLTAGE_3P3. This is as expected,
as GPIO_VOLTAGE is a read only property. So when comparing the gpio set
and get values, it is necessary to filter the read only bits first and
then compare to the set value.
Signed-off-by: Hu Zhenyu <zhenyu.hu@intel.com>
As of today <zephyr/zephyr.h> is 100% equivalent to <zephyr/kernel.h>.
This patch proposes to then include <zephyr/kernel.h> instead of
<zephyr/zephyr.h> since it is more clear that you are including the
Kernel APIs and (probably) nothing else. <zephyr/zephyr.h> sounds like a
catch-all header that may be confusing. Most applications need to
include a bunch of other things to compile, e.g. driver headers or
subsystem headers like BT, logging, etc.
The idea of a catch-all header in Zephyr is probably not feasible
anyway. Reason is that Zephyr is not a library, like it could be for
example `libpython`. Zephyr provides many utilities nowadays: a kernel,
drivers, subsystems, etc and things will likely grow. A catch-all header
would be massive, difficult to keep up-to-date. It is also likely that
an application will only build a small subset. Note that subsystem-level
headers may use a catch-all approach to make things easier, though.
NOTE: This patch is **NOT** removing the header, just removing its usage
in-tree. I'd advocate for its deprecation (add a #warning on it), but I
understand many people will have concerns.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Many device pointers are initialized at compile and never changed. This
means that the device pointer can be constified (immutable).
Automated using:
```
perl -i -pe 's/const struct device \*(?!const)(.*)= DEVICE/const struct
device *const $1= DEVICE/g' **/*.c
```
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
When the CONFIG_GPIO_GET_CONFIG is set, even if the driver does not
provide the pin_get_config function, it is supposed to return -ENOSYS
error code (see zephyr/include/zephyr/drivers/gpio.h)
The testcase should accept this code and PASS.
(ENOTSUP is not the right value to check).
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Remove the calls to configure the pinmux for GPIO for the RV32M1. These are
no longer needed after 9ba953d13a.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
Add a bunch of missing "zephyr/" prefixes to #include statements in
various test and test framework files.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Now that gpio drivers are enabled based on devicetree we can remove
any cases of them getting enabled by *defconfig and proj.conf files.
Signed-off-by: Kumar Gala <galak@kernel.org>
"dev" is already defined as a static variable,
it should not be redefined locally
Fix regression introduced by commit
2a8e3fe82d
Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
Move to use DEVICE_DT_GET instead of device_get_binding as
we work on phasing out use of DTS 'label' property.
Signed-off-by: Kumar Gala <galak@kernel.org>
This commit changes the pin assignment for the gpio_basic_api
test case because A0 was conflicting with the testcase
tests/drivers/dac/dac_loopback.
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Enable testcases under tests/drivers/gpio/gpio_basic_api
To run in twister, "-X gpio_loopback" parameter is needed.
Signed-off-by: Yinfang Wang <yinfang.wang@intel.com>
Enable testcases under tests/drivers/gpio/gpio_basic_api
To run in twister, "-X gpio_loopback" parameter is needed
Signed-off-by: Hu Zhenyu <zhenyu.hu@intel.com>
In order to bring consistency in-tree, migrate all tests to the new
prefix <zephyr/...>. Note that the conversion has been scripted, refer
to #45388 for more details.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
LPC gpio driver now supports pinmux setting in gpio_pin_configure, so
remove the pinmux workaround for this platform in gpio_basic_api test.
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
Reserve the upper 8 bits of gpio_dt_flags_t for SoC specific flags and
move the non-standard, hardware-specific GPIO devicetree flags (IO
voltage level, drive strength, debounce filter) from the generic
dt-bindings/gpio/gpio.h header to SoC specific dt-bindings headers.
Some of the SoC specific dt-bindings flags take up more bits than
necessary in order to retain backwards compatibility with the deprecated
GPIO flags. The width of these fields can be reduced/optimized once the
deprecated flags are removed.
Remove hardcoded use of GPIO_INT_DEBOUNCE in GPIO client drivers. This
flag can now be set in the devicetree for boards/SoCs with debounce
filter support. The SoC specific debounce flags have had the _INT part
of their name removed since these flag must be passed to
gpio_pin_configure(), not gpio_pin_interrupt_configure().
Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
This patch adds GPIO and 96board LS (Low Speed)iexpansion connector
support for SiFive HiFive Unleashed and also enables GPIO basic test.
Signed-off-by: Katsuhiro Suzuki <katsuhiro@katsuster.net>
Add DT overlay to run gpio_basic_api test on GD32VF103V-EVAL board. In
order to make testing easy a couple of accessible pins have been
selected: PD0 and PD1 pins exposed via JP13 and JP4 respectively.
Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Remove the manual selection of `CONFIG_GPIO_EMUL` as it is now enabled
by default when devicetree nodes exist.
Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>