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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Use official TDK Invensense driver for icm45686 sensor in tdk_hal module.
Supports icm456xx variants.
Signed-off-by: Remi Buisson <remi.buisson@tdk.com>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>