Commit graph

136,983 commits

Author SHA1 Message Date
Adrian Warecki
c1a2b3be45 xtensa: Restore the EXCCAUSE register when returning from Double Exception
Preserve EXCCAUSE and EXCVADDR values on entry to _Level1Vector.
Restore EXCCAUSE when exiting TLB miss exception handling in the double
exception handler.

During first-level exception handling, a LoadStoreTLBMissException may
occur during the initial register dump to BSA. It modifies EXCCAUSE and
EXCVADDR registers before they are saved in BSA. Therefore, these values
must be captured as early as possible.

Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
2026-01-21 11:22:35 +00:00
Adrian Warecki
fd8188a408 xtensa: Remove saving EXCCAUSE in BSA from _Level1Vector
Remove saving EXCCAUSE register in BSA through the _Level1Vector handler.
These value are later overwritten by the ODD_REG_SAVE macro called by
EXCINT_HANDLER, so saving it here is pointless.

Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
2026-01-21 11:22:35 +00:00
Gaetan Perrot
1a12292846 tests: drivers: flash: negative_tests: fix write/fill alignment tests
The negative flash write and fill tests assumed that unaligned
offsets are always invalid.

This is not true for flash drivers reporting a write_block_size of
1, where all offsets and sizes are naturally aligned.

Condition the unaligned offset and size tests on the actual
write_block_size reported by the driver to avoid false failures and
ensure the tests follow the flash API contract.

No functional change for drivers with write_block_size > 1.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-01-21 11:22:25 +00:00
Jiafei Pan
b1946cba2a boards: imx943_evk: use 100M PHY for net switch port
Currently the PHY for 2.5G SGMII is not enabled, so could only use 100M
PHY for two switch ports on the board.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2026-01-21 11:22:09 +00:00
Jiafei Pan
4edfd97621 dts: arm64: mimx943; add MSI device ID for ENET3 port
ENET3 port is internal port for switch, add MSI device ID to enable
interrupt for it.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2026-01-21 11:22:09 +00:00
Jamie McCrae
b0467a0313 doc: release: migration_guide: 4.4: Add MCUmgr change
Adds a note on a required change for MCUmgr if using the UART
transport

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2026-01-21 11:21:46 +00:00
Jamie McCrae
917404f5d7 mgmt: mcumgr: transport: uart: Change Kconfig to depends on
Changes CONFIG_MCUMGR_TRANSPORT_UART from selecting
CONFIG_UART_MCUMGR to instead of depending upon it, as it should
never have selected a driver Kconfig and instead always depended
upon it, and is needed for supporting different UART transports

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2026-01-21 11:21:46 +00:00
Khai Cao
71389b3dd5 doc: releases: document ek_ra8t2/r7ka8t2lfecac rename
Document the board rename from ek_ra8t2/r7ka8t2lfecac/cm85 to
ek_ra8t2/r7ka8t2lflcac/cm85 in the Zephyr v4.4.0 migration guide.

Signed-off-by: Khai Cao <khai.cao.xk@renesas.com>
2026-01-21 11:21:27 +00:00
Khai Cao
c1a356e5ef boards: renesas: Correct part number for mck_ra8t2 board
Correct part number for mck_ra8t2 board by change
r7ka8t2lfecac to r7ka8t2lflcac

Signed-off-by: Khai Cao <khai.cao.xk@renesas.com>
2026-01-21 11:21:27 +00:00
Ederson de Souza
86f7962d2c drivers/i3c/mcux: Handle short reads from target
Sometimes, the size of a message coming from a target is not known in
advance. In those cases, we must rely on the T-bit to get the end of
message, which is signaled as the `COMPLETE` bit of `MSTATUS`.

This patch verifies the COMPLETE bit before starting to wait for data,
and if set, simply returns what was read so far.

As a bonus, this simplifies the handling of IBI bytes: no need to rely
on timeouts, if it's reading from IBI, etc.

Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
2026-01-21 11:19:57 +00:00
Ederson de Souza
3311d9734c drivers/i3c/mcux: Don't lose return value for function
Return value for `mcux_i3c_do_one_xfer` was being lost due reuse
of `ret` variable. Use another variable for timeout check.

Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
2026-01-21 11:19:57 +00:00
Ederson de Souza
0bbe07bbc7 drivers/i3c/mcux: Use size_t for buffer size
Or a buffer whose size is 256 will become zero.

Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
2026-01-21 11:19:57 +00:00
Kate Wang
6f5e752187 drivers: display: co5300: Fix pitch calculation in write function
The previous implementation incorrectly calculated the source pointer
advancement when pitch differs from width. The calculation was using
`total_bytes_sent` which accumulated across iterations, leading to
incorrect pointer arithmetic.

Replace `total_bytes_sent` with `line_each_sent` to track lines written
per iteration. Simplify the pointer advancement by:
- Calculating complete lines written from bytes_written
- Advancing by full pitch-sized lines
- Adding any remaining partial line bytes

This fixes the source pointer calculation when the buffer pitch is
greater than the display width.

Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
2026-01-21 11:19:44 +00:00
Etienne Carriere
fdda5f5fad manifest: psa-arch-tests: build PSA arch tests from Zephyr
Restore build of TF-M PSA-arch-tests using the Zephyr SDK toolchain.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2026-01-21 11:19:32 +00:00
Jakub Zymelka
7431163b52 samples: ipc: icmsg: Extend support for nRF54LM20A
Extends support and adds new overlays.

Signed-off-by: Jakub Zymelka <jakub.zymelka@nordicsemi.no>
2026-01-21 11:19:21 +00:00
Pieter De Gendt
93b5f19f99 doc: releases: 4.4: Add ADC_DT_SPEC_GET_*_OR
Add an entry to the release notes with the added ADC DT spec macros.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2026-01-20 20:11:59 -05:00
Pieter De Gendt
6dcc156258 tests: lib: devicetree: api_ext: Add ADC_DT_SPEC with fallback tests
Add tests for the _OR variant sf the different ADC_DT_SPEC_GET macros.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2026-01-20 20:11:59 -05:00
Pieter De Gendt
0d4435984a include: zephyr: drivers: adc: Add adc_dt_spec _OR variants
Add _OR variations for the differen adc_dt_spec initialization macros.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2026-01-20 20:11:59 -05:00
Pieter De Gendt
12408745f4 tests: lib: devictree: api_ext: Add ADC_DT_SPEC_GET_BY_IDX cases
Add tests for the ADC_DT_SPEC_GET_BY_IDX and ADC_DT_SPEC_INST_GET_BY_IDX
macros.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2026-01-20 20:11:59 -05:00
Matthias Blankertz
f58602891a drivers: watchdog: wdog32: Add missing include for k_msleep
In commit 1f9e39752a ("drivers: watchdog: wdog32: add delay before
init") a reference to k_msleep was added to
drivers/watchdog/wdt_mcux_wdog32.c without including the necessary
header. At least for the board frdm_mcxw71/mcxw716c, this causes a
compile failure in this file as soon as CONFIG_WATCHDOG is enabled.

Add the missing include to zephyr/kernel.h to fix the issue.

Signed-off-by: Matthias Blankertz <matthias.blankertz@inovex.de>
2026-01-20 20:11:49 -05:00
Matthias Blankertz
b672a265a4 boards: nxp: frdm_mcxw71: Connect Arduino header I2C
The I2C bus of the lpi2c1 I2C controller is connected to the Arduino
Shield header on the usual pins. Label it with "arduino_i2c" in the
board device tree so that the frdm_mcxw71 board can be used with I2C
shields.

Signed-off-by: Matthias Blankertz <matthias.blankertz@inovex.de>
2026-01-20 20:11:49 -05:00
Jacob Wienecke
87baf78082 boards: shields: nxp_m2_wifi_bt remove oob-gpios
Remove oob-gpios property from nxp_m2_1xk_wifi_bt.overlay. There is no
binding for this property at bindings\wifi\nxp,wifi.yaml. Therefore,
builds using this shield will fail.

Signed-off-by: Jacob Wienecke <jacob.wienecke@nxp.com>
2026-01-20 20:11:40 -05:00
farsin NASAR V A
5f91dc2a75 tests: drivers: dac: Add SAM E54 Xplained Pro test support
Add board-specific configuration and overlay files for
running DAC API tests on the SAM E54 Xplained Pro board.
- Add sam_e54_xpro.conf
- Add sam_e54_xpro.overlay
- Update DAC API test to support the board

Signed-off-by: farsin NASAR V A <farsin.nasarva@microchip.com>
2026-01-20 20:11:31 -05:00
Arunprasath P
8b778f57f9 boards: microchip: sam_e54_xpro: Add DAC pinctrl and feature support
Add DAC pinctrl definitions and update the board metadata
to list DAC as a supported feature on the SAM E54 Xplained Pro board.

Signed-off-by: Arunprasath P <arunprasath.p@microchip.com>
2026-01-20 20:11:31 -05:00
Arunprasath P
74bafaf20e drivers: dac: microchip: Introduce DAC G1 Driver
Add G1 DAC driver for Microchip DAC Peripherals.

Signed-off-by: Arunprasath P <arunprasath.p@microchip.com>
2026-01-20 20:11:31 -05:00
Arunprasath P
dc0360df2c dts: arm: microchip: Introduce dac g1 binding file and dts node
Add the device tree node and the binding file for
microchip DAC G1 Peripherals.

Signed-off-by: Arunprasath P <arunprasath.p@microchip.com>
2026-01-20 20:11:31 -05:00
Ali Hozhabri
03822df9a7 west.yml: Update west to point to the recent changes for hal_stm32
Update west.yml to point to the recent changes for hal_stm32.

Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
2026-01-20 20:11:22 -05:00
Ali Hozhabri
2bc754e581 drivers: timer: Fix a typo in the STM32WB07 radio timer
Replace one extra CONFIG_SOC_STM32WB06XX with the CONFIG_SOC_STM32WB07XX.

Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
2026-01-20 20:11:22 -05:00
Ali Hozhabri
a32b5cfe34 drivers: timer: Fix radio timer issue on STM32WB07/STM32WB05
Due to the hardware limitation, the time between the CPU wake-up IRQ fire
(IRQ 23) and the next call of LL_RADIO_TIMER_SetCPUWakeupTime should not
be less than 16 MTU (Machine Time Unit), i.e. approximately 30us.
otherwise, the next CPU wake-up doesn't happen unless the timer wraps.

Lock IRQs while sys_clock_set_timeout is being executed.

Remove HAL_RADIO_TIMER_WakeUpCallback and it will be implemented
differently in the future.

Remove HAL_RADIO_TIMER_TimeoutCallback as it is not needed anymore.

Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
2026-01-20 20:11:22 -05:00
Ali Hozhabri
e1257bf845 drivers: entropy: Fix STM32WB07/STM32WB05 init issue
Change the initialization priority. According to the documentation, kernel
services should not be used during device configuration with PRE_KERNEL_1.
In "entropy_stm32_rng_init", there is "start_pool_filling" which calls
"k_work_schedule". Moreover, "k_work_schedule" requires system timer which
is initialized within PRE_KERNEL_2. Therefore, the SoC gets stuck.

Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
2026-01-20 20:11:22 -05:00
Yongxu Wang
0296e2ee3b dts: arm: nxp: imx943: enable runtime PM auto for LPI2C
Enable automatic runtime power management for all LPI2C instances
to support interrupt-driven when suspend and resume device
by scmi firmware interface.

On i.MX943 with System Manager firmware, clock operations require
SCMI communication which needs interrupts. The system-managed PM
approach locks interrupts during device suspend/resume, preventing
SCMI from completing.

Although lpi2c mcux driver have enabled pm runtime in driver init,
set lpi2c auto runtime in dts to record this issue that only
device runtime can be supported now.

Signed-off-by: Yongxu Wang <yongxu.wang@nxp.com>
2026-01-20 20:11:10 -05:00
Yongxu Wang
9a8acec820 drivers: i2c: mcux_lpi2c: add PM device support
Add PM device support for the LPI2C peripheral.

Implement PM device callback to gate and ungate the device clock
during suspend and resume. No attach register save and restore as
it's preserved by hardware

Signed-off-by: Yongxu Wang <yongxu.wang@nxp.com>
2026-01-20 20:11:10 -05:00
Pisit Sawangvonganan
ec2b92c1e6 drivers: spi_nxp_lpspi: prevent null pointer dereference
The condition `!spi_context_rx_buf_on(ctx) && spi_context_rx_on(ctx)`
only returns early when RX is active with a NOP buffer.
However, when `rx_len == 0`, `spi_context_rx_on(ctx)` returns false,
causing the early return to be skipped.
This leaves `ctx->rx_buf` (which can be NULL) to be dereferenced.

Since `lpspi_handle_rx_irq()` already guarantees `spi_context_rx_on(ctx)`
is true before calling this function, only check
`!spi_context_rx_buf_on(ctx)` to safely handle NOP buffers.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2026-01-20 20:11:01 -05:00
Pisit Sawangvonganan
e28b3b04ce drivers: spi_nxp_lpspi: simplify lpspi_rx_buf_write_words
Refactor `lpspi_rx_buf_write_words()` to compute `words_read` upfront
using `MIN(rx_len, max_read)`, simplifying control flow and making
the read limit explicit without changing behavior.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2026-01-20 20:11:01 -05:00
Jonas Berg
e35cb66069 boards: Add support for Longan Labs CANBed RP2040
Tested with the commands mentioned in index.rst

Product photo from https://docs.longan-labs.cc/1030018/

Signed-off-by: Jonas Berg <jonas.s.t.berg@gmail.com>
2026-01-20 20:10:52 -05:00
Jonas Berg
00fceded42 dts: bindings: vendor-prefixes: Add longan
Add vendor prefix for Longan Labs

Signed-off-by: Jonas Berg <jonas.s.t.berg@gmail.com>
2026-01-20 20:10:52 -05:00
TOKITA Hiroshi
45cde341dc drivers: serial: pl011: Allows mixed IRQ settings.
Allows a mixture of IRQ-enabled and IRQ-disabled nodes.
Enabled nodes are identified by the presence or absence of
the interrupt-names property.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2026-01-20 20:10:42 -05:00
Albort Xue
d9e86ad878 drivers: can: mcux_flexcan: Add clock configuration and enable
Add explicit clock configuration and enable calls during driver
initialization.

Note: -ENOSYS is temporarily ignored as not all clock control
drivers currently implement the configure API. This handling
should be removed once all clock drivers support configure.

Signed-off-by: Albort Xue <yao.xue@nxp.com>
2026-01-20 20:10:31 -05:00
Albort Xue
dba5c5081f drivers: pwm: mcux_tpm: Add clock configuration support
Add clock_control_configure() call during initialization to properly
configure the TPM clock. The driver now attempts to configure the
clock and handles cases where configuration is not supported by the
platform (-ENOTSUP/-ENOSYS) by continuing with default settings.
Real configuration errors are logged and cause initialization to fail.

Note: -ENOSYS is temporarily ignored as not all clock control
drivers currently implement the configure API. This handling
should be removed once all clock drivers support configure.

Signed-off-by: Albort Xue <yao.xue@nxp.com>
2026-01-20 20:10:19 -05:00
Ederson de Souza
e30b0acea9 MAINTAINERS: Add edersondisouza as PMCI collaborator
Add edersondisouza as a collaborator to PMCI - it should've been done
when edersondisouza was added as libmctp West module collaborator, but
it was missed.

Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
2026-01-20 20:09:55 -05:00
Daniel Leung
61e9f9ea04 soc: intel_adsp: rename CONFIG_SOC_INTEL_ACE* to CONFIG_SOC_ACE*
Just following guidelines here.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2026-01-20 20:09:40 -05:00
Daniel Leung
1dae40fa2e soc: rename CONFIG_INTEL_CAVS_V25 to CONFIG_SOC_CAVSV25
Just following the guideline.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2026-01-20 20:09:40 -05:00
Gillian Minnehan
987722df9d doc: add license/terms to external module template
It is important to include license and terms of use information
in the documentation for external modules. This helps users
understand their rights and obligations when using these modules
within the Zephyr project.

Signed-off-by: Gillian Minnehan <gillian.minnehan@nordicsemi.no>
2026-01-20 20:09:23 -05:00
Tom Hughes
8ea64b7b33 bluetooth: audio: Fix redundant initialization
When building the bluetooth.general.tester_le_audio test with clang and
-Winitializer-overrides, it warns:

subsys/bluetooth/audio/mpl.c:318:2: error: initializer overrides prior
initialization of this subobject [-Werror,-Winitializer-overrides]
  318 |         .add_group = NULL,
      |         ^~~~~~~~~~~~~~~~~
subsys/bluetooth/audio/mpl.c:317:15: note: previous initialization is here
  317 |         .add_track = NULL,
      |                      ^~~~

Remove redundant initializer for add_group which overlaps with add_track
in an anonymous union.

Signed-off-by: Tom Hughes <tomhughes@chromium.org>
2026-01-20 20:09:06 -05:00
Benjamin Cabé
e6b8ffba92 drivers: modem: adopt SHELL_HELP in modem_at shell
Use SHELL_HELP macro for help strings to ensure consistency across
various shell modules.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-01-20 20:08:47 -05:00
Benjamin Cabé
114b3bd50c drivers: mdio: adopt SHELL_HELP in MDIO shell
Use SHELL_HELP macro for help strings to ensure consistency across
various shell modules.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-01-20 20:08:34 -05:00
Benjamin Cabé
25448bc996 task_wdt: adopt SHELL_HELP in task watchdog shell
Use SHELL_HELP macro for help strings to ensure consistency across
various shell modules.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-01-20 20:07:37 -05:00
Benjamin Cabé
39a8408b30 drivers: pm_cpu_ops: adopt SHELL_HELP in psci shell
Use SHELL_HELP macro for help strings to ensure consistency across
various shell modules.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-01-20 20:07:25 -05:00
Tom Hughes
f9664d51c3 samples: net: midi2: Fix compiler warning
When building with clang we get the following warning when building the
sample.net.midi2.host_auth_user test:

samples/net/midi2/src/main.c:122:54: error: initializer element is not a
compile-time constant
  122 | NETMIDI2_EP_DEFINE_WITH_USERS(midi_server, ump_ep_dt.name, NULL, 0,
      |                                            ~~~~~~~~~~^~~~
include/zephyr/net/midi2.h:99:12: note: expanded from macro
'NETMIDI2_EP_DEFINE_WITH_USERS'
   99 |                 .name = (_ep_name), \
      |                          ^~~~~~~~

Instead of using ump_ep_dt.name for initialization, we use the
equivalent expression that UMP_ENDPOINT_DT_SPEC_GET(DT_NODELABEL(midi2))
initializes the ".name" member with.

Signed-off-by: Tom Hughes <tomhughes@chromium.org>
2026-01-20 20:06:50 -05:00
Benjamin Cabé
8f8502c0c7 drivers: i3c: shell: adopt SHELL_HELP in I3C shell
Use SHELL_HELP macro for help strings to ensure consistency across
various shell modules and save quite a bit of flash.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-01-20 20:06:18 -05:00