Commit graph zephyr/soc
Author SHA1 Message Date
Sreeram Tatapudi
c8bdb35f9f soc: Infineon: pse84: Updates to align with the hal_infineon changes
Updates to align with the latest assets from the hal_infineon repo

Signed-off-by: Sreeram Tatapudi <sreeram.praveen@infineon.com>
2026-03-16 19:00:42 -05:00
Michał Stasiak
374598306e soc: nordic: nrf54h: update bicrgen range
HFXO.STARTUPTIME is the last register to generate
BICR from.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2026-03-16 10:05:41 -04:00
Michał Stasiak
f20fee2431 soc: nordic: gppi_init: change included header
Name of included header has changed.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2026-03-16 10:05:41 -04:00
Michał Stasiak
19d6a35eef modules: hal_nordic: introduce nRF91 anomaly 36 config
Added Kconfig that allows enabling nRF91 anomaly 36
workaround. Added translation to MDK-based symbol
in mdk_config.h.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2026-03-16 10:05:41 -04:00
Khai Cao
483218c6ea soc: renesas: ra: Add Kconfig.sysbuild for second-core launcher
Add Kconfig.sysbuild for second-core launcher

Signed-off-by: Khai Cao <khai.cao.xk@renesas.com>
2026-03-16 12:32:21 +01:00
Christophe Guibout
55b0ebf0df soc: st: add support for stm32mp215f
Add stm32mp215f SoC variants that are close to stm32mp25x with
less features but with optimized power consumption:
- rework SOC management to handle both stm32mp25x and stm32mp21x
- Fix NUM_IRQS where last usable IRQ is 311
- Factorize Kconfig

Signed-off-by: Christophe Guibout <christophe.guibout@st.com>
2026-03-16 12:24:52 +01:00
Gerson Fernando Budke
2857fffd12 soc: atmel: sam: Add configurable MCK prescaler
Add CONFIG_SOC_ATMEL_SAM_MCK_PRESCALLER to allow configure the
Master Clock (MCK) prescaler. This is needed for SAM4E which
requires a prescaler of 2 to achieve the correct clock frequency.

Changes:
- Add SOC_ATMEL_SAM_MCK_PRESCALLER Kconfig option with default of 2 for
  SAM4E and 1 for other SAM series
- Fix SOC_ATMEL_SAM_PLLA_MULA default for SAM4E from 9 to 19 to achieve
  120MHz: 12MHz * 20 / 2 = 120MHz
- Use CONFIG_SOC_ATMEL_SAM_MCK_PRESCALLER in SoC init for
  SAM4E, SAM4S, SAMX7X

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2026-03-16 12:21:08 +01:00
Jiafei Pan
2cb4abbe39 soc: imx93: fix cpu pm dependency
SoC's PM API actually depends on PSCI driver, and enable PM_CPU_OPS
for SoC when CONFIG_PM is enabled.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2026-03-16 12:18:18 +01:00
Holt Sun
ac16ed0c3e soc: nxp: mcxc/k32lx: use KINETIS_SIM_CLOCK_DECODE_NAME for clock sel
Replace direct comparison of the DT `name` cell against kCLOCK_* SDK
enum values with KINETIS_SIM_CLOCK_DECODE_NAME(), which extracts the
clock_name field from the encoded id cell produced by KINETIS_SIM_CLOCK().
A local DT_CLOCK_NAME() helper wraps the decode for readability.

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2026-03-16 09:02:51 +01:00
Tien Nguyen
34d713a369 drivers: pinctrl: Add support for Renesas RZ/T2H
Add more ports and update function field to 8 bits to support Renesas
RZ/T2H

Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>
2026-03-16 09:01:16 +01:00
Tien Nguyen
cce2310676 soc: renesas: Add support for Renesas RZ/T2H
Add support for Renesas RZ/T2H

Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>
2026-03-16 09:01:16 +01:00
Tony Han
643ab1f78b soc: microchip: sam: update MMU for sama7d6 SHA
When SHA is activated in the DT, configure it's register region with
strong ordered, read and write access.

Signed-off-by: Tony Han <tony.han@microchip.com>
2026-03-16 07:26:44 +01:00
The Nguyen
74d4478e23 soc: renesas: ra: add DCACHE policy config
Add config to select writethrough or writeback mode for DCACHE on
Renesas RA family.

Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
2026-03-16 07:24:12 +01:00
The Nguyen
cfbeecc3e4 soc: renesas: ra: enable DCACHE support
Initialize DCACHE if CONFIG_DCACHE is enabled

Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
2026-03-16 07:24:12 +01:00
Mathieu Choplain
7dc5e73f39 drivers: gpio|pinctrl: stm32: perform pin configuration in common module
The `gpio_stm32_configure()` function is used by both the GPIO and PINCTRL
drivers to configure I/O pins. Move it to the GPIO port manager module's
code so it can be shared properly and update both drivers accordingly.

With this change, the GPIO and PINCTRL drivers are completely decoupled.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-03-13 14:27:30 -07:00
Mathieu Choplain
7e18141046 drivers: gpio|pinctrl: stm32: introduce common module for device mgmt
On STM32 hardware, the GPIO port's MMIO interface is used for two purposes
which have their own separate Zephyr API: controlling the state of digital
I/O pins directly (GPIO API) and configuring I/O pins for a specific usage
(PINCTRL API). Historically, this was handled by having the PINCTRL driver
call inside the GPIO driver which works but creates a dependency loop.

Introduce a new `GPIO port manager` module in SoC-specific common code that
takes over various from the existing GPIO/PINCTRL drivers: GPIO port device
instantiation and `GPIO port index -> device` mapping respectively.

Modify the GPIO and PINCTRL drivers to make use of this GPIO port manager
module - a first step in decoupling both drivers from each other.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-03-13 14:27:30 -07:00
Mathieu Choplain
13442977f4 drivers: gpio: stm32: move pinnum-to-LL-value helper to shared header
Move the helper function which computes the LL pin value from a pin number
to the <stm32_gpio_shared.h> header as this function can be useful for
modules other than the GPIO driver.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-03-13 14:27:30 -07:00
Mathieu Choplain
a6315d8332 drivers: gpio: stm32: move ports list to shared SoC-level header
Move the ports list from the GPIO driver to a shared SoC-specific header.
This will allow reuse from other drivers such as pinctrl.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-03-13 14:27:30 -07:00
Mathieu Choplain
6e42b8ef61 dts: bindings: stm32*-pinctrl: move definitions to SoC pinctrl header
The STM32 pinctrl dt-bindings headers were full of definitions used by the
SoC-specific pinctrl header (<pinctrl_soc.h>) rather than from Devicetree.

Move these definitions to the appropriate header. While at it, include the
<pinctrl_soc.h> header from GPIO driver instead of series-specific pinctrl
header since it uses these definitions.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-03-13 14:27:30 -07:00
Jiafei Pan
70493336f3 soc: imx93: add CPU idle PM support for A55 Core
Use PSCI CPU suspend to implement CPU idle for Cortex-A55 Core on i.MX 93.

Signed-off-by: Chenhui Zhao <chenhui.zhao@nxp.com>
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2026-03-13 14:45:02 +01:00
Sylvio Alves
c64a74e711 espressif: adapt to hal_espressif IDF master sync
Adapt all Espressif SoC and driver code to the updated
hal_espressif module synced with IDF master branch.

Main changes:
- clock control: delegate peripheral clock gating to HAL
  layer using new clock/reset APIs
- SPI/GDMA: adapt to restructured DMA HAL with new channel
  allocation and configuration interfaces
- ethernet: add RMII clock configuration and PHY management
- GPIO: simplify using direct HAL function calls
- flash: adapt to updated SPI flash HAL interfaces
- linker scripts: update IRAM/DRAM mappings for new HAL
  object files
- DTS: fix ESP32-S2 PSRAM dcache1 address to match actual
  MMU mapping region (0x3f800000 DRAM1 instead of 0x3f500000
  DPORT which lacks 8-bit access capability)
- west.yml: update hal_espressif revision

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-03-13 11:38:18 +01:00
Lucien Zhao
feec7d80ca soc: nxp: imxrt118x: Add ELE active timer ping support
The RT1180 platform requires periodic communication with the EdgeLock
Enclave (ELE) to prevent system reset. According to RT1180 SRM section
3.11 "ELE active timer", the ELE must be pinged at least once every
24 hours.

This commit implements ELE ping functionality using Zephyr's software
timer API (k_timer). The timer is configured to ping the ELE every
23 hours (instead of 24) to account for potential clock inaccuracies.

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2026-03-13 07:09:59 +01:00
Scott Worley
e0e7d6c44d soc: microchip: mec: common: Remove I2C get lines and cleanup
We will standardize how the I2C driver supporting MEC172x/4x/5x
and onwards gets the states of the SCL and SDA lines. For MEC172x we
use the Zephyr GPIO driver to get the pin states. For MEC174x/5x and
future parts based on v3.8 I2C hardware we can use a new feature
of the bit-bang control register allowing live reading of the pin
states without switching the internal MUX. The SoC common code
for MEC172x to read GPIO's using direct register access is
removed by this commit.

Signed-off-by: Scott Worley <scott.worley@microchip.com>
2026-03-12 14:03:48 -05:00
Yassine El Aissaoui
9e89f75deb soc: mcxw: Fix SWD debug/flash issue on MCXW72 target
Resolved an issue where repeated flash/debug cycles
would fail, requiring the board to be placed in ISP
mode before it could be programmed again.

Signed-off-by: Yassine El Aissaoui <yassine.elaissaoui@nxp.com>
2026-03-12 14:02:50 -05:00
Amneesh Singh
e82959fba1 soc: ti/k3: am6x: add early init hook for a53 cores
Allow unlocking partitions as part of early_init_hook if the device tree
contains an unlock configuration as part of ti,control-module.

Signed-off-by: Amneesh Singh <amneesh@ti.com>
2026-03-12 12:08:25 -04:00
Amneesh Singh
e67ecb40b8 soc: ti/k3: am6x: use ti,control-module for partition unlocking
Currently we maintain addresses and values as static configurations using
static configurations and macros in ctrl_partitions.c. Instead use the
new ti,control-module binding to get these values from the device tree and
unlock the partitions during early init.

Only compile and call `k3_unlock_all_ctrl_partitions` if at least one node
with status okay and compatible "ti,control-module" is present.

Also make sure to map and unmap the regions in case MMU is present.

Signed-off-by: Amneesh Singh <amneesh@ti.com>
2026-03-12 12:08:25 -04:00
Pete Johanson
385f95431e soc: st: Initialize backup SRAM early for use with retained mem
Adjust the backup SRAM initialization to PRE_KERNEL_1 to ensure it's
initialized before any retained_mem instances placed into that area.

Signed-off-by: Pete Johanson <pete.johanson@analog.com>
2026-03-12 12:06:53 -04:00
Silesh C V
0141edf8ea soc: alif: ensemble: introduce E1C series
Add support for the Ensemble E1C series and the AE1C1F4051920PH0
SoC within this series. The E1C (E1 Compact) series contains a
single Cortex-M55 core configured as RTSS-HE (High Efficiency
Real Time Subsystem) with a maximum frequency of 160 MHz.

The E1C series uses SOC_FAMILY_ENSEMBLE_RTSS helper symbol
introduced earlier to share the CPU architecture configuration
with the E4, E6, and E8 series.

Link: https://alifsemi.com/ensemble-e1c-series/

Signed-off-by: Silesh C V <silesh@alifsemi.com>
2026-03-12 09:27:25 -05:00
Alessandro Manganaro
5d4da79872 soc: st: stm32wbax: Openthread config
Change OPEN_THREAD_WORKQUEUE_STACK_SIZE for stm32wbax

Signed-off-by: Alessandro Manganaro <alessandro.manganaro@st.com>
2026-03-12 09:22:39 -05:00
Flavio Ceolin
b92d516907 random: ctr-drbg: Use PSA crypto instead of MBED TLS
Change ctr_drb random implementation to use PSA Crypto API.
Since name convention is very different and PSA abstracts the
algorithm used to generate CSPRNG, file and Kconfig options were
changed. Current symbols were deprecated and just select the new
one.

Signed-off-by: Flavio Ceolin <flavio@hubblenetwork.com>
2026-03-12 11:32:15 +01:00
minyuan xue
a4053394ab soc: realtek: ameba: add clock control in soc kconfig
Select the clock control from soc Kconfig for ameba series.

Signed-off-by: minyuan xue <minyuan_xue@realsil.com.cn>
2026-03-12 09:04:02 +00:00
Jisheng Zhang
9842b062bb cpuidle: optimize out weak stub function call for !TRACING
For !TRACING, most arch_cpu_idle and arch_cpu_atomic_idle implementation
relies on the fact that there's weak stub implementations in
subsys/tracing/tracing_none.c, this works, but the arch_cpu_idle sits in
hot code path, so we'd better to make it as efficient as possible.

Take the riscv implementation for example,
Before the patch:

80000a66 <arch_cpu_idle>:
80000a66:	1141                	addi	sp,sp,-16
80000a68:	c606                	sw	ra,12(sp)
80000a6a:	37c5                	jal	80000a4a <sys_trace_idle>
80000a6c:	10500073          	wfi
80000a70:	3ff1                	jal	80000a4c <sys_trace_idle_exit>
80000a72:	47a1                	li	a5,8
80000a74:	3007a073          	csrs	mstatus,a5
80000a78:	40b2                	lw	ra,12(sp)
80000a7a:	0141                	addi	sp,sp,16
80000a7c:	8082                	ret

NOTE: the sys_trace_idle and sys_trace_idle_exit are just stubs when
!TRACING

after the patch:
80000a62 <arch_cpu_idle>:
80000a62:	10500073          	wfi
80000a66:	47a1                	li	a5,8
80000a68:	3007a073          	csrs	mstatus,a5
80000a6c:	8082                	ret

Signed-off-by: Jisheng Zhang <jszhang@kernel.org>
2026-03-11 23:17:29 -04:00
Peter Marheine
2221500305 arch: riscv: correct signature of __soc_handle_irq
When __soc_handle_irq is called inside _isr_wrapper, it actually expects
the function to return an IRQ number but the declaration of
__soc_handle_irq in the header has it returning `void` instead. Fix the
declaration to reflect that it actually returns an XLEN-length integer.

All existing implementations of __soc_handle_irq already follow this
behavior by either not modifying the a0 register or setting it to the
correct IRQ number, and follow the calling convention in all other
respects:

 * soc/ite/ec/common/soc_irq.S: trampoline to
   `uint8_t get_irq(void* unused)`
 * soc/adi/max32/soc_irq_rv32.S: internally calls
   `uint32_t max32_rv32_intc_get_next_source(void)` and doesn't modify
   a0 afterwards
 * soc/openisa/rv32m1/soc_irq.S: does not modify a0, and obliquely
   refers to this issue in a comment explaining why the function isn't
   implemented in C
 * soc/common/riscv-privileged/soc_irq.S: does not modify a0
 * all others: stub (just `ret`), which is a valid implementation of the
   integer identity function

Signed-off-by: Peter Marheine <pmarheine@chromium.org>
2026-03-11 23:17:21 -04:00
Laura Carlesso
165f2e1c84 soc: infineon: edge: pse84: Remove dependency on edgeprotecttools
For adding metadata and verifying images on Infineon Edge devices
switch to using the mcuboot tool imgtool rather than depending on
the Infineon specific edgeprotecttools. For the purposes required
in the Zephyr environment this is more than enough.

Signed-off-by: Laura Carlesso <laura.carlesso@infineon.com>
2026-03-11 17:55:47 +00:00
Tom Burdick
bdcade6646 gpio: infineon: Add shared gpio ports
Infineon PSOC4 parts share many ports with a single IRQ line. Using the
SHARED_INTERRUPT handler feature of Zephyr results in a very large IRQ
vector table. Instead structure in DT the idea that the ports are
sharing an interrupt with a sort of pseudo interrupt controller.

This also rectifies the need to ifdef on CAT1C/M0+. I added a note
making it clear that in those cases we likely need to rework the way
interrupts are done anyways as there's secondary interrupt
muxes/controllers involved.

Signed-off-by: Tom Burdick <thomas.burdick@infineon.com>
2026-03-10 17:58:42 -07:00
Axel Le Bourhis
b164aec540 soc: nxp: mcxw70: fix build issue due to wrong selection of HAS_PM
PR #103203 introduced a regression for mcxw70 builds by incorrectly
moving `HAS_PM` from MCXW72 to MCXW70.
This fix restores the correct configuration.

Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
2026-03-10 14:22:08 -05:00
Krzysztof Chruściński
54b3185440 soc: nordic: nrf54h: Add support for new nrfx_gppi API
Add support for dynamic allocation and freeing of DPPI connections
on nrf54h20. It is not longer required to use devicetree to allocate
specific channels that will be used by the application. nrfx_gppi on
nrf54h20 cpuapp behaves in almost the same way as on other targets.
The main difference is that allocating PPI connection requires
communication with Ironside through IPC.

It means that:
- allocation and freeing can only be done from the thread context
- allocation and freeing is slower

Currently, there is no support for controlling PPI connections in
global domain on other cores. It is expected that cpuapp will
setup PPI for VPR (ppr, flpr) as such approach reduces the need for
nrfx_gppi driver being present on ppr/flpr and those cores are
memory constrained.

Regarding cpurad, it is expected that PPI connections are static so
they can be setup manually, using DT and HAL. During initialization
nrfx_gppi on cpuapp gets the information about all PPI resources that
are statically allocated (using the devicetree) and they are excluded
from the pool of available channels.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2026-03-10 14:18:00 -05:00
Krzysztof Chruściński
b9e0e4970b soc: nordic: nrf54h: Add support for local cpurad GPPI
Add support for handling connections within the radio domain
using the new GPPI helper.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2026-03-10 14:18:00 -05:00
Duy Dang
b69d3e1222 soc: renesas: rcar: Support V4H SoC
Add initial support for Renesas R-Car V4H SoC.
Support Zephyr RTOS on Cortex R52, 1.4GHz core.
For more information and documentation, please visit the product page:
https://www.renesas.com/en/products/r-car-v4h

Signed-off-by: Duy Dang <duy.dang.yw@renesas.com>
2026-03-10 14:15:49 -05:00
Tim Pambor
b78d3c346c soc: stm32: stm32_iocell: add support for STM32H5 series
For STM32H5 series, only the cell compensation can be configured,
as the HSLV configuration is controlled on a per pin basis and
not on a per domain basis as for other STM32 series.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2026-03-10 17:24:44 +01:00
Sudan Landge
efa14d4edb soc/nxp: Update SOC-specific vector tables for PendSV removal
The z_arm_pendsv vector doesn't exist on USE_SWITCH=y builds

Signed-off-by: Sudan Landge <sudan.landge@arm.com>
2026-03-10 17:24:10 +01:00
Andy Ross
e3acbec5cf soc/nxp: Update SOC-specific vector tables for PendSV removal
The z_arm_pendsv vector doesn't exist on USE_SWITCH=y builds

Signed-off-by: Andy Ross <andyross@google.com>
2026-03-10 17:24:10 +01:00
Alexander Roodt
d4c84cd07b soc: infineon: enable DWT unit for PSOC6 devices with Cortex-M4 core
Add missing Kconfig selection to enable the Data Watch and Trace unit for
the PSOC6 family of devices using a Cortex-M4 core.

Signed-off-by: Alexander Roodt <alexander.roodt@deepgate.ai>
2026-03-10 15:11:20 +01:00
Raffael Rostagno
d6c4ed90f4 pm: soc: esp32: Fix PM interface
Fix implementation so that sleep start routine is called at
pm_state_set() (entry) instead of pm_state_exit_post_ops().
Add RTC timer wakeup management, as well as code for deep
sleep.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2026-03-10 15:09:30 +01:00
Raffael Rostagno
9cc3028b39 soc: espressif: pm: CCOUNT compensation, ticks rounding
Add defconfig setting to enable CCOUNT compensation for low power mode
(light sleep). Enable ceil rounding for exit latency ticks calculation
for RISC-V chips.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2026-03-10 15:09:30 +01:00
Nhut Nguyen
3f80b8c75a drivers: pinctrl: Add support for Renesas RZ/N2H
Add more ports and update function field to 8 bits to support Renesas
RZ/N2H

Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
2026-03-10 09:33:25 +01:00
Nhut Nguyen
21cc27e488 soc: renesas: Add support for Renesas RZ/N2H
Add support for Renesas RZ/N2H

Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
2026-03-10 09:33:25 +01:00
Tony Han
28e83dd714 soc: microchip: sam: update MMU for sama7g5 AES
When AES is activated in the DT, configure it's register region with
strong ordered, read and write access.

Signed-off-by: Tony Han <tony.han@microchip.com>
2026-03-10 09:30:02 +01:00
Yuzhuo Liu
e5c0f9698f drivers: pinctrl: add rtl8752h pinctrl driver
Add rtl8752h series in bee pinctrl driver.

Signed-off-by: Yuzhuo Liu <yuzhuo_liu@realsil.com.cn>
2026-03-09 15:03:48 -05:00
Zophai Liu
e0d0c9ad70 soc: realtek: bee: Add support for rtl8752h SoC
Add SoC files for realtek rtl8752h.

Signed-off-by: Zophai Liu <zophai_liu@realsil.com.cn>
2026-03-09 15:03:48 -05:00