Commit graph zephyr/soc
Author SHA1 Message Date
Guillaume Gautier
a03c48b36d soc: st: stm32: add stm32c5 support
Add STM32C5 SoC support.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2026-03-19 11:39:33 +00:00
Francois Ramu
25efc60662 soc: stm32: introduce stm32_status_t type abstraction
Introduce new symbol stm32_status_t to ease introduction of new
STM32 HAL2 status structure.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2026-03-19 11:39:33 +00:00
Zhiyuan Tang
8c49b3b34e soc: dts: realtek: add bluetooth support for rtl87x2g
- Define the HCI node in the SoC series' dtsi.
- Adjust main thread stack sizes and buffer counts required
  for Blutooth operation.

Signed-off-by: Zhiyuan Tang <zhiyuan_tang@realsil.com.cn>
2026-03-19 11:39:07 +00:00
Duy Nguyen
af9f6f56c6 soc: Add FPU config for RXv2 and RXv3
The RXv2 and RXv3 core support FPU in CPU.
This enable FPU instruction build for the RX140, RX261 and RX26T

Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
2026-03-19 15:27:18 +09:00
Tien Nguyen
7712bcdf30 soc: renesas: Fix macros/symbols for offset/address
Fix macros/symbols that broke after changes were merged to get the
absolute address

Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>
2026-03-19 15:26:40 +09:00
Tien Nguyen
9b064c5480 dts: renesas: remove ranges property for RZ/T2H, N2H
remove ranges property for RZ/T2H, N2H

Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>
2026-03-19 15:26:40 +09:00
Sylvio Alves
70ddee7e0b soc: espressif: place reboot functions in IRAM for all SoCs
esp_restart_noos() and esp_system_reset_modules_on_exit() disable the
flash cache before resetting the CPU. Without proper IRAM placement,
these functions remain in flash. After Cache_Disable_Cache() returns,
the CPU attempts to fetch the next instruction from flash-mapped
memory which is no longer accessible, causing a CPU_LOCKUP on SoCs
where cache invalidation is immediate.

Add linker entries to place esp_restart_noos,
esp_system_reset_modules_on_exit (and esp_restart_noos_dig for ESP32)
in IRAM text and DRAM rodata sections across all Espressif SoCs.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-03-19 12:27:43 +09:00
Jakub Zymelka
93f16734c0 soc: nordic: nrf54l: Add build assert for LFXO load capacitance
Since the enum validation for load-capacitance-femtofarad was removed
from the DTS binding, add a BUILD_ASSERT to ensure the provided value
is within the valid range (3000-18000 fF) at compile time.

Signed-off-by: Jakub Zymelka <jakub.zymelka@nordicsemi.no>
2026-03-18 17:44:58 -05:00
William Markezana
a4a56726df drivers: clock_control: Update BL70x clock_control to BL70x/L
Handle BL70xL in BL70x driver

Signed-off-by: William Markezana <william.markezana@gmail.com>
2026-03-18 17:40:26 -05:00
William Markezana
7ebd3dd4da soc: bflb: add BL70XL SoC series support
Add SoC support for the Bouffalo Lab BL70XL series (BL702L, BL704L).
RISC-V E24 core with CLIC interrupt controller, L1 cache, FPU, and
XIP flash execution.

Includes SoC initialization (CLIC clear, HBN/PDS fastboot flag clear,
SEAM config), system reboot, Kconfig for two SoC variants
(BL702L10Q2I, BL704L22Q2H), soc.yml entries, and e24 common code
inclusion.

Signed-off-by: William Markezana <william.markezana@gmail.com>
2026-03-18 17:40:26 -05:00
Gerson Fernando Budke
fb66eb5048 soc: atmel: samd2x: Enable internal OSC32K as RTC source
In the current implementation the platforms samd20/21 and samr21 can
only use an external crystal or clock to drive RTC. This enable the
possibility to select the internal OSC32K as an alternative for low
cost boards that don't use an external 32.768 kHz source.

Fixes #102352

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2026-03-18 17:36:26 -05:00
Adam BERLINGER
33b845d4a2 soc: st: n6: Set ADC as secure privileged in RIF
This is necessary for ADC to control GPIO analog multiplexes,
when GPIOs are set as secure (by default).

Signed-off-by: Adam BERLINGER <adam.berlinger@st.com>
2026-03-18 15:25:32 -05:00
Zhaoxiang Jin
a39d0c7a4d soc: nxp: replace magic number with DT_PROP macro
replace magic number with DT_PROP macro

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-03-18 15:23:32 -05:00
Francois Ramu
15de3940ea soc: st: stm32h5ex and stm32h5fx new mcu of the stm32h5 family
Add the new stm32h5e4/5 and stm32h5f4/5 devices of the stm32H5 family
with 4MB of flash and Arm® Cortex®-M33 core.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2026-03-18 15:21:14 -05:00
Jiafei Pan
ba8fce930f soc: imx93: add flexspi clock configuration
Add flexspi clock configuration for i.MX 93.

Signed-off-by: Joe Zhou <zhongcai.zhou@nxp.com>
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2026-03-18 15:18:39 -05:00
Appana Durga Kedareswara rao
1afec35e20 soc: xlnx: zynq7000: Fix SoC Kconfig naming for HWMv2 compliance
Rename SOC_XILINX_XC7Z* Kconfig symbols to SOC_XC7Z* to align
with HWMv2 guidelines. The SOC Kconfig symbol name must match
the uppercase version of the SOC name defined in soc.yml.

Before: config SOC_XILINX_XC7Z010 with default "xc7z010"
After:  config SOC_XC7Z010 with default "xc7z010"

This allows CI checks to detect typos and enables future
auto-generation of SOC_* symbols from soc.yml files.

Updated files:
- soc/xlnx/zynq7000/xc7zxxx/Kconfig.soc
- soc/xlnx/zynq7000/xc7zxxxs/Kconfig.soc
- boards/digilent/zybo/Kconfig.zybo
- boards/qemu/cortex_a9/Kconfig.qemu_cortex_a9

Fixes: #69317

Signed-off-by: Appana Durga Kedareswara rao <appana.durga.kedareswara.rao@amd.com>
2026-03-18 15:12:39 -05:00
Johann Fischer
92bc73c337 soc: nordic: remove pointless usbhs nodelabel vs MDK name checks
The nodelabels do not have any relation to the Nordic MDK and can be
named differently between SoCs.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2026-03-18 15:11:16 -05:00
Zhiyuan Tang
a557d2ccb8 soc: rtl87x2g: fix ROM ISR restore for direct ISRs and add irq_lock
This commit addresses two issues during ISR restoration:

1. Support IRQ_DIRECT_CONNECT: Compare the current RAM vector table
   against Zephyr's initial flash vector table (`_vector_start`)
   instead of hardcoding `_isr_wrapper`. This correctly identifies
   ROM-patched ISRs without falsely overriding Zephyr direct ISRs.
2. Prevent race conditions: Add `irq_lock()` and reorder
   `NVIC_EnableIRQ` to safely handle driver interrupts that might
   already be active during late initialization.

Note: There is a known limitation with this approach. If a user
registers a direct ISR on an IRQ that the ROM also registers, the
ROM's ISR will take precedence. However, this overlap is practically
rare as users do not typically override ROM-owned interrupts.

Signed-off-by: Zhiyuan Tang <zhiyuan_tang@realsil.com.cn>
2026-03-18 08:39:10 -05:00
Zhiyuan Tang
222be8cf74 soc: rtl8752h: add essential SoC initialization
Add initialization of critical components for the RTL8752H
series.

Key initializations include:
- Realtek OS abstraction layer.
- Clock active mode settings.
- Power Management (PM).
- PHY  modules.
- Bluetooth controller ROM initialization.

Note: A mechanism is introduced to synchronize the RAM Vector Table between
Realtek's ROM code (which writes raw ISRs) and Zephyr's interrupt
management subsystem (sw_isr_table).

Signed-off-by: Zhiyuan Tang <zhiyuan_tang@realsil.com.cn>
2026-03-18 08:39:10 -05:00
Khai Cao
5c6df0e1df soc: renesas: ra: Add Kconfig.sysbuild for second-core launcher
Add Kconfig.sysbuild for ek_ra8d2 second-core launcher

Signed-off-by: Khai Cao <khai.cao.xk@renesas.com>
2026-03-18 08:38:02 -05:00
Axel Le Bourhis
d7912cf2e4 soc: nxp: mcxw70: enable BLE support
- Add NBU pinmux to configure HDI mode with external radio
- Define nbu_handler to the MU interrupt handler
- Enable TSTMR0 clock at init
- Enable connectivity framework, MCMGR, rpmsg-lite
- Enable MU driver when selecting NXP_RF_IMU
- Disable LPUART1 to avoid pin conflicts with radio interface

Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
2026-03-18 08:37:20 -05:00
Axel Le Bourhis
388fe4b4d8 dts: bindings: nxp,nbu: add pinctrl to support external radio
When using an external radio, we need to configure pins for HDI mode.
Since it's specific to NBU, we can add this control in the nxp_nbu
driver.

Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
2026-03-18 08:37:20 -05:00
Axel Le Bourhis
76789229e7 soc: mcxw70: define the shared memory on the device tree
Define a shared memory section in STCM, this shared memory is used
to transmit data to the NBU core.
This shared STCM section must be used through non-secure address range
because the NBU core can only access non-secure memory regions, and
the main core must reference non-secure addresses in the data shared
with the NBU core.

Since the MCXW70 doesn't have an SMU2, reworked the sections.ld file
to use a macro-based approach to determine the node label.
This allows to differentiate devices that have SMU2 from those that
don't, while reusing the same sections.ld file.
Use "stcm_shared" as node label for MCXW70.
Use node status in sections.ld since all regions are not available
on all SoCs.

Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
2026-03-18 08:37:20 -05:00
Lucien Zhao
a56964ddf1 soc: nxp: imxrt118x: Add FLEXSPI2 clock configuration
- Configure FLEXSPI2 root clock using SYS_PLL3_PFD2 with divider 2
  when FLEXSPI2 is enabled and not used for XIP flash

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2026-03-18 18:23:01 +09:00
Yuzhuo Liu
66feaaf25f drivers: counter: add Realtek Bee series driver
Add counter timer driver support for Realtek Bee series SoCs,
including RTL87x2G and RTL8752H.

This driver is based on the hardware timer and supports:
- Relative alarm configuration
- Top value configuration

Signed-off-by: Yuzhuo Liu <yuzhuo_liu@realsil.com.cn>
2026-03-18 18:22:17 +09:00
Lucien Zhao
ba77cd548f soc: imxrt118x: align TRDC init with MCUX SDK
BOARD_GrantTRDCFullPermissions() flow:
- Request TRDC ownership via ELE for AON/MEGA/WAKEUP
- Apply SDK-aligned DAC (including TRDC3 MDAC assignments)
- Grant full access control settings for TRDC1/TRDC2

Refactor the implementation out of soc.c into a dedicated trdc_setup.c
file to keep soc.c focused on early init sequencing, and add it to the
SoC CMakeLists.

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2026-03-18 18:20:43 +09:00
Lucien Zhao
9429aa4e60 soc: imxrt118x: raise VDD_SOC for cm7 core
- Increase default DCDC/core voltage to 1.125 V for improved margin.

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2026-03-18 18:19:48 +09:00
Lucien Zhao
b5800c5357 soc: imxrt118x: harden CM7 kick-off sequence
- Gate off M7 clock before clearing M7_CFG[WAIT] (CPUWAIT) and gate
  it back on after the deassert. (This is the process requirement
  in RT118X RM)

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2026-03-18 18:19:48 +09:00
Petr Buchta
887474be01 boards: nxp: frdm_mcxa577: Fix MCUboot header size
The default value 0x200 wasn't compatible with IVT alignment which  was
set to 0x400 due to large number of ISR.

Signed-off-by: Petr Buchta <petr.buchta@nxp.com>
2026-03-18 12:45:32 +09:00
Hui Bai
36e899816b soc: nxp: rw: Disable AVPLL and TDDR when doing clock initialization.
The RW612 will enter PM_STATE_RUNTIME_IDLE mode when idle but the
average current is higher than expected. The expected current should be
around 15mA but the actual current is nearly 18mA.
By disabling AVPLL and TDDR clock in clock_init, the current of
PM_STATE_RUNTIME_IDLE mode is ok, which is around 15.5mA

Signed-off-by: Hui Bai <hui.bai@nxp.com>
2026-03-18 11:03:20 +09:00
CHEN Xing
a305e6de1d soc: microchip: sam: update for sama7g5 tc
Update MMU and GCLK configurations for tc

Signed-off-by: CHEN Xing <xing.chen@microchip.com>
2026-03-17 18:27:21 -04:00
Kate Wang
d70c6ca75c soc: nxp: imxrt11xx: add LCDIFV2 clock and device tree support
Add clock initialization and device tree node for the LCDIFV2 display
controller on i.MX RT11xx SoCs.

Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
2026-03-17 18:26:04 -04:00
Fabio Baltieri
c0c1b9010c soc: realtek: select HAS_PM for RTS5912
Select HAS_PM for RTS5912, this SoC supports PM and there's some
"default y" entries for it, resulting in a combination where PM is
selected and cannot be unselected.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2026-03-17 18:25:46 -04:00
Jamie McCrae
f22592cbc5 tree: Replace FIXED_PARTITION_* macro usage with PARTITION_*
Replaces usage of these deprecated macros with ones that support
fixed and mapped partition compatibles. Also includes an update to
hal_espressif which also (rightly or wrongly) has zephyr specific
code in it

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2026-03-17 18:24:52 -04:00
Jamie McCrae
3b3697732a dts: Remove ranges properties
This change is being reverted as devices should be updated to use
the new zephyr,mapped-partitions binding instead in which the
ranges property should be used

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2026-03-17 18:24:52 -04:00
Chay Guo
6af9a61033 boards: nxp: mimxrt685_evk: Add ACMP support
Added the ACMP instance support with corresponding clock configuration.

Signed-off-by: Chay Guo <changyi.guo@nxp.com>
2026-03-17 18:24:04 -04:00
Jjateen Gundesha
786f040751 soc: nxp: imx943: fix pm_mcore link failure when SCMI helpers absent
SOC_IMX943_PM_MCORE had no dependency on NXP_SCMI_CPU_DOMAIN_HELPERS,
causing pm_mcore.c to be compiled even when the scmi_nxp_cpu_* symbols
were not built, resulting in undefined reference link failures.

Fix by adding depends on NXP_SCMI_CPU_DOMAIN_HELPERS to the Kconfig
entry, ensuring pm_mcore.c is only compiled when the full SCMI CPU
domain stack is present. With this change, enabling CONFIG_PM=y without
the required SCMI stack is caught at Kconfig level rather than failing
at link time.

Fixes #103992

Signed-off-by: Jjateen Gundesha <jjateen97@gmail.com>
2026-03-17 18:23:09 -04:00
Peter Marheine
5fec964b23 soc: ite: remove unnecessary __soc_handle_irq trampoline
Defining `__soc_handle_irq` (part of the code path run on every
interrupt) as a jump to `get_irq` introduces unnecessary latency to
interrupt handling and inflates code size. Since `get_irq` is not
otherwise called, rename it to `__soc_handle_irq` and delete the old
trampoline.

The signature of the function is changed to match the declaration of
`__soc_handle_irq`, which is possible since commit
495a3281d4679c19703810afbac9607d16ac6788 corrected its declaration.

Signed-off-by: Peter Marheine <pmarheine@chromium.org>
2026-03-17 18:23:00 -04:00
Holt Sun
7607e9fa1e dts: soc: arm: nxp: mcxw: designate lptmr0 as system timer via chosen
Set zephyr,system-timer = &lptmr0 in the MCX-W7x and MCX-W70 DTSI
/chosen nodes. lptmr1 remains available for use by the counter driver.
Both drivers can be active simultaneously since they use separate
hardware instances.

Update SYS_CLOCK_HW_CYCLES_PER_SEC in the MCX-W7xx SoC defconfig to
resolve the clock frequency from the chosen node path instead of the
lptmr0 nodelabel.

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2026-03-17 18:22:50 -04:00
Holt Sun
c4efe9821c dts: soc: arm: nxp: imx95: designate lptmr1 as system timer via chosen
Set zephyr,system-timer = &lptmr1 in the i.MX95 DTSI /chosen node.
lptmr2 remains available for use by the counter driver. Both drivers
can be active simultaneously since they use separate hardware instances.

Default MCUX_LPTMR_TIMER to y in the i.MX95 SoC defconfig and resolve
SYS_CLOCK_HW_CYCLES_PER_SEC from the chosen node path instead of a
hard-coded node address.

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2026-03-17 18:22:50 -04:00
Alessandro Manganaro
69c9392640 soc: st: stm32: stm32wbax: Implementing ram retention in s2ram
Implementing the stm32wba power controller interface to manage
the ram retention in s2ram power state.

According the defined RAM, only the required pages will be retained.
This memory size can be modified by the overlay mechanism matching
the RAM required by the application and highlighted
in the building report.

Signed-off-by: Alessandro Manganaro <alessandro.manganaro@st.com>
2026-03-17 18:22:16 -04:00
Laura Carlesso
0bbc5ee22a soc: infineon: kit_pse84_eval: Enable relocate code config on cm33
Set CONFIG_CODE_DATA_RELOCATION for cm33 core so
that code that needs to be executed from RAM rather
than ext flash gets properly relocated
Additionally, ensure that the SRAM memory allows code
to be executed from it so set the MPU appropriately.
This aligns the strategy with the cm55 core for which all
this is already in place but does it by properly
setting the MPU regions from the start.

Signed-off-by: Laura Carlesso <laura.carlesso@infineon.com>
2026-03-17 18:22:07 -04:00
Aksel Skauge Mellbye
116e81fb6b soc: silabs: Enable RF path switch configuration
Configure and enable the RF path switch at boot if present.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2026-03-17 18:19:13 -04:00
Aksel Skauge Mellbye
52f1869e08 soc: silabs: Make radio init generic
Add a more generic function `soc_radio_init` to enable additional
operations to be performed as part of radio init.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2026-03-17 18:19:13 -04:00
Etienne Carriere
0505085d0c soc: st: stm32wba: disable debug when powering off
Disable debug support when powering off through the SoC STANDBY
state to prevent draining current.

When CONFIG_STM32_ENABLE_DEBUG_SLEEP_STOP is enabled, debug remains
powered in standby state which is expected when sleeping but not when
powering off.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2026-03-17 18:18:07 -04:00
Etienne Carriere
53dc8d1268 soc: st: stm32f1: disable debug when powering off
Disable debug support when powering off through the SoC STANDBY
state to prevent draining current.

When CONFIG_STM32_ENABLE_DEBUG_SLEEP_STOP is enabled, debug remains
powered in standby state which is expected when sleeping but not when
powering off.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2026-03-17 18:18:07 -04:00
Etienne Carriere
0fad29251d soc: st: stm32l1: disable debug when powering off
Disable debug support when powering off through the SoC STANDBY
state to prevent draining current.

When CONFIG_STM32_ENABLE_DEBUG_SLEEP_STOP is enabled, debug remains
powered in standby state which is expected when sleeping but not when
powering off.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2026-03-17 18:18:07 -04:00
Etienne Carriere
9b03adb4fe soc: st: stm32l1: use stm32_enter_poweroff() helper function
Use stm32_enter_poweroff() helper function to reach poweroff
state on stm32l1x SoCs.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2026-03-17 18:18:07 -04:00
Axel Le Bourhis
f79fbba954 soc: nxp: mcxw7x: set the core voltage to 1.1V at 96MHz
When the system clock operates at 96MHz, the core voltage must be
raised to 1.1V to ensure stability.
This fixes spurious resets occuring mainly during clock initialization.

Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
2026-03-16 19:09:20 -05:00
Jean-Pierre De Jesus DIAZ
fe9e759b50 soc: simplelink: Add cc1312r
This adds the CC1312R SoC by Texas Instruments, this requires virtually
no changes since the cc13x2_c26x2 family of SoCs already implement
everything.

One thing not yet enabled is the IEEE 802.15.4g Sub-GHz
driver for this SoC because I can't download SmartRF Studio
due to access constraints from TI.

Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2026-03-16 19:01:47 -05:00