Commit Graph

110344 Commits

Author SHA1 Message Date
Robert Lubos
1bf536eb10 modules: Update uoscore-uedhoc revision to the latest
Pull latest revision of the uoscore-uedhoc module and align
corresponding CMake file with the changes.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-02-13 20:12:18 +01:00
Guillaume Gautier
5415e8e4a6 tests: drivers: can: add stm32n6 boards overlays
Add CAN test overlays for Nucleo N657x0-Q and STM32N6570 DK boards.
Userspace needs to be disabled for the tests to pass.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-02-13 20:11:30 +01:00
Guillaume Gautier
05657bc52f boards: st: stm32n6: enable fdcan for stm32n6 boards
Enable FDCAN for Nucleo N657x0-Q and STM32N6570 DK boards.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-02-13 20:11:30 +01:00
Guillaume Gautier
b3a8de4a60 dts: arm: st: n6: add fdcan
Add FDCAN support to STM32N6

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-02-13 20:11:30 +01:00
Jilay Pandya
bfa712c375 MAINTAINERS: add stepper samples to stepper area
Add newly added samples/drivers/stepper folder to Stepper area

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2025-02-13 20:11:11 +01:00
Jilay Pandya
93b53efbe3 samples: stepper: add tmc50xx sample
Add a minimal tmc50xx sample with spi interface

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2025-02-13 20:11:11 +01:00
Axel Le Bourhis
2c25211ede mcxw72_evk: document NBU BLE firmware flashing procedure
Document the flashing procedure of the NBU BLE firmware, fetched by
west blobs.

Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
2025-02-13 20:10:51 +01:00
Axel Le Bourhis
ac8c56fcc1 manifest: add MCXW72 NBU ble firmware blob
Update manifest to add MCXW72 NBU ble firmware blob.

Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
2025-02-13 20:10:51 +01:00
Björn Bergman
b0e08c8262 cmake: SHELL: vs zephyr_get_compile_X_for_lang
In zephyr_get_XYZ_for_lang() functions in extensions.cmake we try to mimic
what cmake does in generation time to filter out SHELL: tags. However,
this filtering was only done for list entries that did not contain
generator expressions.

This causes broken command lines for e.g. e.g. for the kobject_hash*c
if the toolchain puts "SHELL: $<$<COMPILER_LANGUAGE:C>:some thing>"
into the options.

Signed-off-by: Björn Bergman <bjorn.bergman@iar.com>
2025-02-13 20:09:13 +01:00
Kamil Piszczek
8b80c20944 doc: releases: document the DIS changes in changelog and migration guide
Added a changelog entry in the Deprecated and New categories to document
the Kconfig changes for the Bluetooth Device Information Service (DIS).
Updated the migration guide to provide instructions on how to
transition from the old configuration scheme to the new one.

Signed-off-by: Kamil Piszczek <Kamil.Piszczek@nordicsemi.no>
2025-02-13 16:46:12 +01:00
Kamil Piszczek
7c828bd232 bluetooth: dis: add Kconfig for disabling optional characteristics
Added new Kconfig option set that allows the user to control the
presence of the following optional characteristics:

- Manufacturer Name String
- Model Number String

Depreacted the old configuration that can be deleted in the future
Zephyr releases.

Signed-off-by: Kamil Piszczek <Kamil.Piszczek@nordicsemi.no>
2025-02-13 16:46:12 +01:00
Andrew Davis
3a3037d0bc boards: ti: sk_am62: Add VirtIO/Vring DRAM IPC region
Add the memory region reserved in DRAM for VirtIO and Vring data
for IPC. Add this as the default chosen zephyr,ipc_shm.

Signed-off-by: Andrew Davis <afd@ti.com>
2025-02-13 16:45:44 +01:00
Andrew Davis
95e4320b2a boards: phytec: phyboard_lyra: Add VirtIO/Vring DRAM IPC region
Add the memory region reserved in DRAM for VirtIO and Vring data
for IPC. Add this as the default chosen zephyr,ipc_shm.

Signed-off-by: Andrew Davis <afd@ti.com>
2025-02-13 16:45:44 +01:00
Andrew Davis
06202ceab8 boards: phytec: phyboard_electra: Add VirtIO/Vring DRAM IPC region
Add the memory region reserved in DRAM for VirtIO and Vring data
for IPC. Add this as the default chosen zephyr,ipc_shm.

Signed-off-by: Andrew Davis <afd@ti.com>
2025-02-13 16:45:44 +01:00
Andrew Davis
c356f159b5 soc: ti: k3: am6x: m4: Lock resource table location in DRAM
Currently the resource table is added to the memory-region labeled DDR.
This region can also be extra space for code/data, although this is
not yet implemented. This will mean that the linker is free to put
the resource table *after* the code/data sections in DDR. The resource
table must be at the start of the assigned DRAM area for the remote
core to support early-boot/late-attach usecases.

To solve this, we carveout the first 4KB of our DRAM area specifically
for the resource table. This matches how this issue was solved for the
K3 R5F cores.

To make this clear we label this memory-region "RSC_TABLE". This is
done at the linker file level, which is common for all K3 M4 boards
and so we update all 3 such boards in this one patch instead of
patch-per-board.

Signed-off-by: Andrew Davis <afd@ti.com>
2025-02-13 16:45:44 +01:00
Simon Guinot
ffbb8f981a drivers: led: lp50xx: check the number of LED colors
The current code assumes (especially in the lp50xx_set_color function)
that the number of LED colors defined in DT is not greater than 3. But
since this is not checked, then this is not necessarily the case...

This patch consolidates the initialization of the lp50xx LED driver by
checking the number of colors for each LED found in DT.

Signed-off-by: Simon Guinot <simon.guinot@sequanux.org>
2025-02-13 16:44:39 +01:00
Kalle Kietäväinen
c8e93401d0 drivers: bluetooth: silabs: Set maximum TX power
Honor Kconfig option `BT_CTLR_TX_PWR_ANTENNA` for limiting the maximum TX
power. The default value for this option is 0 dBm, which means that after
this change the actual TX power is likely lower than before, unless
increased by this option.

Signed-off-by: Kalle Kietäväinen <kalle.kietavainen@silabs.com>
2025-02-13 16:44:21 +01:00
Jamie McCrae
13ac8fe1f5 mgmt: mcumgr: smp: Fix custom payload size
Fixes an issue when using custom payloads where the size was still
using the zcbor buffer instead of the size of the network buffer

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2025-02-13 16:44:06 +01:00
Lucas Tamborrino
53e62cac49 samples: video: capture: Fix sample for esp32s3_eye
Add proper pixel format support for ST7789V display.

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
2025-02-13 16:43:52 +01:00
Jamie McCrae
f628add120 doc: release: 4.1: Add note on MCUboot encrypted bit
Adds a note about this change

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2025-02-13 16:43:40 +01:00
Jamie McCrae
95dbbde12b cmake: mcuboot: Set encrypted header flag when key is used
Uses the clear imgtool argument to set the encrypted flag in the
header of the signed hex output, without encrypting the data. This
addresses an issue whereby the first update would swap images and
leave the swapped output in the secondary slot without encryption

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2025-02-13 16:43:40 +01:00
Luca Burelli
fe29c40a93 llext: add inspection API test suite
This patch adds a test suite for the inspection API. The test checks
that the symbols exported by the 'inspect_ext' extension are correctly
mapped inside their corresponding regions and sections.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2025-02-13 16:43:29 +01:00
Luca Burelli
44c7a1401e llext: add ELF inspection APIs
Add APIs to inspect the contents of an ELF file loaded as an extension.
This is useful for applications that need to access the contents of the
extension in a more fine-grained way than the existing LLEXT APIs.

Use of these APIs requires the 'keep_elf_data' option to be provided via
struct llext_load_param to the 'llext_load()' call.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2025-02-13 16:43:29 +01:00
Luca Burelli
325d6b7d7f llext: add option to keep section data after llext_load
This is required for the functions that inspect the ELF file to work
properly. The user must then call llext_free_inspection_data() before
calling llext_unload() to free the memory left allocated in the loader
and extension memory.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2025-02-13 16:43:29 +01:00
Jamie McCrae
0201683adb cmake: snippets: Add snippet help message
Adds a help message which gives details on a common issue with
snippets where the roots are not known or a snippet is applied
to multiple images

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2025-02-13 16:43:20 +01:00
Ryan McClelland
ef232f34d0 arch: arm: fix compile issue if MEM_ATTR=n and ARM_MPU=y
It's possible to have MEM_ATTR=n and ARM_MPU=y. This fixes the compile
issue with it by compiling out the calls to define the DT mpu regions.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2025-02-13 16:43:11 +01:00
Andy Ross
4b27b5494f soc/mediatek/mtk_adsp: Always cache the full SRAM region
I think my original idea with this default MPU setup was that the top
bits of the (fast) SRAM region might be useful for host DMA that
needed better latencies than the (extremely slow) system DRAM
mappings.  So it should be left uncached for safety.

But unfortunately the author[1] of the SOF heap integration for this
platform decided to size the heap dynamically to use most of the SRAM
block (the vectors and a few other bits live at the bottom, but most
of .text is in DRAM).

Needless to say, an uncached heap is sort of a performance disaster.
It worked OK for default copy-only topologies but fell over the moment
we turned on nontrivial processing.

[1] Um... Hi.  Yeah, that's me too.

Signed-off-by: Andy Ross <andyross@google.com>
2025-02-13 16:43:00 +01:00
Andy Ross
0f4eeb6380 soc/mediatek/mtk_adsp: Use smaller accesses when find()ing in device memory
Recent Python interpreters have started tossing bus errors from this
12-byte string search (the loader is looking for the winstream
descriptor in the live firmware image).  My guess is that there's a
SIMD optimization that's been added that's trying to do e.g. a 16 byte
load, and something in the fabric is kicking that out.  Note that this
is 100% a software change: the same hardware with one version of the
host environment works, and an update breaks it.

But really I have no idea what's happening here, the memory region in
question is documented as system DRAM, the same bus regular process
memory is on (it's just not kernel-utilized memory).  All I know is
that the bus error is introduced with a Python upgrade from 3.8.20 to
3.11.10.

Regardless, it's no great hardship to do the search on 64 bit chunks.

Signed-off-by: Andy Ross <andyross@google.com>
2025-02-13 16:43:00 +01:00
Wilfried Chauveau
caafe23891 arch: arm: cortex_m: Apply clang-format on cortex_m related code
This commit updates cortex_m related code to align it with the rules from
.clang-format. This is done to simplify future changes in these files as
we are about to implement use_switch support.

Some rules conflict with checkpatch and therefore some small part of the
code locally disable clang-format.

Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
2025-02-13 16:42:48 +01:00
Tom Hughes
65b4e594d7 drivers: gpio: pca95xx: Remove unused functions
Building with clang warns:

drivers/gpio/gpio_pca95xx.c:256:19: error: unused function
'update_input_reg' [-Werror,-Wunused-function]
static inline int update_input_reg(const struct device *dev, uint8_t pin,
                  ^

drivers/gpio/gpio_pca95xx.c:120:12: error: unused function
'read_port_reg' [-Werror,-Wunused-function]
static int read_port_reg(const struct device *dev, uint8_t reg,
           ^             uint8_t pin,

Signed-off-by: Tom Hughes <tomhughes@chromium.org>
2025-02-13 16:42:35 +01:00
Grzegorz Chwierut
145b1b9e64 ci: twister: Group CMake and Build failures in Twister analysis
After adding more detailed information to the reason field in
Twister report, update twister_report_analyzer.py to group
CMake and Build failures.

Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
2025-02-13 16:42:23 +01:00
Grzegorz Chwierut
33b202e295 twister: blackbox: fix test_report_summary after extending reason
Updated test_report_summary to match new string with detailed
reason of build failure.

Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
2025-02-13 16:42:23 +01:00
Grzegorz Chwierut
cac967db9f twister: extend reason field in Twister reports
Extended the reason field in Twister report to include
more detailed information for 'Build failure' and
'CMake build failure'

Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
2025-02-13 16:42:23 +01:00
Jonathon Penix
0bb7849aec tests: gen_isr_table: filter *arm_mainline test on *_M_MAINLINE config
Since it was added, `arch.interrupt.gen_isr_table_local.arm_mainline`
filters on `CONFIG_ARMV6_M_ARMV8_M_BASELINE`. I'm not entirely sure whether
this was intentional, but this seems odd to me given a) the naming of the
test b) that the `platform_allow` is `qemu_cortex_m3` and c) that the
`arch.interrupt.gen_isr_table.arm_mainline` test it inherits part of its
config from filters on `CONFIG_ARMV7_M_ARMV8_M_MAINLINE`.

The current filtering setup also means that a command like
`west twister -c -T tests/kernel/gen_isr_table/` currently filters out all
of the `*gen_isr_table_local*` tests which was a surprise to me when
testing locally (no tests broke for a change I made as they were
all filtered out).

Assuming this is undesireable, change the filter to check against
`CONFIG_ARMV7_M_ARMV8_M_MAINLINE` to make it possible to run the tests
on the expected platform without needing to work around the filter.

Signed-off-by: Jonathon Penix <jpenix@quicinc.com>
2025-02-13 16:42:08 +01:00
Rafał Kuźnia
f78742ff75 tests: drivers: adc: add nRF54L20 configuration
Added the test configuration for nRF54L20 for the following tests:
- adc_api
- adc_error_cases

Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>
2025-02-13 16:41:57 +01:00
Carlo Kirchmeier
ae96ccc3d7 fs: enable custom mount points for fatfs
Introduce two new kconfig options in order
to be able to define custom named fatfs
mount points. If activated replace the static
FF_VOLUME_STRS approach with the runtime
generated VolumeStr array containing those
mount points.

Signed-off-by: Carlo Kirchmeier <carlo.kirchmeier@zuehlke.com>
2025-02-13 16:41:34 +01:00
Omkar Kulkarni
97166a5c11 tests: settings: Performance test for settings
This adds a on target performance test for Settings SS. Using this test
performance of the Setting SS + NVS/ZMS backend can be benchmarked.

The test repeatedly write 128 settings entries. Each setting entry
has a size of 4 bytes, and path length of 16 bytes (excluding the
null-terminator).

The test has two variants, with and without Bluetooth scan running.
This is useful to benchmark performance along with some component
of BT subsystem activated.

The test could be enhanced in future to include or create combinations
of different functionalities running, when agreesive store operations
are happening.

Signed-off-by: Omkar Kulkarni <omkar.kulkarni@nordicsemi.no>
2025-02-13 16:40:41 +01:00
Riadh Ghaddab
ef4e8dd5c3 settings: ZMS: add a backend for ZMS (Zephyr Memory Storage)
This adds the initial backend support for the ZMS storage system.

Signed-off-by: Riadh Ghaddab <rghaddab@baylibre.com>
2025-02-13 16:40:41 +01:00
Andriy Gelman
b92c3aa6ed drivers: flash: spi_nor: Set 4-byte addr mode via write instruction 0x17
Some flash devices enable entering the 4-byte address mode
by setting BIT(7) in a special register via a write instruction 0x17.
The support for this method is indicated in BIT(3) of
Enter 4-Byte Addressing byte in 16th DWORD of the JEDEC Basic
Flash Parameter Table.

Infineon's S25FL512S is an example flash device with this feature.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2025-02-13 16:40:24 +01:00
Mahesh Mahadevan
3b43cb3139 tests: pm: Test the SoC State Change Power Domain driver
The SoC State Change Power Domain driver issues TURN_ON/
TURN_OFF actions to all devices registered with it for
certain power states that can be specified via device tree.
This test exercises the functionality of this driver.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-02-13 16:40:10 +01:00
Mahesh Mahadevan
b579a90413 drivers: power_domain: Add a driver to trigger TURN_ON/TURN_OFF actions
This driver triggers the TURN_ON and TURN_OFF actions for certain
power states. These power states are specified via device tree.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-02-13 16:40:10 +01:00
Filip Kokosinski
5ebb04fb56 boards/qemu/xtensa: fix DCACHE_LINE_SIZE value for sample_controller32
This commit adds a missing default value for the `DCHACHE_LINE_SIZE` option
for the `qemu_xtensa/sample_controller32/mpu` platform. This is required
after 8b39d4a613 added a build assert
checking this value against `core-isa.h` from Xtensa HAL.

Fixes #85591.

Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
2025-02-13 13:22:14 +01:00
Benjamin Cabé
7da7818d4f Revert "soc: nxp: imxrt: imxrt118x: change trdc permission getting strategy"
This reverts commit e3538a3183 as it's
causing CI failures in main.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-02-13 13:21:58 +01:00
Emil Gydesen
a0fde2e4f8 doc: release_notes: Add new BT LE Audio APIs
Add list of new functions and APIs for LE Audio.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-02-13 12:18:23 +01:00
Make Shi
f8ebbb3fef Bluetooth: AVCTP: Implement the functionality of avctp_l2cap_accept
- Implement the functionality of avctp_l2cap_accept to accept an L2CAP
  connection for the AVCTP protocol.

Signed-off-by: Make Shi <make.shi@nxp.com>
2025-02-13 12:16:30 +01:00
Alberto Escolar Piedras
58b95837d0 manifest: Update nRF hw models to latest
Update the HW models module to:
5dc34b26662c6ec91edf1174d775d78590b1a05b

Including the following:
* 5dc34b2 CLOCK (52-54): Silly bugfix
* 4f622b7 CLOCK (52-54): Make TASK_*CLKSTOP instantaneous and clear
          LFCLK.STAT
* 07b1bdb RADIO 54: Correct 2 comments related the CCM trigger

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-02-13 12:16:15 +01:00
Jonny Gellhaar
4632cefc89 fs: api: Fix typo in API documentation
Typo in errno reference for mount flag.

Signed-off-by: Jonny Gellhaar <jonny.gellhaar@prevas.se>
2025-02-13 12:16:05 +01:00
Carlo Weidinger
8a10725b5e boards: Fixing rak4631 lora RX and TX pins
Taking a look at the schematic shows that
tx-enable-gpios and dio2-tx-enable were directly connected.
This had the effect tx-enable-gpios was trying to pull the line down
while SX1262 is pulling the same line high. This increased
the power consumption.
Now only the SX1262 sets the antenna to tx via dio2-tx-enable.
Setting the antenna to rx is still done via the rx-enable-gpios.
The antenna defaults to rx if not in use.

Signed-off-by: Carlo Weidinger <carlo.weidinger@protonmail.com>
2025-02-13 12:15:54 +01:00
Sebastian Głąb
c4a817971d tests: drivers: watchodg: Enable wdt_error_cases on nRF5340dk
Enable wdt_error_cases test on nRF5340dk.

Define valid test configuration for that target
(reuse from nRF54H/nRF54L).
Add target to the platform_allow.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2025-02-13 12:15:41 +01:00
Guillaume Gautier
824bc6cfb5 tests: drivers: uart: async_api: add stm32n6 boards overlays
Add UART test overlays for Nucleo N657x0-Q and STM32N6570 DK boards.
Remove non serial boot conf file since they are now unnecessary.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-02-13 12:15:01 +01:00