Commit Graph

10384 Commits

Author SHA1 Message Date
Vinayak Kariappa Chettimada
4f8b3fa116 tests: bsim: Bluetooth: Add BT_TICKER_EXT_EXPIRE_INFO coverage
Extend tests to cover use of BT_TICKER_EXT_EXPIRE_INFO
feature.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2023-05-05 12:26:31 +02:00
Adam Wojasinski
0caa249f90 tests: boards: nrf52_bsim: egu: Replace obsolete timer frequency API
New nrfx release removes depricated `nrf_timer_frequency_set()`
function. Instead of it `nrf_timer_prescaler_set` is used with
`NRF_TIMER_PRESCALER_CALCULATE()` and `NRF_TIMER_BASE_FREQUENCY_GET()`
macros.

Signed-off-by: Adam Wojasinski <adam.wojasinski@nordicsemi.no>
2023-05-05 11:47:53 +02:00
Adam Wojasinski
beb7313fc4 drivers: clock_control_nrf: Align LF clock sources symbols to new nrfx
New nrfx release brings change of Low frequency sources symbols
in nrf_clock hal to uppercase. This commit aligns all occurrences.

Signed-off-by: Adam Wojasinski <adam.wojasinski@nordicsemi.no>
2023-05-05 11:47:53 +02:00
Emil Gydesen
6b817bcc15 tests: Bluetooth: Audio: Enable EATT for bsim tests
Enable EATT for the LE Audio BSIM tests.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-05-05 11:26:11 +02:00
Alberto Escolar Piedras
b10817ba25 tests: timer cycle64: Fix filtering for POSIX arch
This test was excluding and including only
the native_posix board, while it should have instead
excluded/allowed anything in the architecture.
=> Change the filtering accordingly.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-05-04 16:48:01 -04:00
Alberto Escolar Piedras
d22a343887 tests: Use posix arch exclude where appropriate
Some tests were filtering by explicitly listing
all posix arch boards.
Filter by the arch instead.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-05-04 16:48:01 -04:00
Alberto Escolar Piedras
4b484051be tests/drivers modem: Add tag modem to ease filtering
Add the "modem" tag, which is already used in other
tests/samples using modems drivers, to ease filtering
of the modem drivers tests if somebody so desires.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-05-04 20:50:11 +02:00
Alberto Escolar Piedras
af3b55f04c tests/drivers/nrf_rtc_timer: Fix for nrf52_bsim
Break two busy wait loops with a Z_SPIN_DELAY
(busy_wait() conditionally compiled for the posix arch)
so this test can also be run in the nrf52_bsim.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-05-04 20:50:11 +02:00
Laczen JMS
d496a17bb6 flash_simulator: add ability to use memory region
Add the ability for the flash simulator to store its contents in a
memory region.

This allows filesystems on the flash simulator to survive a reboot.
And allows subsystems (e.g. coredump) to store their info on ram while
using the (existing) flash partition backend.

Add a example (for nucleo_f411re) that shows how to configure the flash
simulator for hardware (cfg discussion #54166).

Signed-off-by: Laczen JMS <laczenjms@gmail.com>
2023-05-04 20:49:57 +02:00
Gerard Marull-Paretas
84fd4e671f drivers: sensor: ntc_thermistor: add support for generic NTC
Add support for a generic NTC, `ntc-thermistor-generic`. In this case,
the compensation table is provided via devicetree. Note that DT property
is prefixed with `zephyr,`, because while hardware related, it is linked
to a particular software implementation.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2023-05-04 20:49:48 +02:00
Gerard Marull-Paretas
44f48f6da7 drivers: sensor: zephyr_thermistor: refactor driver
Refactor driver to align a bit more with its Linux counterpart, ie,
ntc_thermistor. This driver did quite a few _unconventional_ things,
like using "zephyr," compatibles, a dedicated node for pre-computed
compensation table (referenced by the actual pseudo-device node), etc.
The comparison helper function should likely be simplified as well (to
avoid the need for custom wrapper for bsearch), but this can be done
later.

In this refactor, each thermistor gets a compatible, e.g. "epcos,xxxx".
Compatibles are known by the driver, so are compensation tables. This
simplifies devicetree files. There's no need to bother about
compensation tables in **every** board file if Zephyr supports a certain
NTC model.

In general we should respect Linux bindings, which in the end influence
how drivers are implemented. In this case, this principle resulted in
simplified, easier to use code.

For future developers, this is how support for a new NTC can be added:

1. Add to the end of the driver:

```c
 #undef DT_DRV_COMPAT
 #define DT_DRV_COMPAT vnd_model

 static __unused const struct ntc_compensation comp_vnd_model[] = {
     { x, y },
     ...,
 };

 #define DT_INST_FOREACH_STATUS_OKAY_VARGS(NTC_THERMISTOR_DEV_INIT,
                                           DT_DRV_COMPAT, comp_vnd_model)
```
3. In driver's Kconfig make sure it depends on
   DT_HAS_$DT_DRV_COMPAT$_ENABLED

Note: $X$ means _value_ of X.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2023-05-04 20:49:48 +02:00
Gerard Marull-Paretas
c60e4ec989 drivers: sensor: zephyr_thermistor: align connection type with Linux
It looks like the Zephyr thermistor driver bindings were half-copied
from Linux ntc-thermistor. Zephyr principle is to maintain compatibility
with Linux, when possible, so there's no reason to deviate here. Convert
the connection type from a custom enum to a boolean, as Linux does.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2023-05-04 20:49:48 +02:00
Benedikt Schmidt
e7bb5d2aea tests: drivers: adc: add ADS114S08
Add the ADS114S08 to the ADC tests.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2023-05-04 10:47:56 +02:00
Erik Brockhoff
44df982d0b Bluetooth: controller: disallow enc start/pause when CIS established
Start/pause encryption should not be initiated on ACL with CIS
established (BT Core Spec 5.4, Vol 6, Part B, Sect. 5.1.3)
Adding test for the added procedure peek function

Signed-off-by: Erik Brockhoff <erbr@oticon.com>
2023-05-04 10:47:37 +02:00
Mariusz Skamra
229d049d4d tests: Bluetooth: ascs: Add sink/source ASE only test variants
This adds tests to test Sink/Source only build configurations.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-05-03 15:11:27 +02:00
Mariusz Skamra
49b6684dbb tests: Bluetooth: ascs: Add invalid ASE state transition tests
This verifies whether implementation rejects invalid ASE Operation
in given state.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-05-03 15:11:27 +02:00
Mariusz Skamra
748b062c15 tests: Bluetooth: ascs: Fix missing bt_bap_stream_start call
Calling bt_bap_stream_start moves the ASE to streaming state.
If the function is not called the Sink ASE stays in enabling state.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-05-03 15:11:27 +02:00
Kumar Gala
bae0a5b8b6 logging: Use TYPE_SECTION macros for log const
Clean up log_const to utilize macros for handling sections.

Update database_gen.py to match naming convention change.

Signed-off-by: Kumar Gala <kumar.gala@intel.com>
2023-05-03 10:43:31 +02:00
Jonathan Rico
fb10381328 Bluetooth: iso: use kconfig for userdata size
Use BT_CONN_TX_USER_DATA_SIZE when defining pools of buffers that will go
through `bt_conn_send_cb()`.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2023-05-03 10:02:44 +02:00
Aleksandr Khromykh
5bd41f6b6f tests: Bluetooth: Mesh: run bsim mesh tests from non-preemtible thread
BLE Mesh stack has been designed to work in non-preemtible
environment. The PR fixes running bsim mesh test from main thread
that is preemptible. Running mesh tests causes reentering in the
same mesh functionality twice and rewriting ongoing data.

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
2023-05-02 13:25:40 -04:00
Mahesh Mahadevan
b26eb63e88 tests: tickless_concept: Fix failures seen on NXP RT595
Add the os_timer as a wakeup source so we can exit
deep-sleep modes.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2023-05-02 16:56:48 +02:00
Andriy Gelman
662f48a45b tests: drivers: adc_api: Add copyright header to xmc45_relax_kit
Add missing copyright header.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2023-05-02 12:34:55 +02:00
Andriy Gelman
e4d753ba4d tests: drivers: spi_loopback: Adds xmc47_relax_kit overlay/conf
Adds overlay and conf to run the test on xmc47_relax_kit.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2023-05-02 12:34:55 +02:00
Andriy Gelman
5fd71e35a1 tests: drivers: uart_async_api: Add xmc47_relax_kit overlay/conf
Adds overlay and conf files to run the test with the xmc47_relax_kit.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2023-05-02 12:34:55 +02:00
Andriy Gelman
f8f09300c1 boards: arm: Add xmc47_relax_kit
Adds Infineon xmc47_relax_kit board.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2023-05-02 12:34:55 +02:00
Henrik Brix Andersen
ef3d01d16f test: drivers: can: move build-only tests to proper location
Move the build-only test for the MCP2515 CAN controller driver to the
tests/drivers/build_all/can/ folder.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-05-01 09:30:42 -05:00
Yuval Peress
3fd0a1508b rtio: fix bug in mempool release API
It was previously assumed that the 'sys_mem_blocks' struct would maintain
information about contiguous blocks allocated so the release API only
took the starting address. This led to an issue where allocating 2+
blocks would end up with a memory leak because any block not being the
first would never be released.

Add the buffer length as an argument so the correct number of blocks can
be released. Also, ammend the tests to match and verify.

Signed-off-by: Yuval Peress <peress@google.com>
2023-05-01 09:26:06 -05:00
Chris Friedt
bacc8d9293 tests: drivers: dma: chan_blen: correct nodelabel filter
When attempting to add a new platform and run the suite with
`twister`, it seemed to be resulting in being statically
filtered-out. Likely, the correct filter is `test_dma0`,
assuming that `test_dma*` nodes should be enumerated starting
at 0.

Verified the fix by adding `dma` as `supported` to
`boards/arm64/bcm958402m2_a72/bcm958402m2_a72.yaml` and by
adding the `test_dma0` node to
`chan_blen_transfer/boards/bcm958402m2_a72.overlay`.

Signed-off-by: Chris Friedt <cfriedt@meta.com>
2023-05-01 09:26:58 -04:00
Chris Friedt
59b69b917d tests: drivers: dma: sg: support 64-bit dma
The test does not appear to support 64-bit DMA
* mitigate compiler warning
* support 64-bit addressing mode with `CONFIG_DMA_64BIT`

Signed-off-by: Chris Friedt <cfriedt@meta.com>
2023-05-01 09:26:58 -04:00
Chris Friedt
8c6c96715f tests: drivers: dma: loop: support 64-bit dma
The test does not appear to support 64-bit DMA
* mitigate compiler warning
* support 64-bit addressing mode with `CONFIG_DMA_64BIT`

Signed-off-by: Chris Friedt <cfriedt@meta.com>
2023-05-01 09:26:58 -04:00
Chris Friedt
7f6d976916 tests: drivers: dma: chan_link: support 64-bit dma
The test does not appear to support 64-bit DMA
* mitigate compiler warning
* support 64-bit addressing mode with `CONFIG_DMA_64BIT`

Signed-off-by: Chris Friedt <cfriedt@meta.com>
2023-05-01 09:26:58 -04:00
Chris Friedt
5afcac5e14 tests: drivers: dma: chan_blen: support 64-bit dma
The test does not appear to support 64-bit DMA
* mitigate compiler warning
* support 64-bit addressing mode with `CONFIG_DMA_64BIT`

Signed-off-by: Chris Friedt <cfriedt@meta.com>
2023-05-01 09:26:58 -04:00
Christopher Friedt
12ed08a2fb tests: posix: pthread: remove unused pthread return value
Rather than pass an variable address to a `void *` in
`pthread_join()` and do nothing with it, just pass `NULL`.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-04-29 16:53:59 -04:00
Christopher Friedt
7c17bda3c2 tests: posix: pthread: init pthread_attr_t on each iteration
The `test_pthread_descriptor_leak` test was causing a kernel
panic on some platforms. Initially, it was not clear why.

The usual cases were examined - race conditions, stack sizes,
etc. Still no luck.

As it turns out, recycling a thread stack (or at least the
`pthread_attr_t`) in-place does not work on some platforms,
and we need to reinitialize the `pthread_attr_t` and set
set the stack property again prior to calling
`pthread_create()`.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-04-29 16:53:59 -04:00
Chris Friedt
27c25e9b42 tests: posix: test support for SCHED_OTHER
Ensure we test `SCHED_OTHER` functionality along with other
scheduling policies and priorities.

Signed-off-by: Chris Friedt <cfriedt@meta.com>
2023-04-29 13:14:40 -07:00
Chris Friedt
ad71b78770 tests: posix: ensure that min and max priority are schedulable
Verify that threads are actually schedulable for min and max
scheduler priority for both `SCHED_RR` (preemptive) and
`SCHED_FIFO` (cooperative).

Fixes #56729

Signed-off-by: Chris Friedt <cfriedt@meta.com>
2023-04-29 13:14:40 -07:00
Robert Lubos
d0746a9a4f tests: net: mld: Add test case for NET_IF_IPV6_NO_MLD flag
Verify that no MLD messages are sent when NET_IF_IPV6_NO_MLD is set on
an interface.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-04-29 12:24:49 +02:00
Robert Lubos
61e5ce9cf4 tests: net: ipv6: Add test case for NET_IF_IPV6_NO_ND flag
Verify that no ND messages are sent when NET_IF_IPV6_NO_ND is set on
an interface.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-04-29 12:24:49 +02:00
Kumar Gala
340ed20c12 samples, tests: cleanup void main usage.
Some samples, tests got missed in the switch from void main() to
int main().  Cleanup those samples/tests to use int main().

Signed-off-by: Kumar Gala <kumar.gala@intel.com>
2023-04-28 20:39:14 +02:00
Alberto Escolar Piedras
e1fabfa9a4 bsim: cmake: Remove unnecessary references to environment
These variables are now provided by the FindBabbleSim
cmake module, which finds them in the environment or thru
west.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-04-28 20:38:48 +02:00
Gerard Marull-Paretas
054bb26cc5 drivers: regulator: add regulator_common_is_init_enabled
Some driver may need this information to implement a proper early
initialization procedure.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2023-04-28 20:38:17 +02:00
Marc Desvaux
d7a3585d45 test: posix: getopt: boards : add nucleo_c031c6.conf
add boards/nucleo_c031c6.conf with
CONFIG_NEWLIB_LIBC_MIN_REQUIRED_HEAP_SIZE=4096
to avoid twister issue due to a too low heap size on the co31c6

Signed-off-by: Marc Desvaux <marc.desvaux-ext@st.com>
2023-04-28 20:37:24 +02:00
Marc Desvaux
4b68ec2d39 test: lib: newlib:- heap_listener: boards : add nucleo_c031c6.conf
add boards/nucleo_c031c6.conf with
CONFIG_NEWLIB_LIBC_MIN_REQUIRED_HEAP_SIZE=4096
to avoid twister issue due to a too low heap size on the co31c6

Signed-off-by: Marc Desvaux <marc.desvaux-ext@st.com>
2023-04-28 20:37:24 +02:00
Marc Desvaux
9710b265fc test: lib: cbprintf_fp: boards : add nucleo_c031c6.conf
add boards/nucleo_c031c6.conf with
CONFIG_NEWLIB_LIBC_MIN_REQUIRED_HEAP_SIZE=4096
to avoid twister issue due to a too low heap size on the co31c6

Signed-off-by: Marc Desvaux <marc.desvaux-ext@st.com>
2023-04-28 20:37:24 +02:00
Emil Gydesen
c7778963fb tests: Bluetooth: CAP: Fix CAP initiator guard that should be source
Fixed a guard that should have been BROADCAST_SOURCE instead
of BROADCAST_SINK.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-04-28 10:31:19 -05:00
Aaron Massey
07ee466591 emul: Migrate all emulation use to use DT_HAS_
Remove all enabling of CONFIG_EMUL_.* in favor of automatically enabling
peripheral emulators based on the compatible string presence in the device
tree and the one true CONFIG_EMUL.

Zephyr has long since moved to a model of enabling drivers based on the
presence of their associated IC's compatible string in the final devicetree
overlay. There is no reason that emulators can't align in just the same
way, and probably ought to to remove superfluous enabling of configs.

Signed-off-by: Aaron Massey <aaronmassey@google.com>
2023-04-28 08:37:33 -05:00
Magdalena Kasenberg
fc0a0c5bfb bluetooth: tester: Remove overlay for leaudio tests on nrf52
Prime target for LE Audio testing is nRF53.

Signed-off-by: Magdalena Kasenberg <magdalena.kasenberg@codecoup.pl>
2023-04-28 14:49:35 +02:00
Lucas Tamborrino
068d63d804 tests: dac: dac_api: add esp_wrover_kit overlay
Add support for esp_wrover_kit board in dac test.

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
2023-04-28 14:49:08 +02:00
Lucas Tamborrino
631423bc8e tests: adc: adc_api: add esp_wrover_kit overlay
Add support for esp_wrover_kit board in adc test.

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
2023-04-28 14:49:08 +02:00
Alberto Escolar Piedras
1bcffb2a45 tests bsim: Do not check for the simulator in apps cmake files
Let the board check for it instead, as it now does it
smarter and can try to find it using west if it was
fetched with the Zephyr manifest.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-04-28 13:57:21 +02:00