Commit graph

136,983 commits

Author SHA1 Message Date
Zhaoxiang Jin
3eb60a9792 boards: nxp: convert 'XIP_BOOT_HEADER_DCD_ENABLE' to Kconfig options
1. This commit converts the 'XIP_BOOT_HEADER_DCD_ENABLE' preprocessor
define to Kconfig options across NXP i.MX RTxxxx evaluation boards.
The changes enable flexible boot header configuration through the
Kconfig build system instead of compile-time defines, improving
configurability and maintainability.

2. Now 'XIP_BOOT_HEADER_DCD_ENABLE' flag is only used in
hal_nxp/rtxxxx/fsl_flexspi_nor_boot.h which is included by soc.c,
therefore, this flag should be passed in the rtxxxx/SoC layer CMake
using zephyr_library_compile_definitions(). and can be removed from
each board CMakeLists.txt.

Note: if out-of-tree files still need to use this flag, please add
it in your own CMakeLists.txt.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-01-16 11:43:49 +00:00
Zhaoxiang Jin
c323ac7f7e boards: nxp: convert 'BOOT_HEADER_ENABLE' to Kconfig options
1. This commit converts the 'BOOT_HEADER_ENABLE' preprocessor
define to Kconfig options across NXP i.MX RTxxx evaluation boards.
The changes enable flexible boot header configuration through the
Kconfig build system instead of compile-time defines, improving
configurability and maintainability.

2. Now this flag is not used in Zephyr tree, so removed
'zephyr_compile_definitions(BOOT_HEADER_ENABLE=1)' from the
CMakeLists.txt files of the following boards:
- mimxrt595_evk
- mimxrt685_evk
- mimxrt700_evk

Note: for out-of-tree projects that still require this flag,
users can define it in their own CMakeLists.txt or prj.conf files.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-01-16 11:43:49 +00:00
Zhaoxiang Jin
2849272e60 boards: nxp: convert 'XIP_BOOT_HEADER_ENABLE' to Kconfig options
1. This commit converts the 'XIP_BOOT_HEADER_ENABLE' preprocessor
define to Kconfig options across NXP i.MX RTxxxx evaluation boards.
The changes enable flexible boot header configuration through the
Kconfig build system instead of compile-time defines, improving
configurability and maintainability.

2. Now 'XIP_BOOT_HEADER_ENABLE' flag is only used in
hal_nxp/rt11xx/fsl_flexspi_nor_boot.h which is included by soc.c,
therefore, this flag should be passed in the rt11xx/SoC layer CMake
using zephyr_library_compile_definitions(). and can be removed from
each board CMakeLists.txt.

Note: if out-of-tree files still need to use this flag, please add
it in your own CMakeLists.txt.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-01-16 11:43:49 +00:00
Zhaoxiang Jin
7ff326ef56 boards: nxp: move 'BOARD_FLASH_SIZE' to SoC layer cmake
For RT10xx and RT11xx, flag 'BOARD_FLASH_SIZE' is only used
in hal_nxp fsl_flexspi_nor_boot.h which is included by soc.c,
therefore, this flag should be passed in the SoC layer CMake
using zephyr_library_compile_definitions() to limit its scope.

Normally, 'BOARD_FLASH_SIZE' should not be used elsewhere.
If an out-of-tree user uses this flag elsewhere, please define
the flag yourself.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-01-16 11:43:49 +00:00
Zhaoxiang Jin
a86a84afdf boards: nxp: remove 'BOARD_FLASH_SIZE' for RTxxx boards
Flag 'BOARD_FLASH_SIZE' is not used for RTxxx, so remove it
from mimxrt595_evk, mimxrt685_evk, and mimxrt700_evk board
CMakeLists.txt files.

Normally, 'BOARD_FLASH_SIZE' should not be used elsewhere.
If an out-of-tree user uses this flag elsewhere, please define
the flag yourself.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-01-16 11:43:49 +00:00
Zhaoxiang Jin
174f1f71c4 soc: nxp: scope boot-header compile defs to soc library
Create a dedicated Zephyr library for the imxrt11xx and
imxrt10xx SoC in CMakeLists.txt and move soc.c into it
(zephyr_library() + zephyr_library_sources(soc.c)).

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-01-16 11:43:49 +00:00
Camille BAUD
bc07d91cca drivers: lora: Add ability to force enable LDRO
Allows Enabling LDRO all the time via DTS

Signed-off-by: Camille BAUD <mail@massdriver.space>
2026-01-16 11:43:43 +00:00
Camille BAUD
cd65845ba2 drivers: lora: Enable LDRO when symbol time > 16.38ms
Enable LDRO when it should be enabled

Signed-off-by: Camille BAUD <mail@massdriver.space>
2026-01-16 11:43:43 +00:00
Camille BAUD
6b2f1c19ac drivers: lora: Add missing Bandwidth and Spreading Factor values
Add missing values and replace arbitrary BW enum with actual value

Signed-off-by: Camille BAUD <mail@massdriver.space>
2026-01-16 11:43:43 +00:00
Richard Mc Sweeney
213d95358c dts: arm: infineon cat1b mpns
Disabled flash controller as it is not yet updated to support PSC3

Signed-off-by: Richard Mc Sweeney <Richard.McSweeney@infineon.com>
2026-01-16 11:43:25 +00:00
Richard Mc Sweeney
415986b89f dts: arm: infineon cat1b psc3
Add power-states to PSC3

Signed-off-by: Richard Mc Sweeney <Richard.McSweeney@infineon.com>
2026-01-16 11:43:25 +00:00
Richard Mc Sweeney
5dbd980dce soc: infineon: add psc3 power management
Adds power management support for the Infineon PSC3 device

Signed-off-by: Richard Mc Sweeney <Richard.McSweeney@infineon.com>
2026-01-16 11:43:25 +00:00
Gaetan Perrot
f15e645e35 drivers: watchdog: nxp_ewm: fix redundant NULL check
nxp_ewm_install_timeout() accesses cfg fields before checking for
NULL, making the later NULL check ineffective.

Remove the redundant check.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-01-16 11:43:06 +00:00
Gatien Chevallier
1b988e9014 MAINTAINERS: Add area for OTP
Create a section for the OTP subsystem. NVMEM is referenced in the test
category as the OTP subsystem is tested using the NVMEM API.

Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
2026-01-16 11:42:50 +00:00
Gatien Chevallier
afab067381 tests: nvmem: Add OTP testcase
Add an overlay/config to test the NVMEM subsystem with an emulated
OTP driver.

Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
2026-01-16 11:42:50 +00:00
Gatien Chevallier
a6953f6427 boards: native_sim: add OTP memory emulator node
Add an OTP memory emulator node to the board native_sim board device
tree file.

Additions of a node to the native sim device tree shifts the device
index, hence making the check_init_priorities test fail. Update the
index in the reference data of the test.

Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
2026-01-16 11:42:50 +00:00
Gatien Chevallier
1d42f375cd drivers: otp: add OTP memory emulation driver
In order to make some basic tests on the OTP API, add an OTP memory
emulator driver. It implements the .program() and .read() APIs.

Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
2026-01-16 11:42:50 +00:00
Gatien Chevallier
624e018a5f nvmem: Add OTP API support
OTP drivers are the interface to One Time Programmable memory, which
is NVMEM. Add the interface with the OTP API to the NVMEM one.

Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
2026-01-16 11:42:50 +00:00
Gatien Chevallier
7db8328b08 drivers: Introduce new OTP subsystem
Introduce a new OTP subsystem to be able to interact with One Time
Programmable(OTP) memory. For now, add basic read()/program() APIs.
Program() API is default disabled due to its sensitivity.

File drivers/otp.h is inspired by drivers/eeprom.h as the basic
features are similar.

Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
2026-01-16 11:42:50 +00:00
Carlo Caione
89b097428d modules: lora-basics-modem: Add remaining HAL stub functions
Add stub implementations for all remaining smtc_modem_hal functions
required by LoRa Basics Modem. These functions are not yet implemented
but provide the necessary symbols for linking.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2026-01-16 11:42:37 +00:00
Carlo Caione
a4dbdba2e7 modules: lora-basics-modem: Add HAL implementation with porting tests
Add the initial smtc_modem_hal implementation for Zephyr that provides the
hardware abstraction layer required by LoRa Basics Modem.

To fully port the LoRa Basic Modem library to Zephyr we need to port and
adapt three parts (see [0]):

1. Radio Driver HAL
2. RAL BSP
3. LoRa Basics Modem HAL

Right now the Radio Driver HAL and the RAL BSP are correctly implemented by
the lbm_sx126x drivers, this patchset is taking care of the initial work of
porting and adapting also the LoRa Basics Modem HAL.

The LBM library provides a porting tool [1] that (quoting from [2]) "[...]
provides a automatic suite of tests that will help user ensures that lora
basics modem mcu and radio HAL functions are implemented in a good way
(SPI, radio_irq, time, timer, random, radio config, sleep and low power)"

This patchset is taking care of making the porting tool a first class test
suite for Zephyr implementing the needed HAL functions.

[0] https://github.com/Lora-net/SWL2001/blob/master/lbm_lib/PORTING_GUIDE.md
[1] https://github.com/Lora-net/SWL2001/blob/master/lbm_examples/main_examples/main_porting_tests.c
[2] https://github.com/Lora-net/SWL2001/blob/master/lbm_examples/README.md

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2026-01-16 11:42:37 +00:00
Carlo Caione
ca0703f9e6 modules: lora-basics-modem: Refactor and fix CMake
A set of preliminary (but harmless) changes to prepare for adding the HAL
implementation.

- Rename CMake variables for clarity and consistency, adding an 'LBM_LIB_'
  prefix when the path is a library / module path.

- Change zephyr_library_include_directories to zephyr_include_directories
  for the RAL/RALF includes, since these headers may be needed outside the
  library itself.

- Make lbm_common.h available to code outside the driver directory.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2026-01-16 11:42:37 +00:00
TOKITA Hiroshi
523941037c tests: sensor: Add liteon,ltr553 to build_all test suite
Enable LTR553 driver testing.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2026-01-16 11:42:27 +00:00
TOKITA Hiroshi
0c506c6300 boards: m5stack: cores3: Add LTR 553 sensor configuration
Adding configuration for enabling LTR553 ambient light and
proximity sensor.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2026-01-16 11:42:27 +00:00
TOKITA Hiroshi
717bc816b9 drivers: sensor: liteon: ltr553: Add support for LTR553
Extends the LTR329 driver to support the LTR553.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2026-01-16 11:42:27 +00:00
TOKITA Hiroshi
ab6699c03a dts: bindings: liteon: ltr329: deprecate legacy ALS props
To add support for LTR553, we will migrate device-tree
properties to new ones and mark the old ones as deprecated.
We will also refactor variable names accordingly.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2026-01-16 11:42:27 +00:00
TOKITA Hiroshi
0f40d36f6b drivers: sensor: liteon: ltr55x: Split definitions to header
ADd ltr55x.h to split definitions from .c file.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2026-01-16 11:42:27 +00:00
TOKITA Hiroshi
69bee427ba drivers: sensor: liteon: Rename ltr329 to ltr55x
The LTR329 is a functional subset of the LTR55X series,
lacking the proximity sensor functionality.

To maintain symbol consistency, we will use LTR55X as the base name.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2026-01-16 11:42:27 +00:00
Jiafei Pan
b6866c15d3 boards: imx943_evk: enable watchdog for Cortex-A55
Enable WDOG4 for A55 on imx943_evk board. It could be verified by
building application by:
west build -p always -b imx943_evk/mimx94398/a55 samples/drivers/watchdog

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2026-01-16 11:42:08 +00:00
Jiafei Pan
4197520016 dts: arm64: imx943: add watchdog device nodes
Added device nodes for WDOG3 and WDOG4 which is used by A55.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2026-01-16 11:42:08 +00:00
Biwen Li
eb7827869c dts: arm: nxp: imx95: m7: disable disp_irqsteer
This is a workaround to fix a bug that failed
to access registers of display irqsteer when
display mix is in power off state.
- Display irqsteer is in display mix, need to
  power on display mix firstly.

Signed-off-by: Biwen Li <biwen.li@nxp.com>
2026-01-16 11:41:50 +00:00
Sylvio Alves
a03afda472 boards: espressif: update hw breakpoint limits per soc
Fix max number of hardware breakpoints based on SOC.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-01-16 11:41:34 +00:00
Zhaoxiang Jin
ab16cca665 drivers: adc: nxp_sar_adc: Add compatibility for SoCs without ADCLKSEL
Some NXP SAR ADC variants don't implement the MCR[ADCLKSEL] field.
Add conditional compilation guards to define compatibility macros
that evaluate to 0 when ADCLKSEL is not available, allowing the
driver to compile across different NXP SoCs.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-01-16 11:41:16 +00:00
Carlo Caione
d6dce1ca51 lorawan: rename region Kconfig symbols to be backend-agnostic
Move and rename the region Kconfig symbols from LORAMAC_REGION_* to
LORAWAN_REGION_* to make them backend-agnostic.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2026-01-16 11:41:01 +00:00
Carlo Caione
5eab8eb693 lorawan: move emulator to separate backend directory
Move the LoRaWAN emulator from the loramac-node backend directory to its
own directory because the emulator currently still depends on loramac-node
for some types and functions.

Once these dependencies are removed in a follow-up, the emulator can become
a fully standalone backend.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2026-01-16 11:41:01 +00:00
Carlo Caione
0a45c8dc70 lorawan: make NVM header documentation backend-agnostic
Remove loramac-node specific references (LORAMAC_NVM_NOTIFY_FLAG_*)
from the NVM interface documentation, making it suitable for any
LoRaWAN backend implementation.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2026-01-16 11:41:01 +00:00
Carlo Caione
429d98f80d lorawan: move loramac-node backend to subdirectory
Refactor the LoRaWAN subsystem to support multiple backends by moving
the loramac-node specific implementation into a dedicated subdirectory.

This change prepares the subsystem for adding lora-basics-modem support
as an alternative backend.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2026-01-16 11:41:01 +00:00
Ritesh Kudkelwar
14a4591ec0 doc: document west sdk under zephyr-specific west commands
Move west sdk documentation to the Zephyr-specific west commands page
and clarify listing, interactive install behavior, and toolchain
selection.

Signed-off-by: Ritesh Kudkelwar <ritesh.kumar0793@gmail.com>
2026-01-16 11:40:47 +00:00
Scott Worley
dc9d70307d boards: microchip: Use new, common UART driver for all MEC boards
Modify Microchip mec_assy6941 boards to use the new, common
UART driver. We also added chose "zephyr,shell-uart" to all
MEC boards allowing building of the "echo_bot" sample application.

Signed-off-by: Scott Worley <scott.worley@microchip.com>
2026-01-16 11:40:38 +00:00
Scott Worley
63b7e57fe9 dts: arm: microchip: mec: Update UART nodes with new driver properties
We updates all the UART hardware nodes for all MEC parts with
properties used by the new, common UART driver.

Signed-off-by: Scott Worley <scott.worley@microchip.com>
2026-01-16 11:40:38 +00:00
Scott Worley
c6a959dcc3 drivers: serial: microchip: mec: Common UART driver
We modified the Microchip MEC UART driver to be HAL
independent and be usuable on all MEC SoCs. The only
hardware difference is an extra register in the MEC174x/5x
family providing TX FIFO full and current byte count.

Signed-off-by: Scott Worley <scott.worley@microchip.com>
2026-01-16 11:40:38 +00:00
Henrik Brix Andersen
b5980bcc75 doc: releases: migration-guide: 4.4: mention change to FlexCAN DT clock
Mention that the NXP FlexCAN devicetree property "clk-source" now
automatically selects between named input clocks.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2026-01-16 11:40:27 +00:00
Henrik Brix Andersen
b359f9037d drivers: can: nxp: mcux: flexcan: add proper support for clock multiplexer
Add proper support for the 1-bit CAN protocol engine clock multiplexer
present in some NXP FlexCAN instances.

Both possible input clocks are now represented as named clocks in the
devicetree nodes ("clksrc0" and "clksrc1") and the existing devicetree
property "clk-source" now selects the correct clock in addition to setting
the multiplexer bit (CLKSRC) in the FlexCAN CTRL1 register.

Fixes: #94517

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2026-01-16 11:40:27 +00:00
Henrik Brix Andersen
b1aa1a394a dts: bindings: can: nxp: flexcan: make clk-source property optional
Make the clk-source property of the NXP FlexCAN devicetree nodes optional
as not all FlexCAN instances have an internal clock multiplexer.

Remove the clk-source property from the SoCs where the internal clock
multiplexer is not present, limit the values this property can be assigned,
and default the clock selection bit to 0 in the driver.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2026-01-16 11:40:27 +00:00
Emil Gydesen
d30ed27049 Bluetooth: Tester: Remove empty file hci_ipc.conf
The file is unused and the use of it has been removed from
autopts.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2026-01-16 11:40:13 +00:00
Fabrice DJIATSA
2e20e83109 tests: boot: with_mcumgr: exclude stm32h573i_dk from running ble scenario
add stm32h573i_dk to the list of excluded platforms for
test_upgrade_ble scenario since it's not supported.

Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
2026-01-16 11:40:00 +00:00
Gaetan Perrot
bb214df802 ipc: ipc_service: ipc_static_vrings: make vq_teardown void
vq_teardown() never reports errors and always returns 0.
The error check at the call site is therefore dead code.

Make the function void and drop the unused error handling.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-01-16 11:39:51 +00:00
Bjarki Arge Andreasen
547d0ffe25 scripts: checkpatch: extend has_arg_concat to include CONCAT()
The has_arg_concat check checks for ## and UTIL_CAT, but is missing
the CONCAT macro. This is causing spurious occurances of
MACRO_WITH_FLOW_CONTROL warnings for functions defined with macros
if they use the CONCAT() macro (its like UTIL_CAT but supports up
to 10 concatenations).

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2026-01-16 11:39:41 +00:00
Bjarki Arge Andreasen
636e104b23 util: Use CONCAT() instead of internal _CONCAT_\d() in tree
The explicit, and internal, _CONCAT_\d macros are used in a few
files instead of the public CONCAT() macro which automatically
expands to the correct _CONCAT_\d macro based on number of args
passed to it. Update files to use CONCAT().

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2026-01-16 11:39:41 +00:00
Andrew Davis
9c3343d00f boards: ti: Add support for the AM62L EVM
The AM62L evaluation module (TMDS62LEVM) is designed for low-cost and
performance optimized AM62L family of application processors. More
information here:

https://www.ti.com/tool/TMDS62LEVM

Add base board support here.

Signed-off-by: Andrew Davis <afd@ti.com>
2026-01-16 11:39:06 +00:00