Commit graph

126,787 commits

Author SHA1 Message Date
Tomi Fontanilles
806c344146 secure_storage: make UIDs 32-bit
Make the storage UID type 32-bit long.
This makes it more convenient to use those UIDs as storage entry IDs
when storing the entries to NVM.
The previous 64+ bits UIDs made it incovenient to use them as such.
As Zephyr defines UID ranges to be used (see
e.g. `zephyr/psa/key_ids.h`), this guarantees that all the UIDs will
fit within the 30 bits reserved for them.

The secure storage ITS implementation API is changed to take
`psa_storage_uid_t` separately so the implementation can check
that no forbidden bits are set before they are packed into
`secure_storage_its_uid_t`.

This change breaks backward compatibility because
`secure_storage_its_uid_t`, which is used both as part of the additional
data for authentication and for generating encryption keys, changes
size from 12 to 4 bytes.
For users wanting to preserve backward compatibility (for example when
upgrading an existing installation to a newer Zephyr release) or that
for some reason want to use a 64-bit `psa_storage_uid_t`, the Kconfig
option CONFIG_SECURE_STORAGE_64_BIT_UID is added. When enabled, it
makes the implementation behave the same as previously and compatibility
with existing entries is preserved. This was tested manually.

Fixes zephyrproject-rtos/zephyr#86177.

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
2025-08-29 18:19:36 +02:00
Bjarki Arge Andreasen
db8274a5f9 modem: add versions to all headers
Versions for specific modem modules don't include versions in their
headers, and the chat module did not even define a group.

This commits updates most modem modules to include versions in
their headers. Specifically, the following modules have their
versions set to 1.0.0, as these should no longer be marked
experimental:

- modem_chat
- modem_cmux
- modem_pipe
- modem_pipelink
- modem_ppp
- modem_ubx

Though the modem_ubx was recently refactored, it is tested in CI
and is implemented by two drivers, and has been present since
release 3.7, so it is not marked as experimental.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-08-29 18:19:27 +02:00
Bjarki Arge Andreasen
26888c8fcc modem: modules: remove EXPERIMENTAL
Remove the EXPERIMENTAL label from the MODEM_MODULES and update
API version to 1.0.0. These modules are fully tested and widely
used, and have been present for 2 years.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-08-29 18:19:27 +02:00
Declan Snyder
02b99470a3 drivers: ethernet: ksz8081: Save link state for get
Instead of using mdio bus for getting link state, only get it in the
monitor and save it off for get rate api implementation to use

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-08-29 18:19:17 +02:00
Declan Snyder
043ec3d9ee drivers: phy_ksz8081: Fix boot and link up
Two issues are being simultaneously address in this commit:

Issue 1:

Current issue is that zephyr boot / init is slow because it is blocked
by the phy ksz8081 init doing autonegotiation which can take on the
order of a few seconds.

Fix by now doing autonegotiation in the monitor handler instead of in
the cfg link call. The cfg link call will now only set the ANAR register
and a software flag to let the monitor handler know whether or not to
redo the autonegotiation sequence.

Issue 2:

The ksz8081 phy currently does not link up ever on cold boots on the NXP
RT platforms due to regression on mainline. My understanding of why is
not clear, but I found that re-setting the RMII override bit by the time
the monitor work handler runs with the change to fix the first issue,
makes the link come up.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-08-29 18:19:17 +02:00
Declan Snyder
be8a0f3d1e drivers: phy_ksz8081: Improve logging
Improve logging in the driver, using appropriate log levels.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-08-29 18:19:17 +02:00
Declan Snyder
aad41f8d66 phy: ksz8081: Minor refactor of init gpio code
Minor refactor to remove the #ifdefs inline in init function.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-08-29 18:19:17 +02:00
Mark Wang
101add04bb bluetooth: avdtp: fix the checking of rsp_handler
rsp_handler should be used instead of cmd_handler

Signed-off-by: Mark Wang <yichang.wang@nxp.com>
2025-08-29 13:15:19 +02:00
MA Junyi
718f0e7272 scripts: compliance: Add items to UNDEF_KCONFIG_ALLOWLIST
`BOOT_ENCRYPT_ALG_AES_128` and `BOOT_ENCRYPT_ALG_AES_256` are used in
`share/sysbuild/image_configurations/BOOTLOADER_image_default.cmake`
They were first introduced in commit 9a1fe30

Signed-off-by: MA Junyi <mjysci@live.com>
2025-08-29 13:15:09 +02:00
James Roy
7cb48cce26 ztest: Fix the test_status variable to use the ztest_status enum
global variable `test_status` should use the enum instead
of equivalent integers (such as `1`).

Signed-off-by: James Roy <rruuaanng@outlook.com>
2025-08-29 13:14:58 +02:00
Tomáš Juřena
2db38416e6 boards: st: nucleo_l432kc: Add arduino connector
Adds new node for arduino nano connector.

Signed-off-by: Tomáš Juřena <jurenatomas@gmail.com>
2025-08-29 11:05:56 +02:00
Vit Stanicek
51e0c52837 samples: i2s_codec: Factorise initial loop count
Replace hard-wired constant "2" with CONFIG_I2S_INIT_BUFFERS in the loop
where audio data is read and written.

Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
2025-08-29 11:05:48 +02:00
Vit Stanicek
d11474ce64 samples: i2s_codec: Modify DMIC channel mapping
Modify DMIC channel mapping (req_chan_map_lo) to account for physical
1:1 mapping between logical channel numbers and physical channel space.

Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
2025-08-29 11:05:48 +02:00
Vit Stanicek
4bdc70d045 samples: i2s_codec: Reorganise Kconfig fragments
Reorganise Kconfig fragments (prj.conf, boards/*.conf). Rename
mimxrt1170_evk@B/mimxrt1176/cm7 fragments to
mimxrt1170_evk/mimxrt1176/cm7. Change Kconfig defaults for SAMPLE_RATE
and I2S_INIT_BUFFER.

This change is meant to reduce the length of target-specific
configuration, as some of the settings are duplicated across targets.
Also, with the inclusion of the sine wave vector, the default sample
rate of this sample changed to 16 kHz.

Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
2025-08-29 11:05:48 +02:00
Vit Stanicek
a39483477d samples: i2s_codec: Fix buffer size
Use BLOCK_SIZE instead of the test 16 kHz sine wave length. Add a build
check so that BLOCK_SIZE doesn't overflow the test sine wave buffer.

This accounts for situations where the sample queue can't be big enough,
mainly when it doesn't fit in the device's SRAM and the count of samples
queued will be less. As the test sine wave vector contains ~42 periods,
it can be truncated.

Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
2025-08-29 11:05:48 +02:00
Vit Stanicek
36967affbd samples: i2s_codec: Move audio slab to uncached
Move mem_slab (audio queue) to an uncached region with __nocache.

On platforms with data cache (such as platforms with the Cortex M7
core), it's desirable to have the audio data in an uncached region, so
that all data is committed in the selected location before DMA transfers
are triggered.

Playback problems observed on mimxrt1170_evk/mimxrt1176/cm7 before this
was done.

Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
2025-08-29 11:05:48 +02:00
Vit Stanicek
bddc1a4664 samples: i2s_codec: Parametrise peripheral and codec position
Add Kconfig symbol USE_CODEC_CLOCK. Modify configuration for supported
boards.

This change enables to adjust the position of both the codec and I2S
peripheral on the I2S bus.

Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
2025-08-29 11:05:48 +02:00
Vit Stanicek
8d826fd1ea samples: i2s_codec: Add mimxrt595_evk DTO lic. hdr.
Add license header to the mimxrt595_evk/mimxrt595s/cm33 i2s_codec's DT
overlay.

Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
2025-08-29 11:05:48 +02:00
Christian Rask
c5c2e230f9 boards: shields: x_nucleo_gfx01m2: add tearing effect gpio configuration
Add tearing effect configuration of the spi display. The falling edge
of the tearing signal is chosen because the spi bandwidth is lower than
the display refresh rate at 60fps.

Signed-off-by: Christian Rask <christianrask2@gmail.com>
2025-08-29 11:05:38 +02:00
Christian Rask
23157c10e5 drivers: display: ili9xxx: add tearing effect support
Add tearing effect support for better display synchronization. If
tearing effect is configured in the mipi_dbi device, the display
controller configures its tearing effect register.
Display orientation configuration is updated to also rotated the
direction of the display pixel vertical scanline, such that scan order
matches the display orientation.

Signed-off-by: Christian Rask <christianrask2@gmail.com>
2025-08-29 11:05:38 +02:00
Christian Rask
fe356031db drivers: mipi_dbi: spi: add tearing effect support
Add tearing effect support for better display synchronization. This
allows users to configure an external interrupt on falling/rising edges
of the gpio connected to the display controllers tearing effect pin.
See dt-bindings/mipi_dbi/mipi_dbi.h for details of how this works for
mipi_dbi display interfaces.

Signed-off-by: Christian Rask <christianrask2@gmail.com>
2025-08-29 11:05:38 +02:00
Lyle Zhu
77e6ff8ad4 tests: tester: Correct return value if ext adv create failed
The error code instead of `BTP_STATUS_FAILED` of the function
`bt_le_ext_adv_create()` should be returned.

Returns the error code returned by `bt_le_ext_adv_create()`.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-08-29 11:05:29 +02:00
Lyle Zhu
7f12732dd6 tests: tester: Add debug log
Add debug log if the function `tester_gap_create_adv_instance()` is
failed.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-08-29 11:05:29 +02:00
Lyle Zhu
e8bbf5c732 tests: tester: Add LOG_* to btp.c for debug purpose
Add `LOG_ERR()` to log all reasons if status is `BTP_STATUS_FAILED`.
Add `LOG_DBG()` to log the excution result of the BTP commander.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-08-29 11:05:29 +02:00
Lyle Zhu
8f251c1d83 tests: bsim: tester: Fix payload length endian issue
The payload length saved in command header should be changed from CPU
endian to little-endian.

Use `sys_cpu_to_le16()` to fix the issue.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-08-29 11:05:29 +02:00
Lyle Zhu
d973e4e3ce tests: bsim: tester: Add BT tester GAP ISO smoke test
Add test iso_broadcaster for GAP ISO broadcaster.
Add test iso_sync_receiver for GAP ISO sync receiver.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-08-29 11:05:29 +02:00
Lyle Zhu
eaf1439ea9 Bluetooth: tester: Add event of periodic BIGInfo advertising report
Add event `BTP_GAP_EV_PERIODIC_BIGINFO` to notify the received periodic
BIGInfo advertising report.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-08-29 11:05:29 +02:00
Lyle Zhu
a7eeea1130 Bluetooth: tester: Support feature ISO broadcaster
Add command `BTP_GAP_CREATE_BIG` to create BIG.

Add command `BTP_GAP_BIS_BROADCAST` to send broadcast data.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-08-29 11:05:29 +02:00
Lyle Zhu
33fc4a8d2d Bluetooth: tester: Support feature ISO sync receiver
Add command `BTP_GAP_BIG_CREATE_SYNC` to create BIG sync establishment.

Add event `BTP_GAP_EV_BIG_SYNC_ESTABLISHED` to notify the event that
the BIG sync is established.

Add event `BTP_GAP_EV_BIG_SYNC_LOST` to notify the event that the BIG
sync is lost.

Add event `BTP_GAP_EV_BIS_DATA_PATH_SETUP` to notify the event that
the data path of the BIS is setup.

Add event `BTP_GAP_EV_BIS_STREAM_RECEIVED` to notify the received BIS
stream data.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-08-29 11:05:29 +02:00
Jaakko Korhonen
7390004b06 shell: modules: devmem: fix devmem load occasionally losing bytes
Changed devmem load to process all characters from the *recv buffer.

Signed-off-by: Jaakko Korhonen <jaakko.korhonen@nordicsemi.no>
2025-08-29 09:01:20 +02:00
Duy Nguyen
84c2f87540 dts: renesas: rx: Change CPU compatible for RX dts
Change the compatible of CPU core for qemu_rx, rx130 and rx261
target accroding to the change of dt-binding for rx cpu core

Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
2025-08-29 09:00:50 +02:00
Duy Nguyen
de3a78bb9a include: arch: rx: Change the ROM value by using KCONFIG
Change the ROM_START and ROM_SIZE to using KCONFIG option
same as other architecture

Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
2025-08-29 09:00:50 +02:00
Quy Tran
eb61b44ee9 drivers: cmt: Update cmt driver for Renesas RX
- Update sys_clock_set_timeout function for Renesas RX using CMT
- Remove some unused definitions

Signed-off-by: Quy Tran <quy.tran.pz@renesas.com>
2025-08-29 09:00:50 +02:00
Duy Nguyen
d29af6ff16 arch: rx: Update Exception Vector Table handling for RX
The RXv2, RXv3 feature with a configuration to be able to relocate
the exception vector table by setting the extb register in the
CPU, this commit support to enable the config and code handling
for it

Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
2025-08-29 09:00:50 +02:00
Quy Tran
8b4581ba1d arch: rx: Get swint register address from devicetree
Update irq_offload to get the swint register address from dts

Signed-off-by: Quy Tran <quy.tran.pz@renesas.com>
2025-08-29 09:00:50 +02:00
Duy Nguyen
8a0716de24 arch: rx: Add bindings for RX CPU core version
Adding bindings for rx cpu core version and remove the redundant
compatible in the qemu_rx and rsk_rx130 boards

Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
2025-08-29 09:00:50 +02:00
Bjarki Arge Andreasen
1a47cd95d8 power_domain: nrfs_gdpwr: patch init sync
The nrfs_gdpwr driver has a two stage init, which requires tracking
an "expected" state of the power domain, to be applied once the
ipc service needed to control the power domain is ready. This was
tracked with the "off" member of struct domain_data.

So, "off" was initialized to false, but, should actually be
initialized to true, since by default, if nothing needs the power
domain, it should be turned off when ipc service is ready.

To fix this, rename "off" member to "on" and adjust logic.

Additionally, define the correct struct domain_data in the
DOMAIN_DEFINE() macro. Can save 2 bytes. This did not cause any
issue since we typecast it anyway, and its size is large enough.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-08-29 09:00:19 +02:00
Dmitrii Sharshakov
166e1a3b81 drivers: udc_rpi_pico: use reset API
No need to toggle reset line manually, use the standard reset API.

This improves code searchability and aids debugging.

Requires f2f496df84 to make sure reset
deassertion is waited for.

Signed-off-by: Dmitrii Sharshakov <d3dx12.xx@gmail.com>
2025-08-29 08:59:59 +02:00
Khaoula Bidani
302ab40380 drivers: clock_control: stm32: fix compilation issue
Fix compilation issue in test overlay without pll
like hse_8_bypass.overlay and hsi_8.overlay

Signed-off-by: Khaoula Bidani <khaoula.bidani-ext@st.com>
2025-08-28 19:57:57 +02:00
Łukasz Duda
6c75315c86 openthread: Use OPENTHREAD instead of L2_OPENTHREAD in dependencies
Update Kconfig dependencies in mbedTLS and logging backend to use
OPENTHREAD instead of NET_L2_OPENTHREAD.

Signed-off-by: Łukasz Duda <lukasz.duda@nordicsemi.no>
2025-08-28 19:57:41 +02:00
Vinayak Kariappa Chettimada
4277e9ae8b tests: bsim: Bluetooth: Param update implementation review rework
Updated the test with review rework, and added comments.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2025-08-28 19:57:28 +02:00
Vinayak Kariappa Chettimada
0d1b4d2ba6 Bluetooth: Controller: Fix prepare pipeline for overlapping events
Fix prepare pipeline processing of overlapping events by
including ticks_at_expire value to uniquely identify
overlapping events.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2025-08-28 19:57:28 +02:00
Vinayak Kariappa Chettimada
93b951d6fb Bluetooth: Controller: Fix prepare pipeline overflow in observer role
Fix long standing bug in processing resume events that cause
prepare pipeline overflow due to incorrectly enqueueing up
preemptor events as duplicate events in the pipeline where
being aborted before currently active event.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2025-08-28 19:57:28 +02:00
Vinayak Kariappa Chettimada
c2eb901ea1 Bluetooth: Controller: Introduce prepare deferred feature
Introduce prepare being deferred due to previous events
desire to continue. In such case the deferred prepare param
will have the defer flag set.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2025-08-28 19:57:28 +02:00
Vinayak Kariappa Chettimada
8ecb264fec Bluetooth: Controller: Disable connection event continuation on overlap
Disable connection event continuation on overlap with same
connection's next event. This implementation has bugs and
needs to be fixed in subsequent commits.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2025-08-28 19:57:28 +02:00
Vinayak Kariappa Chettimada
2d732e292a Bluetooth: Controller: Fix stuck forced continuation under throughput
Fix stuck forced continuation of connection event under high
throughput scenario. At near supervision timeout the force
flag is set, but in the next connection event if full
connection interval is used for data transmission and a
subsequent request to abort happens it was not honoured
causing the tx-rx chain to keep continuing until supervision
timeout.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2025-08-28 19:57:28 +02:00
Vinayak Kariappa Chettimada
2b49185452 Bluetooth: Controller: Fix window widening on connection update
Fix window widening on connection update to current window
widening periodic at the instant, and use new periodic
window widening for subsequent new connection interval.

Relates to commit 247037bd3e ("Bluetooth: Controller: Fix
incorrect elapsed events value").

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2025-08-28 19:57:28 +02:00
Vinayak Kariappa Chettimada
c0fbfc3bb8 Bluetooth: Controller: Fix drift compensation on connection update
Fix drift compensation applied late under high throughput at
after the instant has passed for a connection update.

Workaround test failures due to Zephyr Controller scheduling
overlap causing Periodic Advertising Sync timeouts, ACL
connection failed to be established or Controller assertion
when having latency at the CIS setup instant.

Workaround by using `-start_offset` to ensure that the ACL
established does not overlap the sink being established.

Relates to commit 5f852998d0 ("tests: bsim: Bluetooth:
Workaround Zephyr Controller scheduling overlap").

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2025-08-28 19:57:28 +02:00
Vinayak Kariappa Chettimada
58091b181f Bluetooth: Controller: Fix conn timeout due to delayed conn upd ind
Unlike legacy Zephyr Controller's double headed Tx queue
linked list, the new split Zephyr Controller's new LLCP does
not place a control PDU at the head of the Tx queue causing
control PDUs to be delayed on air.

Pause the data enqueue until pending PDUs are transmitted
across before enqueuing LE Connection Update Ind PDU, and
thereafter resume other PDUs being enqueued again.

There can still be connection timeout if enqueued PDUs are
not being transmitted/acked during repeated retransmissions.

Updated bap_unicast_audio_acl_disconnect test to not use
random seed, to be similar to unicast_client test; to get
it to pass without overlapping state/roles casing connection
failed to be established after the changes in this PR.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2025-08-28 19:57:28 +02:00
Vinayak Kariappa Chettimada
852422522c Bluetooth: Controller: Fix LLCP event_counter used during current event
Fix LLCP to use event_counter in the current event to
compare instant when trying to check instant passed on
reception of PDU with instant.

Fixes regression in commit e3e410aeed ("Bluetooth: Controller:
Fix LLCP event_counter value used during prepare").

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2025-08-28 19:57:28 +02:00