Commit graph

136,983 commits

Author SHA1 Message Date
Robert Robinson
fd3bcd3ac9 tests: subsys: Add support for nRF7120
After porting nRF7120 to Zephyr, all tests that were supported in
sdk-nrf must now be supported in Zephyr instead.

Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>
2026-02-19 10:03:58 -06:00
Robert Robinson
c601161938 tests: drivers: sensor: temp_sensor: Add support for nRF7120
After porting nRF7120 to Zephyr, all tests that were supported in
sdk-nrf must now be supported in Zephyr instead.

Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>
2026-02-19 10:03:58 -06:00
Robert Robinson
ac7b7e8435 tests: drivers: watchdog: Add support for nRF7120
After porting nRF7120 to Zephyr, all tests that were supported in
sdk-nrf must now be supported in Zephyr instead.

Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>
2026-02-19 10:03:58 -06:00
Robert Robinson
ac24354b46 tests: drivers: retained_mem: Add support for nRF7120
After porting nRF7120 to Zephyr, all tests that were supported in
sdk-nrf must now be supported in Zephyr instead.

Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>
2026-02-19 10:03:58 -06:00
Robert Robinson
846963f505 tests: drivers: mbox: mbox_error_cases: Add support for nRF7120
After porting nRF7120 to Zephyr, all tests that were supported in
sdk-nrf must now be supported in Zephyr instead.

Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>
2026-02-19 10:03:58 -06:00
Robert Robinson
46e9aac3ca tests: drivers: uart: Add support for nRF7120
After porting nRF7120 to Zephyr, all tests that were supported in
sdk-nrf must now be supported in Zephyr instead.

Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>
2026-02-19 10:03:58 -06:00
Robert Robinson
65b98bd447 tests: drivers: timer: nrf_grtc_timer: Add support for nRF7120
After porting nRF7120 to Zephyr, all tests that were supported in
sdk-nrf must now be supported in Zephyr instead.

Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>
2026-02-19 10:03:58 -06:00
Robert Robinson
5344e191fc tests: drivers: flash: Add support for nRF7120
After porting nRF7120 to Zephyr, all tests that were supported in
sdk-nrf must now be supported in Zephyr instead.

Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>
2026-02-19 10:03:58 -06:00
Robert Robinson
7382c4da61 tests: drivers: build_all: comparator: Add support for nRF7120
After porting nRF7120 to Zephyr, all tests that were supported in
sdk-nrf must now be supported in Zephyr instead.

Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>
2026-02-19 10:03:58 -06:00
Robert Robinson
61f1ede5ec tests: drivers: audio: dmic_api: Add support for nRF7120
After porting nRF7120 to Zephyr, all tests that were supported in
sdk-nrf must now be supported in Zephyr instead.

Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>
2026-02-19 10:03:58 -06:00
Robert Robinson
c27bf83db3 tests: boards: nrf: qdec: Add support for nRF7120
After porting nRF7120 to Zephyr, all tests that were supported in
sdk-nrf must now be supported in Zephyr instead.

Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>
2026-02-19 10:03:58 -06:00
Robert Robinson
e789595d05 tests: boards: nrf: hwinfo: reset_cause: Add support for nRF7120
After porting nRF7120 to Zephyr, all tests that were supported in
sdk-nrf must now be supported in Zephyr instead.

Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>
2026-02-19 10:03:58 -06:00
Fin Maaß
e8688128b1 tests: ethernet: mdio: integrate mdio build test into the ethernet one
The build test in ``tests/drivers/build_all/ethernet/``
already uses "zephyr,mdio-gpio", add a second node
of it, so it can replace the mdio build test in
``tests/drivers/build_all/mdio/``.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-02-19 10:03:31 -06:00
Fin Maaß
210ede0ead docs: migration-guide: mention mdio change
mention mdio area change.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-02-19 10:03:31 -06:00
Fin Maaß
a25f99ae16 drivers: mdio: ethernet: integrate the mdio area into the ethernet area
integrate the mdio driver area into the
ethernet driver area. mdio itself is defined as part
of the ethernet specification.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-02-19 10:03:31 -06:00
Fin Maaß
3d11848ce9 drivers: mdio: use rsource in Kconfig
Use rsource to include the mdio Kconfig files.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-02-19 10:03:31 -06:00
David Jewsbury
dbdeedab93 tests: mspi: add mspi_tx_rx_loopback
This tests the controller/peripheral functionality of the mspi
api and ensures the dataframing of the transfer is aligned by
varying it's length. It also tests data/command/address only
transfers. All these tests are done in single, dual and quad
io modes only as the slave cannot interpret a command/address.

Signed-off-by: David Jewsbury <david.jewsbury@nordicsemi.no>
2026-02-19 10:03:18 -06:00
Lingao Meng
49e7643671 tests: nvs: expose nvs_flash_al_wrt_streams for testing
Make nvs_flash_al_wrt_streams() non-static when CONFIG_ZTEST is
enabled so it can be unit tested.

Add test_nvs_write_stream to verify correct concatenation and
write behavior for different head/data/tail combinations.

Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2026-02-19 10:02:36 -06:00
Lingao Meng
932b10c95e tests: nvs: verify update behavior after GC data packing
Add `test_nvs_gc_padding` to verify that NVS correctly handles
sector padding, unaligned tail entries, and writing new data
during garbage collection.

Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2026-02-19 10:02:36 -06:00
Lingao Meng
292beaae8d fs: nvs: pack data during GC and flush tail via buffered block move
Rework the NVS garbage collection data move path to support
write-block–aligned packing of consecutive records.

Introduce struct nvs_block_move_ctx to buffer unaligned tail
bytes during GC. Data is moved in write_block_size-aligned chunks
only, and any remaining bytes smaller than one write block are
temporarily buffered and prepended to the next write. The final
tail is flushed before GC completion.

Extend struct nvs_flash_wrt_stream to support an optional
header buffer, allowing head/data/tail segments to be written
as a single contiguous stream while respecting flash alignment
requirements.

This enables packed back-to-back data movement during GC without
introducing additional padding between records. CRCs are not
recomputed for moved data, preserving on-flash format and
compatibility.

No changes are made to normal nvs_write() alignment semantics
outside of GC.

Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2026-02-19 10:02:36 -06:00
Lingao Meng
e9ff9a5c5b fs: nvs: allow pending write to be committed during GC
Extend the NVS garbage collection path to optionally commit a
pending write request while GC is running.

Introduce struct nvs_gc_write_entry to describe a write operation
that may be handled during GC. When space is insufficient and GC is
triggered from nvs_write(), the write request is passed to
nvs_gc(). If the entry being updated is encountered in the sector
currently being garbage collected, the old copy is skipped and the
new data may be written directly into the active sector, provided
there is sufficient space.

This avoids unnecessary data movement where the old entry would
otherwise be copied during GC and then immediately superseded by a
new write.

The existing GC behavior is preserved when no pending write is
provided.

Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2026-02-19 10:02:36 -06:00
Lingao Meng
56ea1e6619 fs: nvs: introduce stream-based aligned flash write helper
Introduce nvs_flash_al_wrt_streams() to support aligned flash
writes composed of a primary data buffer and an optional tail buffer.

This refactors the existing aligned write path to allow multiple
contiguous buffers to be written as a single logical stream while
respecting flash write-block alignment requirements. The new helper
enables cleaner handling of cases where data must be extended with
additional metadata (e.g. CRC) without temporary concatenation
buffers or partial pre-writes.

nvs_flash_data_wrt() is updated to use the stream-based interface
for CRC handling. The existing nvs_flash_al_wrt() API is preserved
as a thin wrapper for backward compatibility.

Signed-off-by: Lingao Meng <menglingao@xiaomi.com>

iiii

Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2026-02-19 10:02:36 -06:00
Joakim Tjernlund
bbeb260c9b arch: arm64: Setup ICC_SRE_EL2
ICC_SRE_EL2 needs the same setup as ICC_SRE_EL3 for SPI IRQs
to work.

Signed-off-by: Joakim Tjernlund <joakim.tjernlund@infinera.com>
2026-02-19 10:01:00 -06:00
Emil Gydesen
9311480730 tests: Bluetooth: CAP: Fix issues in BAP BA mock
Fix wrong assignment to pa_sync_state.
Add missing call to recv_state_removed

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2026-02-19 10:00:45 -06:00
Emil Gydesen
b438540a09 Bluetooth: CAP: Log ADV address when starting via handover
When starting adv via handover, we log the address used
for the advertising set for debugging purposes.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2026-02-19 10:00:26 -06:00
Remi Buisson
47c47bd2c4 dts: bindings: sensor: Update invensense icm45686 properties
Add APEX related properties.
Add new icm456xx variants.

Signed-off-by: Remi Buisson <remi.buisson@tdk.com>
2026-02-19 09:59:54 -06:00
Remi Buisson
9c9ee1b116 drivers: sensor: icm45686: update drivers
Use official TDK Invensense driver for icm45686 sensor in tdk_hal module.
Supports icm456xx variants.

Signed-off-by: Remi Buisson <remi.buisson@tdk.com>
2026-02-19 09:59:54 -06:00
Remi Buisson
e835c6a17f modules: hal_tdk: Update for icm45686 device family
icm45686 is a 6-axis IMU sensor.
https://invensense.tdk.com/products/motion-tracking/6-axis/icm-45686/

Signed-off-by: Remi Buisson <remi.buisson@tdk.com>
2026-02-19 09:59:54 -06:00
Cliff Brake
baafb791c4 drivers: gpio: mcp23xxx: fix drive mode validation for input pins
The drive mode validation added in commit ede19a4337 was rejecting
valid configurations for input pins. The validation ensures that
GPIO_SINGLE_ENDED and GPIO_LINE_OPEN_DRAIN flags match the hardware
capabilities of each MCP23xxx variant (push-pull vs open-drain).

However, this validation was applied to all pin configurations,
including input pins. Input pins do not have a drive mode, so
applications typically configure them without setting drive mode flags.
This caused the validation to incorrectly reject input pin configurations
with -ENOTSUP.

Fix by only validating drive mode flags when GPIO_OUTPUT is set.
Input pins now configure successfully, while output pins still receive
proper validation to ensure the requested drive mode matches the
hardware capabilities.

Fixes: ede19a4337 ("drivers: mcp23xxx: add support for open-drain ...")
Signed-off-by: Cliff Brake <cbrake@bec-systems.com>
2026-02-19 09:59:41 -06:00
Ricardo Cañuelo Navarro
d0ff40494f tests: drivers: build_all: add mbox test for rpi_pico2
Initial mbox test for rpi_pico2 (rp2350).

Signed-off-by: Ricardo Cañuelo Navarro <rcn@igalia.com>
2026-02-19 09:59:29 -06:00
Ricardo Cañuelo Navarro
0ea649bba8 dts: arm: rpi_pico: add SIO block and mailbox device
Add a mailbox (Interprocessor FIFO) node to the RP2040 and RP2350 device
trees and a SIO block to hold this and any other future SIO peripherals.

This also includes an additional `zephyr,mbox-ipm` node that handles the
mailbox for core to core messaging.

The device is enabled for the Raspberry Pico Pi 2.

Signed-off-by: Ricardo Cañuelo Navarro <rcn@igalia.com>
2026-02-19 09:59:29 -06:00
Ricardo Cañuelo Navarro
3821d323f9 drivers: mbox: Add Raspberry Pi Pico mailbox driver
This adds a driver for the interprocessor mailbox in the Raspberry Pi
Pico SoCs (RP2040/RP2350).

The SIO subsystem contains a set of low-latency peripherals, including a
pair of mailboxes (FIFOs) for inter-processor communication. One of the
FIFOs can only be written by core 0 and read by core 1, the other can
only be written by core 1 and read by core 0.

According to the datasheets [1] [2], the register interface is the
same in both SoCs and the only functional differences are that the
mailbox in the RP2040 is 8 entries deep vs 4 in the RP2350, and that the
RP2350 defines the same core-specific interrupt number, while the RP2040
defines two different IRQ numbers.

Tested on a Raspberry Pi Pico 2W (RP2350).

[1]: https://datasheets.raspberrypi.com/rp2350/rp2350-datasheet.pdf
[2]: https://datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf

Signed-off-by: Ricardo Cañuelo Navarro <rcn@igalia.com>
2026-02-19 09:59:29 -06:00
Radosław Koppel
81801a976d samples: bluetooth: peripheral_gap_svc: Adding sample
Adding a sample that presents how to implement non default GAP service
inside the application.

Signed-off-by: Radosław Koppel <r.koppel@k-el.com>
2026-02-19 09:58:49 -06:00
Radosław Koppel
a76339d438 tests: bsim: Bluetooth: peripheral_gap_svc: Implementation
Implementation of the bsim test for peripheral_gap_svc sample.

Signed-off-by: Radosław Koppel <r.koppel@k-el.com>
2026-02-19 09:58:49 -06:00
Radosław Koppel
25f4286c71 tests: bluetooth: host: conn: Disable GATT GAP svc validation
Disable the GATT GAP service validation for the test.

This test mocks bluetooth modules beside of conn and net_buf.
The mock does not contain functionality required by the validation module.

Signed-off-by: Radosław Koppel <r.koppel@k-el.com>
2026-02-19 09:58:49 -06:00
Radosław Koppel
1fa8739af7 Bluetooth: Host: Conn: Add GAP service validation
Implement the validation if there is exactly one GAP service
in GATT database.
The validation is performed as soon as the GATT database
is available and forbids to enable the Bluetooth if the configuration
is not compatible with the Bluetooth Specification.
The verification may be disabled by the user for better performance
or deliberate implementation that is not compliant with the
specification.

Signed-off-by: Radosław Koppel <r.koppel@k-el.com>
2026-02-19 09:58:49 -06:00
Radosław Koppel
9f33889066 Bluetooth: gap_svc_default: Set user_data for name characteristic to NULL
Set the unused argument of the name characteristic to NULL.
This removes the reference from GAP service to the hci_core.

Signed-off-by: Radosław Koppel <r.koppel@k-el.com>
2026-02-19 09:58:49 -06:00
Radosław Koppel
95e9f27939 Bluetooth: gap_svc_default: Update attribute len checking in write_name
Remove offset form the attribute length checking as the offset
is tested before to be 0.

Signed-off-by: Radosław Koppel <r.koppel@k-el.com>
2026-02-19 09:58:49 -06:00
Radosław Koppel
233495d234 Bluetooth: gap_svc_default: Add BT_ prefix to DEVICE_xxx_GATT_WRITABLE_
Rename the DEVICE_NAME_GATT_WRITABLE_ kconfig options to
BT_DEVICE_NAME_GATT_WRITABLE_.
Rename DEVICE_APPEARANCE_GATT_WRITABLE_AUTHEN to
BT_DEVICE_APPEARANCE_GATT_WRITABLE_AUTHEN.

The old options are marked as deprecated.

Signed-off-by: Radosław Koppel <r.koppel@k-el.com>
2026-02-19 09:58:49 -06:00
Radosław Koppel
e5258ed86d Bluetooth: Host: Extract GAP service from GATT
Remove Generic Access Service implementation from gatt files and move it
into separate file in services directory.
The default service implementation can be disabled by the user in purpose
of providing the GAP implementation directly in the application.

Signed-off-by: Radosław Koppel <r.koppel@k-el.com>
2026-02-19 09:58:49 -06:00
Erik Tamlin
b246d3f3f9 manifest: update percepio
Fix for assert on first task switch that occurs "pre kernel"

Signed-off-by: Erik Tamlin <erik.tamlin@percepio.com>
2026-02-19 12:54:09 +01:00
Krzysztof Chruściński
ef085c6898 logging: frontends: improve Kconfig for Coresight STM frontend
Add missing fields in arm,stmesp binding and limit Coresight STM
frontend to SoCs which have the required hardware.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2026-02-19 12:53:43 +01:00
Krzysztof Chruściński
f1e1711995 logging: frontends: Enable special alignment for cbprintf packages
Use specific alignment when STM logging frontend is used on RISCV
core (PPR or FLPR). It fixes the case where 64 bit variable were
incorrectly logged.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2026-02-19 12:53:43 +01:00
Krzysztof Chruściński
4cdc5844ba lib: os: cbprintf: Add option to use default alignment for rv32e
Add option to use default alignment when building a cbprintf package
on riscv (rv32e). It is useful in case when cbprintf packages are not
formatted on rv32e but on another core. There is such case on nrf54h20
where log messages are formatted by the ARM Cortex M33 core (cpuapp)
and without this option 64 bit arguments are incorrectly formatted.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2026-02-19 12:53:43 +01:00
Tomasz Leman
966737f137 logging: Add CONFIG_LOG_RUNTIME_DEFAULT_LEVEL for startup filter control
Add a new Kconfig option CONFIG_LOG_RUNTIME_DEFAULT_LEVEL that allows
setting the initial runtime filter level at system startup, independent
of compile-time log levels.

This enables a common use case where firmware needs to:
1. Compile with DEBUG level (to include all log macros)
2. Boot with minimal logging (e.g., ERROR only for quiet startup)
3. Allow dynamic runtime increases via IPC or other mechanisms

Previously, autostart backends were always initialized with
CONFIG_LOG_MAX_LEVEL, which meant compile-time and initial runtime
levels were coupled. This change decouples them when runtime filtering
is enabled.

Changes:
- Add CONFIG_LOG_RUNTIME_DEFAULT_LEVEL Kconfig option under
  LOG_RUNTIME_FILTERING, defaulting to LOG_DEFAULT_LEVEL
- Update z_log_runtime_filters_init() to use the new config for initial
  aggregated filter levels
- Update autostart backend initialization in z_log_init() and
  activate_foreach_backend() to use CONFIG_LOG_RUNTIME_DEFAULT_LEVEL
  instead of CONFIG_LOG_MAX_LEVEL when runtime filtering is enabled

This allows firmware to start with ERROR-level logging while keeping
full DEBUG compile-time capability, then dynamically increase verbosity
as needed without recompilation.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2026-02-19 12:52:28 +01:00
Emil Gydesen
f4492d04e0 Bluetooth: CAP: Add missing NULL checks in acceptor_register
Add missing NULL check for `param` and `svc_inst`

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2026-02-19 12:51:41 +01:00
Benjamin Cabé
dadbde76bd dts: bindings: gpio: nuvoton: workaround Pygments limitation
Until pygments/pygments#3021 is accepted and merged in upstream Pygments
we need to workaround some of the current limitations of the lexer with
overlay syntax. This fixes a doc build failure in main

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-02-19 10:57:48 +01:00
Quy Tran
b70f7d28c6 boards: renesas: Fix missing partition ranges on RX boards
Fix missing partition ranges on boards dts

Signed-off-by: Quy Tran <quy.tran.pz@renesas.com>
2026-02-19 09:27:08 +01:00
Quy Tran
fb8ab74f5b dts: rx: renesas: Fix missing partition ranges
Fix missing parition ranges in dts for Renesas RX

Signed-off-by: Quy Tran <quy.tran.pz@renesas.com>
2026-02-19 09:27:08 +01:00
Sergey Terentiev
f2910d8663 canbus: isotp: fix race conditions
Unsigned variable overflow fixes

Signed-off-by: Sergey Terentiev <sergey@terentiev.me>
2026-02-19 09:26:06 +01:00