Commit graph zephyr/soc
Author SHA1 Message Date
Adam BERLINGER
bd772347f7 dts: arm: st: add missing stm32u5f/g variants
This adds STM32U5F7/STM32U5G7 which are basically U5F9/U5G9
respectively with LQFP100 packages without DSI.
Also adds missing STM32U5F9xJ DTS and updates Kconfig file.

Signed-off-by: Adam BERLINGER <adam.berlinger@st.com>
2026-05-12 09:01:09 +02:00
Srinivas Edireswarapu
83a65fb744 soc: microchip: mec: add SHLU32 macro to soc_common.h
Add SHLU32 shift-left macro used by driver PCR encoding helpers.

Signed-off-by: Srinivas Edireswarapu <srinivas.edireswarapu@microchip.com>
2026-05-11 21:02:18 -05:00
Patryk Koscik
af9221e2fe soc: rockchip: add initial rv1106 support
Add initial support for the Rockchip RV1106 SoC. This SoC features
a single Cortex-A7 core and is commonly found in multimedia and IP
camera applications like the Luckfox Pico series.

Signed-off-by: Patryk Koscik <koscikpatryk@gmail.com>
2026-05-11 21:01:54 -05:00
Paolo Wattebled
a425a46fdf soc: nxp: imx8m: add MIMX8ML8CVNKZ part number
Add the MIMX8ML8CVNKZ SoC part number (i.MX8MP, Cortex-M7,
LFBGA272 package) to the Kconfig selection list.

This variant is used on a custom board: Goldilocks Mama Bear
made by Future Electronics.

Signed-off-by: Paolo Wattebled <paolo.wattebled@savoirfairelinux.com>
2026-05-11 13:40:44 +02:00
Aleksandr Senin
5082b60571 retained_mem: gd32: add backup SRAM driver
Add a retained memory driver for GD32 backup SRAM.
The driver exposes the memory region defined by devicetree reg, enables
the BKPSRAM clock gate, and optionally enables a vin-supply regulator
for retention power.

Signed-off-by: Aleksandr Senin <al@meshium.net>
2026-05-11 10:55:04 +02:00
Gustav Vinther-Jørgensen
90450fb1e0 soc: nxp: rw: Fix IOMUX_GET_SCTIMER_OUT_CLR_OFFSET mask
Updated mask as there are 9 outputs channels for the SCTimer

Signed-off-by: Gustav Vinther-Jørgensen <gvj@foss.dk>
2026-05-11 08:47:25 +02:00
Jamie McCrae
f86f65c2f5 soc: gaisler: Add support for dts RAM configuration
Allows using the chosen SRAM node for RAM configuration without
using Kconfig values

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2026-05-11 08:45:38 +02:00
Jamie McCrae
99c3598f8a soc: renode: Add support for dts RAM configuration
Allows using the chosen SRAM node for RAM configuration without
using Kconfig values

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2026-05-11 08:45:38 +02:00
Jamie McCrae
409bd6b031 soc: ti: Add support for dts RAM configuration
Allows using the chosen SRAM node for RAM configuration without
using Kconfig values

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2026-05-11 08:45:38 +02:00
Jamie McCrae
732987e7d1 soc: xlnx: Add support for dts RAM configuration
Allows using the chosen SRAM node for RAM configuration without
using Kconfig values

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2026-05-11 08:45:38 +02:00
Jamie McCrae
4d78e1d2c1 soc: st: Add support for dts RAM configuration
Allows using the chosen SRAM node for RAM configuration without
using Kconfig values

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2026-05-11 08:45:38 +02:00
Jamie McCrae
6a06be87fc soc: infineon: Add support for dts RAM configuration
Allows using the chosen SRAM node for RAM configuration without
using Kconfig values

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2026-05-11 08:45:38 +02:00
Jamie McCrae
2cd108a351 soc: raspberrypi: Add support for dts RAM configuration
Allows using the chosen SRAM node for RAM configuration without
using Kconfig values

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2026-05-11 08:45:38 +02:00
Jamie McCrae
7d591eac87 soc: openisa: Add support for dts RAM configuration
Allows using the chosen SRAM node for RAM configuration without
using Kconfig values

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2026-05-11 08:45:38 +02:00
Jamie McCrae
797b3fd033 soc: adi: Add support for dts RAM configuration
Allows using the chosen SRAM node for RAM configuration without
using Kconfig values

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2026-05-11 08:45:38 +02:00
Jamie McCrae
9627258a9c soc: ambiq: Add support for dts RAM configuration
Allows using the chosen SRAM node for RAM configuration without
using Kconfig values

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2026-05-11 08:45:38 +02:00
Jamie McCrae
87b460a44c soc: nxp: Add support for dts RAM configuration
Allows using the chosen SRAM node for RAM configuration without
using Kconfig values

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2026-05-11 08:45:38 +02:00
Jamie McCrae
a13fd968e1 soc: intel: Add support for dts RAM configuration
Allows using the chosen SRAM node for RAM configuration without
using Kconfig values

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2026-05-11 08:45:38 +02:00
Jamie McCrae
9436edbfdc soc: nuvoton: Add support for dts RAM configuration
Allows using the chosen SRAM node for RAM configuration without
using Kconfig values

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2026-05-11 08:45:38 +02:00
Jamie McCrae
115362e551 soc: ite: Add support for dts RAM configuration
Allows using the chosen SRAM node for RAM configuration without
using Kconfig values

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2026-05-11 08:45:38 +02:00
Jamie McCrae
fdf8ebd18b soc: renesas: Add support for dts RAM configuration
Allows using the chosen SRAM node for RAM configuration without
using Kconfig values

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2026-05-11 08:45:38 +02:00
Jamie McCrae
831e1ea3a2 soc: nordic: Add support for dts RAM configuration
Allows using the chosen SRAM node for RAM configuration without
using Kconfig values

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2026-05-11 08:45:38 +02:00
William Markezana
8714a89579 soc: bflb: bl60x: add BLE controller shim layer
Platform shim for the BL602 BLE controller binary blob: IRQ
dispatch via bflb_irq_* functions, MSOFT handler for deferred context
switching, delay functions, GLB register access, and MAC address
reading via hwinfo.

Configure 8 KB exchange memory (SEAM) when BLE is enabled, reducing
usable SRAM from 176 KB to 168 KB.

Signed-off-by: William Markezana <william.markezana@gmail.com>
2026-05-08 16:00:22 -05:00
Krzysztof Chruściński
2fc1f87ce3 soc: nordic: common: gppi_sd2ppi: Fix NRF_SPU dependency
Use DPPIC nodes to detect if certain SPU associated with that DPPIC
is present. NRF_SPUxxx defines are created even if SPU instances are
not present.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2026-05-08 14:42:10 +01:00
Krzysztof Chruściński
61271f7ead soc: nordic: common: Fix SD2PPI global configuration
Use feature Kconfig instead of SoC Kconfig to determine initialization
priority as SD2PPI is not unique to only a single SoC.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2026-05-08 14:42:10 +01:00
Fiona Behrens
a4c4d6ad67 driver: clock_control: init nuvoton numicro m4 scc
Add System Clock Controller for the M480 nuvoton MCU.
This only adds the base driver to setup HIRC, HXT, LIRC, LXT and
PLL. Configuring the PLL driver from a target frequency with
calculating values to best match this frequency.

Signed-off-by: Fiona Behrens <me@kloenk.dev>
2026-05-08 06:44:14 -05:00
TOKITA Hiroshi
5635d7e75d soc: raspberrypi: rp2040: Fix second-stage bootloader detection
With the introduction of mapped partitions, the condition for detecting
the second-stage bootloader needs to be updated.

When mapped partitions are enabled, if code-partition starts at offset
0x100 in flash0, which is mapped at 0x10000000, this means the region from
0x0 to 0x100 is occupied by the second-stage bootloader.
Since code-partition is defined as alias, this is the most stable detection
method.

The existing condition applies when mapped partitions are not used.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2026-05-08 08:05:15 +02:00
Raffael Rostagno
1664f43963 soc: esp32: pm: Register module LOG
Register pm as a separate LOG module, in order to fix build
errors.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2026-05-07 18:14:52 -05:00
Raffael Rostagno
70a100ccb1 soc: esp32: Update linker script for atomic_c
After #106943, atomic C symbols moved from libkernel.a to libzephyr.a.
On chips using ATOMIC_OPERATIONS_C (no hardware atomics), this caused
functions to land in flash instead of IRAM.

Update the linker scripts for ESP32-C2/ESP8684, ESP32-C3 and ESP32-S2
to explicitly pull libzephyr.a:atomic_c.* back into IRAM.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2026-05-07 18:13:46 -05:00
Ren Chen
ddba70043d soc: ite: ec: extend irq number size to 16-bit
Next-generation it51xxx SoCs support more than 256 irqs.
This change extends irq range up to 16 bit depend on
CONFIG_NUM_IRQS.

And the it8xxx2 SoC series only supports 8-bit irq
number size. Add irq type check assertion for this
series.

Tested with:
- it82xx2_evb/it8xxx2_evb/it51xxx_evb_it51526aw:
  tests/drivers/gpio/gpio_basic_api
- native_sim/native:
  tests/drivers/gpio/gpio_ite_it8xxx2_v2

Signed-off-by: Ren Chen <Ren.Chen@ite.com.tw>
2026-05-07 09:23:06 +02:00
William Markezana
acd7cac737 soc: bflb: bl70x/bl70xl: move RF init to SoC layer
Move MAC address and TSEN initialization from the HCI driver into
per-SoC bflb_rf_init() implementations, matching the BL61x pattern.
This lets the HCI driver call bflb_rf_init() unconditionally.

Signed-off-by: William Markezana <william.markezana@gmail.com>
2026-05-07 09:16:15 +02:00
William Markezana
6e472818ea soc: bflb: bl61x: add BLE controller port layer
Hardware port that bridges the precompiled BLE controller blob to
Zephyr on BL61x: IRQ registration, clock gating, eFuse MAC read,
RC32M trimming, and debug output stubs.

PHY/RF initialization is in a separate bflb_rf.c so it can be shared
with the WiFi driver later.

Signed-off-by: William Markezana <william.markezana@gmail.com>
2026-05-07 09:16:15 +02:00
Jjateen Gundesha
c3f8c875b0 arch: arm: mpu: nxp: reduce boot regions when stack guard is disabled
SoCs using the NXP MPU (ke1xf, k2x, k6x, k8x, s32k1) currently
program 5 boot MPU regions:

  0  DEBUGGER      (hardwired, covers full address space)
  1  BACKGROUND_0  (0 -> SRAM_BASE-1)
  2  BACKGROUND_1  (SRAM_END -> 0xFFFFFFFF)
  3  FLASH_0
  4  RAM_U_0

The two-region background split exists because the NXP MPU uses OR
semantics rather than priority-based precedence. When MPU_STACK_GUARD
is enabled, a single full-address-space background region would prevent
the stack guard from ever denying supervisor writes to the guard area,
so the split is necessary.

When MPU_STACK_GUARD is disabled, no such restriction applies. A single
background region covering the full address space is sufficient, reducing
boot region consumption from 5 to 4. This frees one hardware slot on
SoCs with only 8 MPU regions (e.g. MKE18F16, S32K146), which previously
left only 3 dynamic regions - insufficient to support both stack guard
and userspace simultaneously.

Remove the twr_ke18f platform_exclude from tests that were blacklisted
solely due to the region shortage:
  - tests/kernel/mem_protect/mem_protect
  - tests/kernel/mem_protect/protection
  - tests/lib/mem_alloc

Fixes #18885

Signed-off-by: Jjateen Gundesha <jjateen97@gmail.com>
2026-05-06 16:30:30 +01:00
Silesh C V
c9c338ea0e soc: alif: Introduce balletto family and B1 series
Balletto is a family of BLE 5.3 microcontrollers from Alif
Semiconductor, integrating an Arm Ethos-U55 NPU and a dedicated
network co-processor. The application core is a single Cortex-M55
running in the RTSS-HE (Real Time Subsystem - High Efficiency)
subsystem, targeting power-efficient edge AI/ML and wireless IoT
applications.

Add SoC framework support for the Balletto family, the B1 series
within the family and the AB1C1F4M51820PH0 SoC within the series.

Link: https://alifsemi.com/products/balletto/
Link: https://alifsemi.com/balletto-b1-series/

Signed-off-by: Silesh C V <silesh@alifsemi.com>
2026-05-06 12:02:41 +01:00
Silesh C V
4502d9e581 soc: alif: move pinctrl_soc.h to vendor-level common directory
Move the pinctrl_soc.h header from the Ensemble family directory to
a new vendor-level common directory (soc/alif/common/) to enable
sharing across all Alif Semiconductor SoC families. The pinctrl
hardware implementation is identical across Alif SoC families
(Ensemble and Balletto) and has the same pad configuration and
alternate function register layout.

No functional changes.

Signed-off-by: Silesh C V <silesh@alifsemi.com>
2026-05-06 12:02:41 +01:00
Bas van Loon
b530b3f391 soc: mimxrt11xx: Set all LPSPI clocks to a proper frequency.
Currently only LPSPI1 has a clock set. This clock seems to be way
larger than the max. allowable frequency of the LPSPI clock root
input. This change sets all the LPSPI instances to a valid clock.

The LPSPI clock root is set to PLL3 PFD2, which leads to a
fPERIPH clock of 135MHz, which is allowed on the RT11xx series.

Signed-off-by: Bas van Loon <bas@arch-embedded.com>
2026-05-06 07:05:33 +02:00
Christoph Busold
dad5096f85 drivers: entropy: Add support for architectural entropy drivers
Add new inline function entropy_get_default_device which returns
the "zephyr,entropy" device or the architectural entropy device,
if the former is not set, and use that in all places to query the
entropy device.

This allows using architectural drivers which do not have a DT
node.

Signed-off-by: Christoph Busold <cbusold@qti.qualcomm.com>
2026-05-06 07:05:12 +02:00
Jakub Zymelka
f1832174a0 soc: nordic: nrf54h: pm_s2ram: S2RAM resume hardening
Added support for hardening decision on resume from
S2RAM by MCUboot bootloader.
Application sets additional variable to MCUBOOT_S2RAM_RESUME_MAGIC
which allows the bootloader to doublecheck.

Extended mcuboot_resume_s suture by slot_info field intended to
be used by MCUboot for recognize proper boot slot in direct-xp
mode.

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Signed-off-by: Jakub Zymelka <jakub.zymelka@nordicsemi.no>
2026-05-05 14:06:53 -05:00
Holt Sun
0c4382ae5e drivers: timer: keep mcux_lptmr policy explicit
Selecting MCUX_LPTMR_TIMER directly from
/chosen/zephyr,system-timer broadens the default behavior for
any SoC DTSI that now sets the chosen node. KE1xF only
intends to use LPTMR under PM, while MCX-W7xx and i.MX95 M7
still require their SoC-specific selection rules.

Keep the generic Kconfig selection policy implicit and retain
the SoC-specific enablement rules in the MCX-W7xx and i.MX95
M7 defconfigs.

This keeps the chosen-based instance selection while avoiding
unintended system timer changes outside the narrow fix scope.

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2026-05-05 15:59:14 +01:00
Holt Sun
9191ee198e soc: nxp: ke1xf: use chosen timer clock
KE1xF now provides its LPTMR system timer through the
/chosen/zephyr,system-timer property, but the SoC defconfig
still reads SYS_CLOCK_HW_CYCLES_PER_SEC from a hard-coded
lptmr0 path.

Switch the clock-frequency lookup to the chosen system timer
node so the Kconfig side stays aligned with the timer
driver chosen-based instance selection.

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2026-05-05 15:59:14 +01:00
Ben Levinsky
d9ffa8862b soc: xlnx: zynqmp: Update for IPC cases
For cases where there is IPC such as
openamp_rsc_table and rpmsg_service there is a need for a
shared memory region.

As part of this, validate the IPC carveout with some checks

Add validation for flash handling

Finally, add ipc_shm carveout handling for such a MPU region,
similar to how is done for other SOCs

Signed-off-by: Ben Levinsky <ben.levinsky@amd.com>
2026-05-05 15:58:27 +01:00
Patryk Koscik
3762caa7e1 soc: silabs: efm32hg: add SYS_CLOCK_HW_CYCLES_PER_SEC to defconfig
Add a DT derived value for SYS_CLOCK_HW_CYCLES_PER_SEC to the
EFM32HG series Kconfig.defconfig

Signed-off-by: Patryk Koscik <pkoscik@antmicro.com>
2026-05-05 09:48:35 +02:00
Patryk Koscik
5762460ae4 dts: silabs: add EFM32HG309F64 SoC
Add Silicon Labs EFM32HG309F64, a Cortex-M0+ with 64 KB flash and 8 KB
SRAM.

Signed-off-by: Patryk Koscik <pkoscik@antmicro.com>
2026-05-05 09:48:35 +02:00
Patryk Koscik
783a780db6 drivers: watchdog: gecko: add Series 0 support
The EFM32HG (Series 0) WDOG has no IRQ support, no window mode
and no reset-disable bit.

Guard the logic with HAL feature macros and use `IF_ENABLED` with
`DT_INST_IRQ_HAS_IDX` for conditional IRQ setup.

Add the `wdog0` node to the EFM32HG device tree.

Signed-off-by: Patryk Koscik <pkoscik@antmicro.com>
2026-05-05 09:48:35 +02:00
Fin Maaß
827ce93035 soc: kernel: use configdefault for CONFIG_SMP
use configdefault for CONFIG_SMP

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-05-04 14:57:43 +02:00
Fin Maaß
0eb42c2c84 boards: kernel: remove redundant default for CONFIG_SMP
CONFIG_SMP is by default already not enabled,
so there is no need to set the default to n in the
soc or board specific Kconfig.defconfig

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-05-04 14:57:43 +02:00
Etienne Carriere
13591060e7 soc: st: stm32wb: add notice to CMake file
Add missing copyright and license notice to stm32wbx SoC Cmake file.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2026-05-04 14:56:42 +02:00
Jonathan Nilsen
8605956af9 soc: nordic: uicr: support defining PROTECTEDMEM in devicetree
Add support for defining the PROTECTEMEM and SECONDARY.PROTECTEMEM
sizes in DTS. The sizes are taken from the nodes with label
'protectedmem_partition' and 'secondary_protectedmem_partition',
respectively. The existing interface for setting them via Kconfig
directly has been kept as is for backward compatibility.

Also add a dependency on secondary_partition to enabling secondary
firmware, as it is used unconditionally by the cmake to get the
start address of the secondary firmware.

Signed-off-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
2026-05-04 14:56:27 +02:00
Alexios Lyrakis
1cf1de81a1 arch: riscv: add Supervisor-mode (S-mode) support
Introduce CONFIG_RISCV_S_MODE to select Supervisor-mode execution.
Add depends on !RISCV_S_MODE to RISCV_PMP since PMP CSRs are
inaccessible from S-mode.

Add an M-mode SBI shim (reset.S + sbi.S) that configures exception
delegation, PMP, and counter access before dropping to S-mode via mret.
The shim handles SBI_SET_TIMER ecalls from S-mode and forwards MTIP to
STIP so the supervisor timer driver works without a full SBI firmware.

Introduce privilege-level abstractions in isr.S (RV_CAUSE, RV_EPC,
RV_STATUS, RV_TVAL, etc.) and update all runtime code that previously
accessed M-mode-only CSRs (mcause, mtval, mstatus, mie, mip) to use the
S-mode equivalents when CONFIG_RISCV_S_MODE is set.

ARCH_EXCEPT in kernel context uses ebreak (cause=3, Breakpoint) instead
of a direct z_riscv_fatal_error() call.  In S-mode, ecall (cause=9) is
kept in M-mode for SBI and never reaches the S-mode exception handler;
a direct call with NULL esf caused the stack unwinder to crash into an
infinite fault loop.  ebreak is delegated to S-mode by our medeleg
configuration; isr.S treats ebreak with t0=RV_ECALL_RUNTIME_EXCEPT the
same way M-mode treats ecall-based ARCH_EXCEPT.

Signed-off-by: Alexios Lyrakis <alexios.lyrakis@gmail.com>
2026-05-04 14:54:52 +02:00
Maochen Wang
2882c93a4c soc: nxp: enable compressed Wi-Fi/NB firmware on RW612 and IW610
Enable CONFIG_NXP_COMPRESSED_WIFI_NB_FW by default for the
nxp_m2_wifi_bt shield and RW series SoCs.
This selects compressed Wi-Fi and NBU firmware images to reduce
flash usage on supported NXP platforms.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2026-05-03 21:40:59 +02:00