Commit graph

105,063 commits

Author SHA1 Message Date
Gerard Marull-Paretas
5715691562 samples: drivers: mbox: add support for nRF VEVIF
Add support for nRF VEVIF.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-03-05 16:50:36 +00:00
Gerard Marull-Paretas
caeedb4663 samples: drivers: mbox: misc cleanups/enhancements
- Include cleanup
- s/NET/REMOTE (remote core may have nothing to do with NET)
- Improved error reporting

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-03-05 16:50:36 +00:00
Gerard Marull-Paretas
d3624a2d4a samples: drivers: mbox: allow to enable RX/TX
This can be useful to provide multiple setups, eg unidirectional
ping-pong.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-03-05 16:50:36 +00:00
Gerard Marull-Paretas
b7378bbd14 samples: drivers: mbox: allow to configure RX/TX channels
By adding Kconfig options for both samples.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-03-05 16:50:36 +00:00
Gerard Marull-Paretas
78c40fe31b drivers: mbox: add initial driver for nRF VEVIF
Add a mailbox driver for VEVIF. The driver can be built in either
'local' or 'remote' configuration. This depends on the existence of the
'interrupts' property, which signals that the instance is managed
locally. VEVIF is, as expected, always managed by a VPR core.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-03-05 16:50:36 +00:00
Gerard Marull-Paretas
d23ea62be9 drivers: misc: nordic_vpr_launcher: initialize earlier
Set driver to initialize at early POST_KERNEL, so that we make sure
other future dependencies priorities (eg VEVIF) do not conflict.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-03-05 16:50:36 +00:00
Grzegorz Swiderski
ae21f7bab3 boards: nrf54h20pdk: Add default IPC configuration
Add `zephyr,ipc-icmsg*` nodes, with mboxes specified in a common file.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
Signed-off-by: Gerard Marull-Partetas <gerard@teslabs.com>
2024-03-05 16:50:36 +00:00
Grzegorz Swiderski
be5403fe65 boards: nrf54h20pdk_nrf54h20: Update memory map
Add IPC shared memory regions in the global RAM, as well as an enlarged
SRAM region for Application core.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2024-03-05 16:50:36 +00:00
Gerard Marull-Paretas
b823bacecb dts: nordic: nrf54h20_enga: add PPR VEVIF nodes
Add a new nodes for PPR's VEVIF. In app cores, VEVIF registers are part
of the VPR peripheral, so it is exposed as a child node (since it
requires its own properties, eg #mbox-cells). In VPR, it's a CPU child
since it's not a memory-mapped peripheral, but used with CSRs.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-03-05 16:50:36 +00:00
Gerard Marull-Paretas
d84e806c34 dts: bindings: mbox: add nordic,nrf-vevif-local|remote
Add a new binding for Nordic VEVIF (VPR Event Interface) (local and
remote modes).

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-03-05 16:50:36 +00:00
Laurentiu Mihalcea
8fec5f361c tests: devicetree: check L2 interrupt encoding
Add some assert statements meant to check if L2 interrupts
are encoded right when dealing with nodes that consume interrupts
from multiple aggregators. For this to work, also add another
interrupt controller node which extends a different L1 interrupt
from `test_intc`.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-03-05 16:50:18 +00:00
Laurentiu Mihalcea
3799e0f498 devicetree.h: switch to DT_IRQ_INTC_BY_IDX for L2 and L3 INTID encodings
Using `DT_IRQ_INTC()` to fetch the interrupt controller associated
with a node works well for nodes which consume interrupts from a
single aggregator. However, when specifying multiple (and different)
interrupt aggregators via the `interrupts-extended` property,
the L2 and L3 interrupts will no longer be encoded properly. This
is because `DT_IRQ_INTC(node_id)` uses `DT_IRQ_INTC_BY_IDX(node_id, 0)`
so all the interrupts will use the first aggregator as their parent.
To fix this, switch from using `DT_IRQ_INTC()` to `DT_IRQ_INTC_BY_IDX()`.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-03-05 16:50:18 +00:00
Laurentiu Mihalcea
fe4b559421 dts: bindings: nxp,edma: force dma-cells number to 2
To allow EDMA configuration with the help of the DT_INST_DMAS_*
and DT_DMAS_* macros, all that a consumer node needs to know
is which channel to configure and what MUX value needs to be
used. As such, this commit allows doing this by forcing the
dma-cells property to 2, each cell representing one of the
aforementioned properties.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-03-05 16:57:19 +01:00
Fin Maaß
1b76f828c9 tests: net: dhcpv4: add comments to sample packets
To make the content of the sample packets more more
understandable, comments describing it are added.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2024-03-05 10:22:21 -05:00
Matthias Breithaupt
2f84e7be83 tests: net: dhcpv4: tests for encapsulated vendor specific option callbacks
Add tests for the encapsulated vendor specific option callback API.
These test cases are focused on correct parsing of encapsulated
vendor specific options.
The sample DHCP messages have been extended accordingly.

Signed-off-by: Matthias Breithaupt <m.breithaupt@vogl-electronic.com>
Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
Co-authored-by: Fin Maaß <f.mass@vogl-electronic.com>
2024-03-05 10:22:21 -05:00
Fin Maaß
c148dc15fd net: dhcpv4: add vendor specific option callback
In certain scenarios, it may be necessary to get values of additional
options from the application layer. With this patch, this can be
accomplished by registering a callback with the DHCP client.

This change has been tested using the posix build in qemu.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2024-03-05 10:22:21 -05:00
Thomas PUJOLLE
4dae6623bc Bluetooth: BT_HCI_RESERVE set to 1 if BT_SILABS_HCI
Was previously causing execution errors due to default value 0

Signed-off-by: Thomas PUJOLLE <TPU24175@open-groupe.com>
2024-03-05 16:00:30 +01:00
Florian La Roche
e8b843b913 net: shell: keep event_mon_handler compatible to k_thread_entry_t
Nearly all other code places for k_thread_entry_t also keep
unused params in place to stay compatible with k_thread_entry_t.

Signed-off-by: Florian La Roche <Florian.LaRoche@gmail.com>
2024-03-05 14:58:29 +00:00
Lukasz Mrugala
621b621007 script: tests: Blackbox test expansion - report
Adds tests related to report flags:
*     --enable-size-report
*     --detailed-skipped-report

Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
2024-03-05 15:58:12 +01:00
Lukasz Mrugala
dc68b11432 scripts: tests: Blackbox test expansion - testlist
Adds tests related to the flags creating testlists:
* -E, --save-tests
* -F, --load-tests

Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
2024-03-05 15:57:25 +01:00
Lukasz Mrugala
8b1ef285cb scripts: tests: Move --quarantine-list test to test_quarantine.py
Brings the previously-created --quarantine-list test
to its test section file.

Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
2024-03-05 15:57:09 +01:00
Lukasz Mrugala
6ae873d4c2 scripts: tests: Blackbox test expansion - quarantine
Adds tests related to the quarantine flags:
*     --quarantine-verify

Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
2024-03-05 15:57:09 +01:00
Lukasz Mrugala
c0d6e9f29b scripts: tests: Blackbox test expansion - printouts
Adds tests related to the flags
creating alternate printouts instead of
running Twister tests:
* -z, --size

Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
2024-03-05 15:56:53 +01:00
Lukasz Mrugala
93a377e674 scripts: tests: Blackbox test expansion - outfile
Adds tests related to the changing of the output files:
* -c, --clobber-output
* -n, --no-clean
* -M, --runtime-artifact-cleanup
*     --short-build-path
*     --prep-artifacts-for-testing

Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
2024-03-05 15:56:04 +01:00
Lukasz Mrugala
600c4d8a45 scripts: tests: Blackbox test expansion - filter
Adds tests related to the flags
that filter the tests:
* -e, --exclude-tag
* -S, --enable-slow
*     --enable-slow-only

Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
2024-03-05 15:55:27 +01:00
Lukasz Mrugala
32f4c17374 scripts: tests: Blackbox test expansion - output
Adds tests related to the flags
that change the console outputs:
*     --detailed-test-ids
*     --no-detailed-test-ids
* -i, --inline-logs

Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
2024-03-05 15:54:13 +01:00
TOKITA Hiroshi
ca520f8493 drivers: display: Add LED-Strip matrix display driver
Adds a driver for a display of LED strips arranged in a grid.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@fujitsu.com>
2024-03-05 09:44:24 -05:00
Tom Burdick
0b980e1bae i2c: Add rtio support to mcux lpi2c driver
A seperate driver for NXP's LPI2C using RTIO and the I2C RTIO context
rather than semaphores, allowing for work to be done from any call
context at any time.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2024-03-05 09:43:38 -05:00
Tom Burdick
0dbc3d712c i2c: Use i2c_rtio context in sam twihs driver
Updates the sam twihs rtio driver to use a common i2c_rtio context
object and fixes a few logic issues currently in the driver in the
process.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2024-03-05 09:43:38 -05:00
Tom Burdick
bafac2c689 i2c: Add helpers and context for i2c rtio drivers
Implementing RTIO drivers, in theory, should be as simple as the normal
i2c drivers and generally be more consistent across implementations. To
do that some common code that calls driver specific code is needed much
like the venerable spi_context and its helpers.

This adds struct i2c_rtio as well as helpers to perform blocking i2c
transfers, i2c bus recovery, and similar such tasks.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2024-03-05 09:43:38 -05:00
Tom Burdick
bbe8833f25 i2c: Add submissions queue/completion queue bind
To enable per peripheral queue pool sizing options add some bindings to
the i2c controller to setup sq/cq pool sizing.

Its possible this could go away with a shared application pair of pools.

The shared pool would require some added function pointers though to
deal with the variants as the shared pools would need a lock.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2024-03-05 09:43:38 -05:00
Tom Burdick
e8b528321a i2c: Select rtio when I2C_RTIO is selected
Rather than a depends on, which leaves it up to every single usage
of I2C_RTIO to then go and select RTIO, by selecting I2C_RTIO Kconfig
inherently selects RTIO now.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2024-03-05 09:43:38 -05:00
Tom Burdick
ab590fdb28 rtio: Drop include for toolchain.h
It's not needed and was likely accidently automatically included by
clangd lsp at some point.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2024-03-05 09:43:38 -05:00
Tom Burdick
1fb449c9bc rtio: Align i2c flags with i2c.h flags
Aligns the flags in rtio.h for i2c with those in i2c.h

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2024-03-05 09:43:38 -05:00
Tom Burdick
4c8b1e2d1e rtio: Add I2C configure operation
In order to serialize all of the i2c functionality an added op code for
configuring the i2c controller was needed. Thankfully very simple.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2024-03-05 09:43:38 -05:00
Tom Burdick
1fd7de6ade rtio: Add support for i2c recovery command
Adds support for the i2c recovery operation as an opcode in RTIO

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2024-03-05 09:43:38 -05:00
Tom Burdick
c3a0ea02a7 i2c: Add a new API test using (f/s/nv)ram
RAM allows for very fast reads and writes and lets us explore most of
the I2C controller APIs including RTIO. Theoretically supports any form
of i2c connected RAM but requires some tweaking to work with specific
parts potentially. Tested with Fujitsu's MB85 FeRAM part using an
arduino breakout.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2024-03-05 09:43:38 -05:00
Andy Sinclair
a14abeb2e6 dts: bindings: regulator: Added regulator-boot-off to allowlists
Added regulator-boot-off to property-allowlist for adp5360, npm1300,
npm6001 and axp192.

Signed-off-by: Andy Sinclair <andy.sinclair@nordicsemi.no>
2024-03-05 09:43:17 -05:00
Andy Sinclair
16fdc4bc9f tests: drivers: regulator: added regulator-boot-off tests
Added tests for new regulator-boot-off property.

Signed-off-by: Andy Sinclair <andy.sinclair@nordicsemi.no>
2024-03-05 09:43:17 -05:00
Andy Sinclair
b46e2f3d8a drivers: regulator: fake: Added is_enabled property
Added is_enabled devicetree property to fake regulator.
Allows testing of init behaviour when regulator is enabled
in hardware.

Signed-off-by: Andy Sinclair <andy.sinclair@nordicsemi.no>
2024-03-05 09:43:17 -05:00
Andy Sinclair
977fc0c2ad drivers: regulator: common: Added regulator-boot-off
Added regulator-boot-off option to common regulator driver.

Signed-off-by: Andy Sinclair <andy.sinclair@nordicsemi.no>
2024-03-05 09:43:17 -05:00
Declan Snyder
686a132092 MAINTAINERS: Fix username typo on NXP MPU
dleach -> dleach02

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-03-05 09:42:14 -05:00
Sibert Declercq
8fc88a0ce7 tests: net: coap: add test for age wrap around
- Added a test to the CoAP testsuite for age wrap around
- Added test for `coap_age_is_newer`

Signed-off-by: Sibert Declercq <sibert.declercq@basalte.be>
2024-03-05 14:34:42 +01:00
Sibert Declercq
808f79d863 net: coap: CoAP observe age now correctly wraps around
Fixes two bugs:
* When a notify is executed before any observers are added, the age is
incremented from 0 to 1. When an observer is registered, the age is not 0
as expected, causing the age to be 1 instead of the expected 2
* The check if a message is newer than the last received one is described
in RFC7641, section 3.4. Simply incrementing age will not comply to what
the RFC describes once the value wraps around. This is now fixed

Signed-off-by: Sibert Declercq <sibert.declercq@basalte.be>
2024-03-05 14:34:42 +01:00
Laurentiu Mihalcea
a1188a96ff drivers: dai: sai: use TDR/RDR for fifo base address computation
Using the address of RDR/TDR for fifo base address computation
has the same effect as using the FSL_FEATURE_SAI_{TX/RX}_FIFO_BASEn
macro from NXP HAL. The only difference between the two is that
the macro is not defined for all SoCs so whenever we introduce
a new SoC that uses the SAI module we have to also introduce
the macro for said SoC. Using TDR/RDR has the advantage that
it doesn't require any additional changes to the NXP HAL.

Since we only support one data line per direction, it's fine
to just use RDR[0] and TDR[0] for the address computation.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-03-05 14:34:19 +01:00
Michal Smola
3bf61528cc twister: qemu: add QEMU support on Windows in twister
Twister does not support running tests on QEMU on Windows.
Add a new twister handler called QEMUWinHandler which supports running
tests on Windows. Enable running tests in testinstance, only if
QEMU_BIN_PATH environment variable exists on Windows.
Modify pytest test for testinstance to reflect the change in
runnability of QEMU on Windows.
Tested by running several Ztest and console harness tests.

Signed-off-by: Michal Smola <michal.smola@nxp.com>
2024-03-05 08:20:49 -05:00
Arkadiusz Cholewinski
0e2a25b066 ci: coverage: add coverage analysis reports
Extend codecov workflow to include coverage analysis.

Signed-off-by: Arkadiusz Cholewinski <arkadiuszx.cholewinski@intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-03-05 08:03:51 -05:00
Wojciech Slenska
d079701885 tracing: segger-sysview: fix compilation error
SEGGER_SYSVIEW_RecordU32 function takes only two parameters,
SEGGER_SYSVIEW_RecordU32x2 should be used instead.

Signed-off-by: Wojciech Slenska <wsl@trackunit.com>
2024-03-05 07:49:05 -05:00
Lukasz Mrugala
0db5d5194a scripts: tests: Blackbox test expansion - footprint
Adds tests related to report flags:
*     --compare-report
* -m, --last-metrics
* -D, --all-deltas
*     --footprint-threshold
*     --show-footprint
*     --footprint-from-buildlog

Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
2024-03-05 07:45:39 -05:00
Lukasz Mrugala
9d8600136d scripts: tests: Move blackbox config tests to test_config.py
Moved tests related to the test_config.yaml files to test_config.py.
* test_level

Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
2024-03-05 07:44:51 -05:00