Commit graph

136,983 commits

Author SHA1 Message Date
Marek Matej
d5d8bb17fa samples: espressif: Flash multicore sharing example
This is a simple example of sharing flash access between multiple CPU
cores.

Signed-off-by: Marek Matej <marek.matej@espressif.com>
2025-12-02 16:13:52 +00:00
Marek Matej
4c62fee6eb drivers: flash: esp32: flash access supervisor
Add support to access flash from remote CPU cores.

Signed-off-by: Marek Matej <marek.matej@espressif.com>
2025-12-02 16:13:52 +00:00
Sumit Batra
8d8fdbd7e0 boards: nxp: mr_canhubk3: add mcuboot variant and document sysbuild
Add an mcuboot board variant under the S32K344 SoC in board.yml.
New target is - mr_canhubk3/s32k344/mcuboot. This enables a
single sysbuild invocation to build MCUboot and the application.
Also make a common dtsi for all mr_canhubk3 board variants.

Extend the board documentation with an “MCUboot (sysbuild)” section
that:

Shows one-command sysbuild to produce both MCUboot and app
Documents signing via sysbuild (SB_CONFIG_BOOT_SIGNATURE_*),
and where the signed artifacts are generated.

Provides simple flashing instructions and a troubleshooting
note about using a 1 KiB (0x400) image header and not emitting
an IVT for chain-loaded apps.

Signed-off-by: Sumit Batra <sumit.batra@nxp.com>
2025-12-02 16:12:51 +00:00
Sumit Batra
3edbc3762c soc: nxp: s32k3: gate IVT emission when chain-loaded by MCUboot
Emit the IVT section and IVT header only when XIP and the image is either
a standalone XIP app or MCUboot itself. Do not emit the IVT when the
Zephyr image is chain-loaded by MCUboot (BOOTLOADER_MCUBOOT=y).

- linker.ld/sections.ld: place .ivt_header at IVT_HEADER only under
XIP && (!BOOTLOADER_MCUBOOT || MCUBOOT).
Provide __ivt_region_start/end symbols.
- soc.c: guard IVT struct under the same condition and mark it 'used'
so the linker keeps it when needed.
- Kconfig.defconfig - Make the bootloader and the sign tool compatible
with the vector table.

This avoids populating 0x400000 IVT from the app image while retaining it
for MCUboot or standalone XIP use-cases.

Files:
- soc/nxp/s32/s32k3/linker.ld
- soc/nxp/s32/s32k3/sections.ld
- soc/nxp/s32/s32k3/soc.c
- soc/nxp/s32/s32k3/Kconfig.defconfig

Signed-off-by: Sumit Batra <sumit.batra@nxp.com>
2025-12-02 16:12:51 +00:00
Sumit Batra
1b2517b9b6 soc: nxp s32k3: derive sys clock from devicetree
Use devicetree to provide the system clock frequency for S32K3
instead of hardcoding it in board defconfigs.

- Add clock-frequency to /cpus/cpu@0 in nxp_s32k344_m7.dtsi using
DT_FREQ_M(160).
- Define DT_SYSCLK_PATH and derive SYS_CLOCK_HW_CYCLES_PER_SEC from
the sysclk node via dt_node_int_prop_int() when CORTEX_M_SYSTICK.
- Remove CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC from mr_canhubk3

This keeps the clock configuration in a single SoC-level place,
aligns S32K3 with other NXP Cortex-M SoCs, and ensures both the
MCUboot and application builds share the same
SYS_CLOCK_HW_CYCLES_PER_SEC.

Signed-off-by: Sumit Batra <sumit.batra@nxp.com>
2025-12-02 16:12:51 +00:00
Sumit Batra
1be79f0c92 dts: nxp: Add binding for C40 flash and flash controller
Introduce DT bindings for on-chip C40 flash and its controller
and describe their corresponding nodes in nxp_s32k344_m7.dtsi.

- Binding: dts/bindings/mtd/nxp,c40-flash.yaml
Erase/write block sizes.

- Binding: dts/bindings/flash_controller/nxp,c40-flash-controller.yaml
Describe flash device (child) ranges

- SoC nodes:  With the new compatible and geometry
properties. Keep status = "disabled" at the SoC level
so boards opt-in.

This prepares the platform for using Zephyr’s flash API / FLASH_MAP /
MCUboot with internal code flash.

Signed-off-by: Sumit Batra <sumit.batra@nxp.com>
2025-12-02 16:12:51 +00:00
Sumit Batra
404556e36c drivers: flash: Add MCUX C40 flash controller driver
Add flash controller driver for the on-chip C40 flash controller
The driver is backed by the MCUX C40 HAL and implements
read/erase/program, page layout, and an optional protection policy
that can lock well-known regions (IVT/MCUboot) derived from devicetree.

Key details:
- Selects FLASH_HAS_DRIVER_ENABLED / FLASH_HAS_EXPLICIT_ERASE /
FLASH_HAS_PAGE_LAYOUT.
- Runs erase/program from SRAM when XIP by relocating both the shim and
the MCUX HAL source if CODE_DATA_RELOCATION_SRAM=y.
- Optional protection pass at init (FLASH_MCUX_C40_APPLY_PROTECTION),
which aligns windows to sector boundaries and applies lock/unlock
using the HAL. This is useful on XIP systems to keep IVT/bootloader
ranges read-only; can be disabled if a bootloader or security policy
manages protection instead.

Files:
- drivers/flash/flash_mcux_c40.c (new)
- drivers/flash/CMakeLists.txt (+zephyr_code_relocate when needed,
Compliance fixes)
- drivers/flash/Kconfig.mcux (enable flash driver, reloc & protection)
- modules/hal_nxp/mcux/mcux-sdk-ng/drivers/drivers.cmake

Signed-off-by: Sumit Batra <sumit.batra@nxp.com>
2025-12-02 16:12:51 +00:00
Omeed Baboli
1034ba6b9b drivers: sensor: qdec_stm32: add sensor channel for encoder counts
Add a sensor channel for the encoder counts. This is useful for
reading the encoder counts and calculating an absolute position
of a linear actuator.

Signed-off-by: Omeed Baboli <omeedbaboli@gmail.com>
2025-12-02 16:12:35 +00:00
Muzaffar Ahmed
d31c6e9503 drivers: wifi: siwx91x: Fix link mode query for AP mode in channel 14
Add a channel check to update the link mode in wifi status query.

Signed-off-by: Muzaffar Ahmed <muzaffar.ahmed@silabs.com>
2025-12-02 12:31:30 +00:00
Siratul Islam
86db58627a boards: xtensa: add support for WEMOS LOLIN32 Lite
Add board support for the WEMOS LOLIN32 Lite, a compact ESP32-D0WDQ6/
ESP32-D0WD-V3 based development board with integrated Wi-Fi and BLE.

Features:
- 4MB flash (W25Q32)
- Onboard battery charging (TP4054, PH-2 connector)
- CH340C USB-to-serial converter
- Onboard LED on GPIO22
- Micro-USB or USB Type-C variants

Signed-off-by: Siratul Islam <email@sirat.me>
2025-12-02 12:31:22 +00:00
Maochen Wang
cf6e450f5a manifest: fix double-free assertion in TLS 1.3 case of hostap
In TLS 1.3, when mbedtls_ssl_read() returns an error, wpabuf_free() is
called twice: first in tls_connection_handshake() and then again in
eap_tls_process_input(), leading to an assertion failure. Remove the
redundant wpabuf_free() to prevent the double-free issue.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2025-12-02 12:30:57 +00:00
Maochen Wang
bdaf732c44 samples: net: wifi: fix PEAP connection failure on RW612
PEAP Wi-Fi connections on RW612 may fail due to memory allocation
errors in mbedTLS. Increasing the mbedTLS heap size resolves this
issue.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2025-12-02 12:30:57 +00:00
Maochen Wang
198592a505 hostap: disable TLS 1.3 for PEAP-TLS phase2
The supplicant currently supports TLS 1.3 only for EAP-TLS. To prevent
TLS handshake failures in PEAP-TLS phase2, add the flag
'tls_disable_tlsv1_3=1' to phase2 configuration, ensuring TLS 1.3 is
disabled for inner authentication.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2025-12-02 12:30:57 +00:00
Luis Ubieda
b0646f3d03 modules: hal_afbr: Add binary blobs with FPU
To work with applications using Floating point math.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-12-02 12:30:28 +00:00
Aksel Skauge Mellbye
e61c04e05d drivers: entropy: gecko_trng: Fully initialize on read
If the TRNG has been unretained, it's not sufficient to enable
the clock, it must be fully reinitialized.

This is a minimal fix to ensure entropy is accumulated after sleep.
Long term, this driver should be made to use device power
management with power domain awareness.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-12-02 12:29:14 +00:00
Yangbo Lu
ad205339ef samples: net: gptp: add default case for status switch statement
Added default case for status switch statement.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2025-12-02 11:45:19 +01:00
Yangbo Lu
548d0008b6 samples: net: dsa: improve code quality
Improved code quality with below changes.
- Avoided declaration shadowing variable in the global scope.
- Avoided missing default in switch block.
- Dropped unused variable.
- Reduced the level of if statements properly.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2025-12-02 11:45:19 +01:00
Yangbo Lu
40594fa40c samples: net: add Ethernet bridge sample
Added Ethernet bridge sample and enable mimxrt1180_evk_mimxrt1189_cm33
board as an example. On mimxrt1180_evk_mimxrt1189_cm33, 5 ports are
bridged with DHCPv4 enabled to test, including 4 DSA ports and
1 normal Ethernet port.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2025-12-02 11:45:19 +01:00
Yangbo Lu
c697eff0c3 MAINTAINERS: update vlan and dsa samples path
Updated vlan and dsa samples path as they were moved.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2025-12-02 11:45:19 +01:00
Yangbo Lu
840d464ffb samples: net: move Ethernet samples to folder
Moved current Ethernet samples to folder ethernet,
as there will be more samples added in the future.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2025-12-02 11:45:19 +01:00
Yangbo Lu
8c95e841ec net: dsa: use snprintk instead of snprintf
Used snprintk instead of snprintf as snprintk is compatible
across platforms.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2025-12-02 11:45:19 +01:00
Yangbo Lu
b46db1e2ea net: net_if: use debug level message for iface down
Dropping packet is normal operation when iface is down.
So, we don't have to use warning here for much noise.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2025-12-02 11:45:19 +01:00
Yangbo Lu
44463a42d8 net: bridge: enable IPv4/IPv6 support
Ethernet bridge performs L2 forwarding between bridged interfaces.
But for the virtual bridge interface, we could make it perform as
normal Ethernet interface with IP address to use.

This is useful allowing applications to communicate with network,
like LAN router or switch with a host IP.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2025-12-02 11:45:19 +01:00
Yangbo Lu
684957e9c1 net: bridge: add forward decision support
Added forward decision support including for broadcast,
multicast and local address packets.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2025-12-02 11:45:19 +01:00
Yangbo Lu
27b8d65b77 net: ethernet: support bridge RX
Added support for bridge RX. We were going to support protocols
on bridge.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2025-12-02 11:45:19 +01:00
Yangbo Lu
7d22828642 net: bridge: handle RX in bridge_input.c
Current bridge function is very simple which does forwarding for all
packets. There will be more and more features of bridge RX handling.

Let's move bridge RX handling to bridge_input.c for next IPv4/IPv6
protocols support for virtual bridge interface.

And currently there is no path to call bridge_iface_recv function.
Let's rework it for proper function returning NET_CONTINUE.

Also fixed another issue of link local address checking. Because
net_linkaddr structure changed. So fixed

is_link_local_addr((struct net_eth_addr *)net_pkt_lladdr_dst(pkt))

to

is_link_local_addr((struct net_eth_addr *)(net_pkt_lladdr_dst(pkt)->addr))

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2025-12-02 11:45:19 +01:00
Yangbo Lu
3361dd1939 net: bridge: move bridge files to folder
Moved bridge files to folder to manage. More bridge features
and files will be added in the future.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2025-12-02 11:45:19 +01:00
Fabin V Martin
08fdc8fcdc boards: microchip: pic32cx_sg41_cult: update board with uart nodes
Add uart support for pic32cx_sg41_cult.

Signed-off-by: Fabin V Martin <Fabinv.Martin@microchip.com>
2025-12-02 11:45:04 +01:00
Fabin V Martin
91258fada7 boards: microchip: pic32cx_sg61_cult: update board with uart nodes
Add uart support for pic32cx_sg61_cult.

Signed-off-by: Fabin V Martin <Fabinv.Martin@microchip.com>
2025-12-02 11:45:04 +01:00
Fabin V Martin
c394cd8502 dts: arm: microchip: pic32cx_sg: add sercom nodes
Add sercom nodes for pic32cx_sg

Signed-off-by: Fabin V Martin <Fabinv.Martin@microchip.com>
2025-12-02 11:45:04 +01:00
Pavel Vasilyev
6da559f565 bluetooth: host: Fix stale RPA usage after invalidation
Add !BT_ADV_RPA_VALID check to force RPA regeneration when re-enabling
an advertising set after RPA rotation occurred while disabled.

The BT_ADV_RANDOM_ADDR_UPDATED flag was added to prevent unnecessary
address regeneration (RPA/NRPA) between bt_le_ext_adv_param_set() and
bt_le_ext_adv_start() calls. However, this revealed an issue:

When RPA rotation (le_force_rpa_timeout) occurs while an advertiser is
disabled, BT_ADV_RPA_VALID is cleared but the RPA is not regenerated.
On subsequent bt_le_ext_adv_start() without a new param_set() call:
- BT_ADV_RANDOM_ADDR_UPDATED is already cleared (from previous start)
- Without BT_PER_ADV_ENABLED, no regeneration occurs
- Stale RPA is used, violating privacy requirements

Add !BT_ADV_RPA_VALID check for both connectable and non-connectable
advertisers to ensure fresh RPA generation when the previous RPA was
invalidated while the advertiser was disabled.

Fixes regression introduced in #98117.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2025-12-02 11:40:39 +01:00
Luis Ubieda
1c07d92f7f gnss: F9P: Send RTK commands only if RTK is enabled
Otherwise treat it as a basic UXB GNSS modem.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-12-02 11:35:18 +01:00
Yves Wang
9dafe6e67e cmake: usage: add ram/rom plot and traceconfig in usage
Added missing ram/rom plot and traceconfig targets in usage.cmake.

Signed-off-by: Yves Wang <zhengjia.wang@nxp.com>
2025-12-02 11:35:05 +01:00
Valerio Setti
e5ec376e28 samples: tfm_integration: replace legacy Mbed TLS deps with PSA API
Replace selection of legacy Mbed TLS Kconfigs with PSA API ones.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2025-12-02 11:32:35 +01:00
Valerio Setti
b2f3175793 samples: mcumgr: smp_svr: replace legacy Mbed TLS deps with PSA API
Replace selection of legacy Mbed TLS Kconfigs with PSA API ones.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2025-12-02 11:32:35 +01:00
Valerio Setti
768df256b2 samples: net: http_client: replace legacy Mbed TLS deps with PSA API
Replace selection of legacy Mbed TLS Kconfigs with PSA Crypto API ones.

While at this, add also a test case using "overlay-tls.conf" since this
is also mentioned in README file.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2025-12-02 11:32:35 +01:00
Valerio Setti
271a213f23 samples: net: big_http_download: replace legacy MD with PSA API
Replace usage of Mbed TLS' MD module with PSA Crypto API for SHA-256 hash
computation.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2025-12-02 11:32:35 +01:00
Valerio Setti
04cfed9fd0 samples: net: lwm2m_client: replace legacy Mbed TLS deps with PSA API
Replace selection of legacy Mbed TLS crypto support with PSA API.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2025-12-02 11:32:35 +01:00
Valerio Setti
67d68108fa samples: net: mqtt_azure: replace legacy Mbed TLS deps with PSA API
Replace selection of legacy Mbed TLS crypto with corresponding PSA API
alternative.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2025-12-02 11:32:35 +01:00
Valerio Setti
4f947f00f9 tests: net: tls_configurations: replace legacy crypto with PSA API
Replace selection of legacy Mbed TLS crypto Kconfig with PSA Crypto API
ones.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2025-12-02 11:32:35 +01:00
Valerio Setti
99bb73537c tests: net: lwm2m: replace legacy crypto deps with PSA API
Replace usage of legacy Mbed TLS crypto with PSA Crypto API.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2025-12-02 11:32:35 +01:00
Valerio Setti
52df6fb770 tests: net: http_server: replace legacy crypto deps with PSA API
Replace legacy Mbed TLS crypto support with PSA API.
RSA key exchange dependency was removed because all certificates and
keys used in the test are EC.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2025-12-02 11:32:35 +01:00
Krzysztof Chruściński
9d09993ce6 tests: kernel: timer: timer_api: Fix hanging for slow platforms
Test had forever loop that was attempting to read k_timer_remaining_ticks
while system tick did not change. If target has relatively fast system
clock then it might be impossible.

Tweak test to repeat few times and if k_timer_remaining_ticks is not
read in the known tick then range is used to validate correctness of
the returned value.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-12-02 11:31:41 +01:00
Muzaffar Ahmed
f0454eb8b1 drivers: wifi: siwx91x: Fix AP mode channel status when using auto channel
Fixes the auto channel status by using the channel number from fetched
wireless info, rather than the input config variable.

Signed-off-by: Muzaffar Ahmed <muzaffar.ahmed@silabs.com>
2025-12-02 11:31:24 +01:00
Fabian Blatz
85e0067877 doc: dts: Expand explanation of zephyr,touch chosen node
Add explanation of the `CONFIG_LV_Z_POINTER_FROM_CHOSEN_TOUCH` interaction
with the `zephyr,touch` chosen node.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2025-12-02 11:31:07 +01:00
Fabian Blatz
d7720d8085 tests: misc: check_init_priorities: Update reference init level list
After removing the `zephyr,lvgl-pointer-input` device the init level
entries have shifted by one entry. Update them accordingly.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2025-12-02 11:31:07 +01:00
Fabian Blatz
d4ec3fef5e boards: Remove lvgl_input_pointer where chosen zephyr,touch is present
With the new LV_Z_POINTER_FROM_CHOSEN_TOUCH most boards do not need to
specify a dedicated pseudo device anymore.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2025-12-02 11:31:07 +01:00
Fabian Blatz
36c673f5f9 modules: lvgl: Add LV_Z_POINTER_FROM_CHOSEN_TOUCH option
Adds a Kconfig option LV_Z_POINTER_FROM_CHOSEN_TOUCH which automatically
creates a lvgl input pointer device from the chosen zephyr,touch node.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2025-12-02 11:31:07 +01:00
Chun-Chieh Li
d29321fee6 drivers: can: numaker: fix m55m1x core clock
On M55M1 series, the clock module index is virtual to stay compatible
with 32-bit only cell value in devicetree. Its real value of being
64-bit integer needs to acquire indirectly.

Signed-off-by: Chun-Chieh Li <ccli8@nuvoton.com>
2025-12-02 11:27:51 +01:00
Dilip Raman
00e9d45245 drivers: sensor: adi: fix build warnings in ADXL decoder drivers
Fix invalid pointer-to-integer cast and comparison warnings in
ADXL362, ADXL367, and ADXL372 decoder drivers. The previous code
used `(uint8_t *)*fit` for offset comparison, which triggered
`-Wint-to-pointer-cast` warnings on recent compilers and could
lead to undefined behavior.

This patch replaces unsafe casts with `uintptr_t` arithmetic and
ensures type-safe offset calculations, preserving existing logic
while eliminating all build warnings.

Signed-off-by: Dilip Raman <dilipr@aerlync.com>
2025-12-02 11:27:43 +01:00