Commit graph

7,339 commits

Author SHA1 Message Date
Quy Tran
d7876f59e1 soc: renesas: rx: add mcu_clock_setup for RX14T
Add the lacking of mcu_clock_setup in soc early init function
of the RX14T MCU

Signed-off-by: Quy Tran <quy.tran.pz@renesas.com>
2026-03-31 14:01:10 -05:00
Bill Waters
390596dd79 soc: infineon: cyw20829 linker.ld update
To address the "warning: orphan section", added
.llext_heap, .llext_ext_heap, and .llext_metadata_heap
sections to the #ifndef CONFIG_USERSPACE noinit section
in the linker script, wrapped in #ifdef CONFIG_LLEXT.

Signed-off-by: Bill Waters <bill.waters@infineon.com>
2026-03-31 13:59:45 -05:00
Daniel Leung
8a977567b9 soc: cdns_swerv: allow running without external IRQ controller
SweRV S4xx SoCs has an external interrupt controller by design.
The corresponding driver is enabled via CONFIG_SWERV_PIC.

However, it is not fully supported in the whisper simulator.
Accessing the controller's MMIO space will result in access
fault when PMP is enabled with catchall entry. To workaround
this, we simply skip building the driver so there will be no
invalid memory access at boot. For this to work correctly,
we need to implement some basic arch_irq_*() function to
utilize the internal interrupt controller so we can still
boot and test. For non-PMP boards, we still have the driver
enabled so it is built in CI to avoid breakage.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2026-03-31 13:56:50 -05:00
Furkan Akkiz
1df6f82029 soc: adi: max32: Remove unused header from power.c
This commit removes the unused mcr_regs.h header from the power.c file
in the MAX32 SoC directory.
The header is not required for current power management implementation.
Furthermore, since some MAX32 SoC variants do not include this specific
register definition, removing it prevents potential build failures and
improves cross-SoC compatibility within the series.

Signed-off-by: Furkan Akkiz <hasanfurkan.akkiz@analog.com>
2026-03-31 13:52:01 -05:00
Jiafei Pan
ac48cb5df1 soc: imx93: add enet clock initialization
If Zephyr is booted from U-Boot, ENET clock has been initialized by
U-Boot and it works, but if Zephyr is booted by using SPSDK runner,
ENET clock is not initialized and ENET will not work, so adding ENET
clock initialization in Zephyr to fix this issue.

Fixes: #106398

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2026-03-31 10:29:57 -05:00
Sylvio Alves
53c8eccf91 soc: espressif: fix ulp_shm memory region overlap
The ulp_shm DTS node at 0x3bf0 overlapped with the last
16 bytes of the ulp_ram region (0x0..0x3c00) on both
ESP32-C5 and ESP32-C6.

Move ulp_shm to 0x3c00, right after ulp_ram, and shift
lp_rtc from 0x3c00 to 0x3c10 (shrinking it by 16 bytes
from 0xf8 to 0xe8) to make room. All other regions
(retainedmem, ipc_shm, mbox0) keep their addresses.

Update LP core linker scripts to stop subtracting
shared mem size from the ram segment length, since
ulp_shm is now outside the coprocessor reservation.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-03-31 10:29:02 -05:00
Lauren Murphy
bfd0c29335 intel_adsp: NOLOAD .noinit
Mark .noinit as NOLOAD to prevent LLEXT heaps included in
snippets-noinit.ld from being marked as PROGBITS.

Fixes #105858

Signed-off-by: Lauren Murphy <lauren.murphy@intel.com>
2026-03-30 15:06:56 -05:00
Ofir Shemesh
b1afb494b0 flash: nxp: align FlexSPI NOR DTS with soc-nv-flash layout
NXP FlexSPI NOR flash nodes were missing the soc-nv-flash child
node expected by Zephyr's flash map API.

Without this child node, DT_MTD_FROM_FIXED_PARTITION resolved to
the FlexSPI memory controller instead of the flash device. Since
the controller has api = NULL, MCUboot could hit a NULL pointer
dereference during boot on Zephyr 4.4.

Fix this by updating the DTS structure to match the soc-nv-flash
convention used by the flash map infrastructure.

Changes:
- add a soc-nv-flash child under each nxp,imx-flexspi-nor node
- move erase-block-size, write-block-size, and partitions into it
- add ranges to flash controller nodes for address translation
- update zephyr,flash to point to the soc-nv-flash child
- add zephyr,flash-controller chosen for the flash driver node
- remove soc-nv-flash.yaml from nxp,imx-flexspi-nor.yaml
- use zephyr,flash-controller in flash CMake XIP decisions
- update FlexSPI XIP Kconfig logic to walk to the grandparent

This keeps the controller and flash device roles separate and
restores correct flash map resolution for MCUboot and XIP logic.

Signed-off-by: Ofir Shemesh <ofirshemesh777@gmail.com>
2026-03-30 15:04:48 -05:00
Mateusz Michalek
77eb31e860 soc: nordic: nrf54l: glitch detector Kconfig
defaults SOC_NRF54LX_SKIP_GLITCHDETECTOR_DISABLE
for MCUBOOT so detector stays on.

Signed-off-by: Mateusz Michalek <mateusz.michalek@nordicsemi.no>
2026-03-30 10:19:14 -05:00
Bas van Loon
c89ff75107 soc: mimxrt11xx: Remove call to CLOCK_OSC_GateOscRc400M.
Since RM1170 Rev. 5 the RC400 gate control bits are marked reserved.
Remove the call to CLOCK_OSC_GateOscRc400M since the headers need
updating to remove it completely as done with the RT1180.

Signed-off-by: Bas van Loon <bas@arch-embedded.com>
2026-03-30 10:02:41 -05:00
Jjateen Gundesha
10390471ee soc: intel_adsp/ace30: disable spin validation on simulator
- xt-clang seems to generate some memory access patterns which
result in the simulator accessing incorrect memory or messing
with cached TLB entries when spinlock validation is enabled.

- This is the same issue that was fixed for ace40 in commit
b98fc2740a (fixes #100885). Apply the same workaround to
ace30/ptl/sim and ace30/wcl/sim.

Signed-off-by: Jjateen Gundesha <jjateen97@gmail.com>
2026-03-30 09:59:04 -05:00
Jianxiong Gu
fc4a381bd2 soc: wch: unify SOC series naming for CH32V00X
Replace SOC_SERIES_CH32V00X with SOC_SERIES_QINGKE_V2C to maintain
consistent naming across SOC series.

Signed-off-by: Jianxiong Gu <jianxiong.gu@outlook.com>
2026-03-28 08:04:33 -04:00
McAtee Maxwell
f9ac7aac14 soc: add shared_memory region to custom mpu regions for pse84 soc
- Add shared_memory to custom mpu regions for Infineon pse84 soc series
- This resolves a bug in the wdt_basic_api test running on the m55 core
  for both the kit_pse84_eval and kit_pse84_ai platform

Signed-off-by: McAtee Maxwell <maxwell.mcatee@infineon.com>
2026-03-28 08:03:54 -04:00
Tom Burdick
649c842740 soc: realtek: Hide SOC Kconfigs
These Kconfigs were showing up in my build for a completely different
vendor. These are meant to be hidden Kconfigs meaning they do not have
descriptor strings next to their type.

Signed-off-by: Tom Burdick <thomas.burdick@infineon.com>
2026-03-27 20:20:02 -04:00
Benjamin Cabé
0a4886730e boards: soc: dts: Synaptics file should be in syna/ not synaptics/
SoC, DTS, and board files should live in directories named after the
vendor prefix so rename all occurrences of synaptics/ to syna/.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-03-27 13:55:37 -05:00
Martin Hoff
22fe218f76 soc: silabs: siwx91x: fix ram retention with power management
The real RAM size from DT is correct but the power manager API expect to
receive either 192/256/320 KB value, so we need to round it up to the
next boundary to avoid powering down the top M4 SRAM bank.

Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
2026-03-27 08:16:40 -04:00
Jacob Wienecke
1723832511 soc: nxp: rw: fix RTC wakeup status early clear
POWER_ClearWakeupStatus for RTC was called on the PM3 exit path,
clearing the status before the application could query the wakeup source
via NXP_GET_WAKEUP_SIGNAL_STATUS().

Move the clear to the PM3 entry path, just before re-arming the wakeup
source. This matches the existing GPIO wakeup status handling which
already clears on entry.

Signed-off-by: Jacob Wienecke <jacob.wienecke@nxp.com>
2026-03-26 19:27:55 -04:00
Jonathan Keller
05c6f600c2 soc: infineon: pse84: initialize clock frequency in an m33/ns app
The system clock frequency was not initialized, causing the
`Cy_SysLib_Delay` family of PDL functions to delay for an incorrect amount
of time.

This was fixed for the M55 in #101015, but the fix was not applied to the
M33.

Fixes #106232.

Signed-off-by: Jonathan Keller <jonathan.keller@infineon.com>
2026-03-26 19:26:09 -04:00
Holt Sun
250d291ccb soc: nxp: kinetis: wire LMEM cache support
Wire the Kinetis LMEM-capable SoCs into the generic cache
management path by selecting the LMEM driver, enabling the
available instruction and system-bus cache capabilities, and
defaulting these parts to CACHE_MANAGEMENT with the external
cache backend.

Keep MCUX eDMA descriptors in the default SRAM placement on
SYSMPU-based Kinetis parts. Their SRAM region remains outside
the cached LMEM area, so they do not use the generic
NOCACHE_MEMORY path.

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2026-03-25 07:57:21 -04:00
Jonathan Nilsen
75eae03f93 soc: nordic: uicr: fix outputs and dependencies
Update the UICR generator image to correctly track outputs and
dependencies as these depend on the options provided. This fixes
an issue where the UICR generation step was always rebuilt when
secondary PERIPHCONF was disabled, since secondary_periphconf.hex
was specified as an output but never produced. It also fixes
missing outputs/dependencies for mpcconf.hex/secondary_mpcconf.hex.

Signed-off-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
2026-03-25 07:55:11 -04:00
Camille BAUD
93cc308192 soc: bflb: Fix typo in Kconfig names BL602L
Fix using lowercase L instead of uppercase L

Signed-off-by: Camille BAUD <mail@massdriver.space>
2026-03-25 07:52:50 -04:00
William Markezana
675c8ceb6a soc: bflb: bl70x: add BL706C00Q2I SoC variant
Add Kconfig and soc.yml entries for the BL706C00Q2I, which is the
base BL706 in QFN48 package without internal flash or PSRAM.

Signed-off-by: William Markezana <william.markezana@gmail.com>
2026-03-24 15:43:08 -05:00
Lauren Murphy
77a5e6cb94 llext: place heap sections for intel_adsp/ace/*
Place heap custom sections for intel_adsp/ace/*.

Fixes #105858

Signed-off-by: Lauren Murphy <lauren.murphy@intel.com>
2026-03-24 15:40:38 -05:00
Lauren Murphy
24b5de4d07 llext: place heap sections for imx8mp_evk/mimx8ml8/adsp
Place heap custom sections for imx8mp_evk/mimx8ml8/adsp.

Fixes #105853

Signed-off-by: Lauren Murphy <lauren.murphy@intel.com>
2026-03-24 15:40:38 -05:00
Marek Matej
94161f7233 soc: espressif: fix iterable sections include order
Fix the cases where iterable sections in RAM are used.

Signed-off-by: Marek Matej <marek.matej@espressif.com>
2026-03-24 15:38:38 -05:00
Vincent Tardy
9439366997 soc: stm32: fix issue about k_work_q used by soc and flash driver
In driver file flash_stm32wba_fm.c, rename ble_ctrl_work_q
to ble_ctle_work_q and make ble_ctle_work_q non-static
in SoC code

Signed-off-by: Vincent Tardy <vincent.tardy@st.com>
2026-03-24 10:52:29 -05:00
Mohit Talwar
43047d7c93 soc: nordic: guard RTC base address checks with ifdef
NRF_RTC and its numbered variants (NRF_RTC0, NRF_RTC1, NRF_RTC2,
NRF_RTC130, NRF_RTC131) are not defined on RTC-less SoCs such as
the nRF54L and nRF54H series. Wrapping the CHECK_DT_REG calls in
#ifdef guards prevents a build error when a devicetree node (e.g.
an external I2C RTC) happens to use one of these node labels.

Fixes #101686

Signed-off-by: Mohit Talwar <talwarmohit2005@gmail.com>
2026-03-24 10:51:29 -05:00
Raffael Rostagno
bf1e600e0c drivers: pinctrl: esp32: Add sleep hold flag
Add sleep hold flag to allow setting groups of pins to
automatically hold pad value during low power states (light/deep sleep).

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2026-03-24 09:05:47 -04:00
Raffael Rostagno
6af0ee72b3 soc: pm: esp32: Add gpio/pinctrl hold function
Add hardware pad function, configurable in DTS, which holds the pin
state when transitioning to a low power state (light/deep sleep).
Once set in DTS, PM interface will automatically handle holding
the pin state before transitioning it into a low power state.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2026-03-24 09:05:47 -04:00
Lubos Koudelka
2f18cf906b soc: arm: stm32: fix STM32WBA power build without MPU
Guard the STM32WBAX power driver `mpu_state` variable with
CONFIG_ARM_MPU.
With this change, CONFIG_PM=y and CONFIG_ARM_MPU=n now build
correctly on STM32WBA.

Signed-off-by: Lubos Koudelka <lubos.koudelka@st.com>
2026-03-24 09:05:09 -04:00
Guillaume Gautier
c2d711f605 soc: st: stm32: common: add const on read bitops operations
Read bitops operations now take const arguments.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2026-03-24 07:06:55 -04:00
Fabin V Martin
e8cafe53c7 soc: microchip: pic32cz_ca80: Include sercom mapping file
Include file for mapping DFP macros to follow a common
macro name across multiple SoC for sercom uart g1 driver

Signed-off-by: Fabin V Martin <Fabinv.Martin@microchip.com>
2026-03-24 07:06:16 -04:00
Sreeram Tatapudi
60b1c56521 soc: infineon: pse84: add CM33 non-secure SoC support
Add support for SOC_PSE846GPS2DBZC4A_M33_NS

Signed-off-by: Sreeram Tatapudi <sreeram.praveen@infineon.com>
2026-03-24 09:54:11 +01:00
cyliang tw
1cdd2b6b69 soc: nuvoton: numaker: add support for m335x series
Add initial support for nuvoton numaker m335x SoC series
including basic init and device tree source include.

Signed-off-by: cyliang tw <cyliang@nuvoton.com>
2026-03-24 05:27:23 +01:00
Tim Pambor
06239709b6 soc: stm32: gpioport_mgr: introduce HSLV support
Add support for configuring the High-Speed Low-Voltage (HSLV) mode
in the GPIO port manager based on the DT configuration. This
enhancement allows for improved performance at lower voltages.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2026-03-23 12:34:36 -05:00
Tony Han
4f5697c184 soc: microchip: sam: common: add routines for handling IRQ by AIC
Add routines for handling interrupt requests by calling the functions
in AIC driver.

Signed-off-by: Tony Han <tony.han@microchip.com>
2026-03-23 12:27:55 -05:00
Łukasz Kędziora
3c3a6f8d5a soc: Add support for Synaptics SR100
This adds the soc files for the Synaptics SR100 SoC.

Signed-off-by: Łukasz Kędziora <lkedziora@antmicro.com>
Signed-off-by: Piotr Zierhoffer <pzierhoffer@antmicro.com>
Signed-off-by: Andreas Weissel <andreas.weissel@synaptics.com>
Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
2026-03-23 10:40:33 -04:00
Daniel Leung
0b9c03b880 soc: cdns/swerv: add support for S420
This adds support for Cadence SweRV S420 SoC which is similar
to S400 but with support for 2 threads.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2026-03-23 08:56:34 -04:00
Daniel Leung
9a1e76b193 soc: add support for Cadence SweRV S400
This adds SoC config for Cadence SweRV S400 SoC.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2026-03-23 08:56:34 -04:00
Zhiyuan Tang
10afa8eed9 soc: realtek: update interrupt init for rtl87x2g and rtl8752h
Use `IRQ_CONNECT` to register the ROM-implemented `Peripheral_Handler`
for `Peripheral_IRQn` on rtl87x2g and rtl8752h SoCs.

This bridges the hardware-specific Level 1 interrupt routing from the
ROM into Zephyr's standard IRQ system, making sure that the
sub-interrupts under `Peripheral_IRQn` are properly enabled and functional.

Signed-off-by: Zhiyuan Tang <zhiyuan_tang@realsil.com.cn>
2026-03-23 08:53:23 -04:00
Sylvio Alves
cd2749c039 soc: espressif: fix GDB crash on Espressif targets
GDB crashes with a segfault when loading ELF files built
for Espressif SoCs. Starting with GDB 13 (commit
5abbfa982215), finish_block_internal() calls
SECT_OFF_TEXT(m_objfile) which requires sect_index_text to
be initialized. This index is only set when a section
named exactly ".text" exists in the ELF. Without it, the
index stays at -1 and GDB segfaults (upstream PR 25678).

Espressif linker scripts named the flash-mapped code
output section ".flash.text" instead of ".text", so the
final ELF had no ".text" section. Other Xtensa vendors
(Intel ADSP, Cadence) use ".text" as their output section
name and collect .iram0.text as input into it, avoiding
the problem.

Fix this by renaming the ".flash.text" output section to
".text" across all Espressif SoC linker scripts. The
section name is internal to the linker script; the runtime
loader uses linker-generated symbols (_image_irom_start,
etc.), not section names. This change is transparent to
the boot path, flash image generation, and MMU mapping.

Affected SoCs: ESP32, ESP32-S2, ESP32-S3, ESP32-C2,
ESP32-C3, ESP32-C5, ESP32-C6, ESP32-H2.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-03-23 08:48:02 -04:00
Zhiyuan Tang
1e88b1b01f soc: dts: realtek: add bluetooth support for rtl8752h
- Define the HCI node in the SoC series' dtsi.
- Adjust main thread stack sizes and buffer counts required for
  Bluetooth operation.
- Enable meta-irq to configure the bee-bt-controller thread as a
  meta-irq thread.

Signed-off-by: Zhiyuan Tang <zhiyuan_tang@realsil.com.cn>
2026-03-23 10:18:15 +01:00
Hau Ho
93dfb1c8ac soc: renesas: rx: Initial support for RX14T SOC
This commit to initial support for RX14T SOC using Renesas RXv2 core.

Signed-off-by: Hau Ho <hau.ho.xc@bp.renesas.com>
2026-03-23 10:16:41 +01:00
Rick Tsao
6cbcb74175 soc: egis: et171: add Andes StackSafe support
Add Andes StackSafe support for Egis ET171.

Signed-off-by: Rick Tsao <rick592@andestech.com>
2026-03-21 07:51:15 -05:00
Rick Tsao
56d8837c81 soc: telink: tlsr951x: add Andes StackSafe support
Add Andes StackSafe support for TLSR951x series.

Signed-off-by: Rick Tsao <rick592@andestech.com>
2026-03-21 07:51:15 -05:00
Rick Tsao
109ae98c1c arch: riscv: custom: add Andes StackSafe support for custom stack guard
Implement the custom stack guard using the Andes StackSafe hardware
stack protection. It triggers an exception on stack overflow when the
stack pointer exceeds the configured limit.

Signed-off-by: Rick Tsao <rick592@andestech.com>
2026-03-21 07:51:15 -05:00
Joel Holdsworth
a6ebd549ba soc: qemu: Added qemu_or1k simulated SoC
Qemu includes support for the OpenRISC 1000 CPU architecture. This patch
adds a Zephyr SoC definition which enables usage of this feature.

The SoC definition closely mirrors the Qemu MIPS Malta SoC definition.

Signed-off-by: Joel Holdsworth <jholdsworth@nvidia.com>
2026-03-21 07:50:57 -05:00
Peter Ujfalusi
616a0a6ab1 intel_adsp: ace4: adsp_power.h: Declare intel_adsp_clock_soft_off_exit()
Compiling for NVL/NVL-S reports:
warning: implicit declaration of function 'intel_adsp_clock_soft_off_exit'

Because the ace4 version of adsp_power.h is missing the declaration of
intel_adsp_clock_soft_off_exit().

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
2026-03-20 12:36:39 -05:00
Mathieu Choplain
71aa3be37b soc: st: stm32: compute CONFIG_NUM_IRQS automatically
Use new Kconfig preprocessor helper to compute CONFIG_NUM_IRQS during build
instead of hardcoding it based on product Reference Manual

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-03-20 12:34:28 -05:00
Etienne Carriere
1bbc9edff1 soc: st: stm32n6x: check address range for non-secure execution
Make the build to fail when CONFIG_TRUSTED_NONSECURE is enabled and
the DT files do not provide the non-secure memory address ranges.
The test only checks pinctrl node which should be enough to ensure
other the right peripherals address range is applied.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2026-03-20 12:34:14 -05:00