Commit graph zephyr/soc
Author SHA1 Message Date
Zhiyuan Tang
3437f77cf4 soc: rtl87x2g: add essential SoC initialization
Add initialization ofcritical components for the RTL87x2G
series.

Key initializations include:
- Realtek OS abstraction layer.
- Clock active mode settings.
- Power Management (PM) and dynamic voltage scaling (DVFS).
- PHY and thermal compensation 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-02-26 10:29:19 +01:00
Zhiyuan Tang
0a9b3e27b0 modules: hal_realtek: introduce OSIF for Bee SoC family
This commit introduces the Realtek OSIF (Operating System Interface)
layer, which is the standard OS abstraction layer defined for the
Realtek Bee SoC family.

While OSIF is designed to be common across the Bee SoC family, this
specific implementation adapts the layer for the RTL87x2G series
running on Zephyr.

OSIF encapsulates specific RTOS interfaces to provide a unified API.
This enables Realtek-specific modules—such as PHY, Power Manager,
Clock Manager, and BT Controller—to run on different RTOS environments
without modification, significantly enhancing portability.

The OSIF adaptation maps the following fundamental components to their
corresponding Zephyr kernel APIs:
- Task management and Scheduling
- Message queues
- Synchronization (Semaphores, Mutexes)
- Software timers
- Memory management

Signed-off-by: Zhiyuan Tang <zhiyuan_tang@realsil.com.cn>
2026-02-26 10:29:19 +01:00
Camille BAUD
0e367538e5 soc: bflb: Properly setup and clear HBN irqs
HBN IRQs had been connected but not handled,
and one is active by default

Signed-off-by: Camille BAUD <mail@massdriver.space>
2026-02-25 18:09:23 -06:00
Sylvio Alves
8f786f505b dts: espressif: esp32c6: allow fixed ULP code memory region
Organize ESP32-C6 memory layout to allow additional ULP code
sample codes.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-02-25 18:05:16 -06:00
Andrew Perepech
619529bfa2 boards: mediatek: Add board support files for MT8365
Add board configuration files for MT8365 platform Audio DSP.

Signed-off-by: Andrew Perepech <andrew.perepech@mediatek.com>
2026-02-25 18:04:10 -06:00
Andrew Perepech
10693d4848 soc: mediatek: adsp: Add MT8365 SOC
Add support for MediaTek MT8365 SoC. This includes adding basic
initialization code, IRQ handling, IPI driver, MPU configuration,
and necessary build system files.

Signed-off-by: Andrew Perepech <andrew.perepech@mediatek.com>
2026-02-25 18:04:10 -06:00
Muhammed Asif
a08ba06723 soc: microchip: pic32cm_pl: Enables clock control in kconfig.soc
- Updates kconfig.soc with the kconfig symbol of clock_control

Signed-off-by: Muhammed Asif <muhammed.asif@microchip.com>
2026-02-25 13:14:52 +01:00
Quy Tran
9c34ad33a3 dts: renesas: rx: Add dtc node support on RX26T
Add dtc property node on RX26T dts, and ram section for
dtc_vector_table on RX26T SoC for dtc support

Signed-off-by: Quy Tran <quy.tran.pz@renesas.com>
2026-02-25 13:02:41 +01:00
Alain Volmat
a06c118c4f st: lvgl: move all STM32 common LVGL settings in soc Kconfig.defconfig
LVGL BITS_PER_PIXEL and COLOR_DEPTH are closely linked to how the LTDC
is configured on the platform. Move all all STM32 common LVGL
configuration into the common stm32 Kconfig.defconfig.

CONFIG_LV_DPI_DEF and CONFIG_INPUT are application related.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2026-02-25 12:58:23 +01:00
Manojkumar Konisetty
2565018964 drivers: gpio: Use shared interrupts for PSOC4
Enable CONFIG_SHARED_INTERRUPTS to allow multiple devices
to register handlers on the same IRQ line.

Replace irq_connect_dynamic() with IRQ_CONNECT() to configure
interrupts at build time, eliminating runtime setup overhead.

Signed-off-by: Manojkumar Konisetty <manoj@aerlync.com>
Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
2026-02-24 16:04:54 -06:00
Sylvio Alves
9cdd4be660 soc: espressif: esp32c6: add lp core coprocessor support
Add ULP LP core coprocessor support including:
- Kconfig options for wakeup sources (LP timer, LP IO)
- LP core startup assembly with BSS clear and vector table
- HP core initialization and LP core binary loading
- Deep sleep poweroff with ULP wakeup enable
- Linker script updates for LP core memory sections

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-02-24 16:04:32 -06:00
Sylvio Alves
4d1976e1b1 soc: espressif: rename ULP_ Kconfig symbols to ESP32_ULP_
Add ESP32_ vendor prefix to all ULP Kconfig symbols to follow
Zephyr naming conventions. This affects Kconfig definitions,
source files, linker scripts, sample configs, and documentation.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-02-24 16:04:32 -06:00
Muhammad Waleed Badar
e72548da43 soc: broadcom: bcm2711: add missing soc header
Add missing SoC header for the Broadcom BCM2711.

Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
2026-02-24 10:36:57 +01:00
Yassine El Aissaoui
0ec724838d soc: mcxw: Add Power management support on connectivity apps
- Update low power state exit latency to match SDK
- Enable NBU wakeup source
- Configure 32MHz crystal osc
- Shutdown NBU when it's not used

Signed-off-by: Yassine El Aissaoui <yassine.elaissaoui@nxp.com>
2026-02-24 10:36:04 +01:00
Thinh Le Cong
ed5dbe6041 soc: renesas: ra: Add support for Renesas RA8E1 SoC series
Add support for Renesas RA8E1 SoC series

Signed-off-by: Thinh Le Cong <thinh.le.xr@bp.renesas.com>
Signed-off-by: Khai Cao <khai.cao.xk@renesas.com>
2026-02-24 10:34:05 +01:00
Xavier Razavet
e8ec97bc91 soc: nxp: FIRC calibration correction
Calibration correction applied to the Fast Internal Reference Clock (FIRC)
configuration in the MCXw7xx System-on-Chip to address OSC32K oscillator
drift issues.

Signed-off-by: Xavier Razavet <xavier.razavet@nxp.com>
2026-02-23 16:59:43 +00:00
Fiona Behrens
e4068f8757 soc: nuvoton m48x: use numaker reset driver for uart
Use the numaker reset driver for the reset in the numicro uart driver.

Signed-off-by: Fiona Behrens <me@kloenk.dev>
2026-02-23 08:48:43 +01:00
Adam BERLINGER
1389957823 soc: st: stm32n6: Remove HSLV configuration
HSLV now handled by stm32_iocell driver and board device tree.

Signed-off-by: Adam BERLINGER <adam.berlinger@st.com>
2026-02-20 10:32:44 -08:00
Adam BERLINGER
ac9b2e2264 soc: stm32: Introduce stm32_iocell driver.
Goal is to configure HSLV options and I/O compensation cell
based on device tree settings.

Signed-off-by: Adam BERLINGER <adam.berlinger@st.com>
2026-02-20 10:32:44 -08:00
Josuah Demangeon
f554416e19 soc: bflb: bl70x: relocate uart driver by file
Tests like log_backend_uart include an emulated UART driver which
gets selected for ITCM code relocation, as part of drivers__serial.
Filter by FILE instead of LIBRARY to avoid this.

Fixes #104275

Signed-off-by: Josuah Demangeon <me@josuah.net>
2026-02-20 10:32:29 -08:00
Adrian Warecki
d885cfebaa soc: intel_adsp/ace: Fix MMU mapping for shared heap
Update shared heap entry in the SoC MMU map to match the new
mirrored-memory model.

Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
2026-02-20 10:32:01 -08:00
Fabin V Martin
a911cc9d6c soc: microchip: Include sercom mapping file
Includes files 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-02-20 10:31:08 -08:00
Sylvio Alves
c968759f8a soc: espressif: fix bootloader memory layout for all SoCs
Fix the bootloader segment base address calculation to use
DRAM_BUFFERS_END instead of DRAM_BUFFERS_START, matching the
IDF bootloader approach. The shared buffers region is only used
during ROM download mode and is available for bootloader use.

This change reclaims significant RAM for application builds:

| SoC  | Simple Boot | MCUboot App |
|------|:-----------:|:-----------:|
| C6   | +69.5 KB    | +61.7 KB    |
| H2   | +70 KB      | +62 KB      |
| C3   | +70 KB      | +62 KB      |
| C2   | +70 KB      | +62 KB      |
| S3   | +70 KB      | +62 KB      |
| S2   | +57 KB      | +49 KB      |

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-02-20 14:59:28 +01:00
Zhaoxiang Jin
55f1b24fbf soc: nxp: mcxn: update system timer frequency on CPU_FREQ changes
When CPU_FREQ is enabled with CORTEX_M_SYSTICK on MCXN, the system
timer frequency changes dynamically as the core clock is scaled.

Update cpu_freq_pstate_set() to:
- Notify the system timer driver of the new frequency by calling
  z_sys_clock_hw_cycles_per_sec_update() when CORTEX_M_SYSTICK is used
- Add a compile-time check to ensure
  CONFIG_SYSTEM_CLOCK_HW_CYCLES_PER_SEC_RUNTIME_UPDATE is enabled when
  using CPU_FREQ with SysTick, as this combination requires runtime
  frequency update support

Also update Kconfig.defconfig to:
- Remove the default enabling of MCUX_OS_TIMER when CPU_FREQ is set
- Enable SYSTEM_CLOCK_HW_CYCLES_PER_SEC_RUNTIME_UPDATE by default when
  both CPU_FREQ and CORTEX_M_SYSTICK are enabled

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-02-20 13:31:07 +01:00
Zhaoxiang Jin
294890e432 soc: nxp: imx9: use warning_no_misleading_indentation compiler property
Replace hardcoded -Wno-misleading-indentation flag with the new
warning_no_misleading_indentation compiler property for both C and C++
compilation in imx91 and imx943 SoCs. This ensures compiler-agnostic
handling of misleading indentation warnings.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-02-20 10:08:45 +01:00
Pete Johanson
814c12910f drivers: timer: Add MAX32 RV32 system timer
The RV32 core does not implement RISC-V mtime, so add a new system
timer driver uses a peripheral timer for this functionality.

Signed-off-by: Pete Johanson <pete.johanson@analog.com>
2026-02-20 07:03:31 +01:00
Pete Johanson
6dc49e9dd6 soc: adi: max32: Add RV32 interrupt controller
Add interrupt controller for the RV32 core of the MAX32 SoC.

Signed-off-by: Pete Johanson <pete.johanson@analog.com>
2026-02-20 07:03:31 +01:00
Maureen Helm
3fbe60e447 soc: adi: max32: Add support for secondary risc-v core
Adds support for the secondary risc-v core on all applicable max32
family socs. The zero-riscy core supports the following instructions:

  - RV32I Base Integer Instruction Set
  - RV32E Base Integer Instruction Set (optional)
  - RV32C Standard Extension for Compressed Instructions
  - RV32M Integer Multiplication and Division Instruction Set Extension
    (optional)

Includes support for using pinctrl for setting up RV32 debug pin access,
and improved support for launcing the secodary core from the primary ARM
core.

See https://pulp-platform.org/docs/user_manual.pdf

Signed-off-by: Maureen Helm <maureen.helm@analog.com>
2026-02-20 07:03:31 +01:00
Mathieu Choplain
08ff08d61d soc: st: stm32f1: clean up SWD-JTAG port configuration code
Clean up the SWD-JTAG port configuration code for STM32F1 series:
- remove check for DT_NODE_HAS_PROP() because there's default in binding
- use a wrapper around DT_ENUM_HAS_VALUE() instead of a bare DT_ENUM_IDX()

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-02-19 10:05:55 -06:00
Mathieu Choplain
a32d97033f drivers: pinctrl: stm32: move F1-specific SWJ-CFG to SoC-specific init
A special SYS_INIT() callback with hardcoded PRE_KERNEL_1 level 0 priority
inside the STM32 pinctrl driver was configuring the SWD-JTAG ports on
STM32F1 series.

Since this is the only series which requires such configuration, move this
code to the SoC-specific init hook instead (which has almost the same
priority as PRE_KERNEL_1 level 0 - it runs just slightly earlier).

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-02-19 10:05:55 -06:00
Mohamed Azhar
e129c02d5d soc: microchip: Update pinctrl files for port G1
Updates G1 pinctrl files

Signed-off-by: Mohamed Azhar <mohamed.azhar@microchip.com>
2026-02-18 14:44:06 +00:00
Adam Kondraciuk
6d14ea188c drivers: i2c: i2c_nrfx_twi: use standard instantiation
Switched nrfx_twi API to standard instantiation.

Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
2026-02-18 10:31:16 +00:00
Jonathan Nilsen
04bebca0f4 soc: nordic: uicr: add support for UICR.POLICY_PERIPHCONFSTAGE
Add support for configuring the "PERIPHCONF stage" that is set
when the application core is started by IronSide SE. This configures
which permissions the application has when calling the IronSide
PERIPHCONF write API at boot time.

The new option is part of the new version 2.1 of the UICR format.
IronSide SE versions that do not support the 2.1 format version
will fail the boot if given a UICR with that version number.
To avoid forcing users to upgrade IronSide, the UICR generator
only sets the UICR format version to 2.1 if a PERIPHCONF stage policy
is explicitly set, otherwise it will default to the 2.0 version.

Signed-off-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
2026-02-18 10:30:59 +00:00
Jonathan Nilsen
ceb55f56cc soc: nordic: uicr: make it possible to keep the PERIPHCONF section
Add a config that can be disabled to keep the PERIPHCONF data in the
firmware binary rather than stripping it. When the option is disabled
for a given image, the UICR generator does not include that image's
PERIPHCONF data in the UICR PERIPHCONF blob, instead it is expected that
it is loaded separately via an IronSide API call.

Signed-off-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
2026-02-18 10:30:59 +00:00
Scott Worley
8f12af2c28 soc: microchip: mec: MEC174x/5x/165xB SoC managed PM enablement
We add the initial enablement of SoC managed PM (CONFIG_PM) for
Microchip MEC174x, MEC175x, and MEC165xB series. Common SoC
PM handling code was added with support for light and deep
sleep (standby and suspend respectively). The code includes
initial save and restore for peripherals that do not obey
the MEC PCR block sleep signals. This initial commit implements
save and restore for basic timers and UARTs. The code builds
and runs the Zephyr SoC managed PM subsystem test.

Signed-off-by: Scott Worley <scott.worley@microchip.com>
2026-02-17 17:40:04 -06:00
Aleksandr Senin
4c7d61ba26 drivers: hwinfo: add GD32 support
Add a hwinfo backend for GD32 providing:
- device unique ID readout from the 96-bit UID registers
- reset cause reporting via the RCU_RSTSCK reset status register

Reset cause mapping uses the hal_gigadevice RCU_RSTSCK flag definitions
and reports supported causes based on the macros available in the HAL.

Signed-off-by: Aleksandr Senin <al@meshium.net>
2026-02-17 17:38:27 -06:00
Sylvio Alves
3bef399524 soc: espressif: use ZSR_CPU_STR macro for cpu pointer register
Replace hardcoded wsr.MISC0 with the build-generated ZSR_CPU_STR
macro to write the correct Xtensa special register for the CPU
pointer.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-02-17 13:21:49 -06:00
Yassine El Aissaoui
38b284802f soc: mcxw: Fix PM Kconfig dependency on MCXW23
We are no longer able to enable CONFIG_PM.
This Kconfig depends on HAS_PM, which is no longer
selected by the MCXW23 platform.

Signed-off-by: Yassine El Aissaoui <yassine.elaissaoui@nxp.com>
2026-02-17 13:20:35 -06:00
Yuzhuo Liu
b1e409e01f drivers: pinctrl: add realtek bee pinctrl driver
Add realtek bee pinctrl driver.

Signed-off-by: Yuzhuo Liu <yuzhuo_liu@realsil.com.cn>
2026-02-17 15:22:38 +00:00
Zhiyuan Tang
ba5b90f22e soc: realtek: add soc support for RTL87x2G series
Add the initial version of soc support for Realtek RTL87x2G series.

Signed-off-by: Zhiyuan Tang <zhiyuan_tang@realsil.com.cn>
2026-02-17 15:22:38 +00:00
Jonathan Nilsen
352c4ae52a soc: nordic: uicr: use IRONSIDE_SUPPORT_DIR for the script location
Use the IRONSIDE_SUPPORT_DIR cmake variable to determine the location
of the UICR generator script location, to allow overriding the location
if needed.

Since the CMake that would normally set this variable in
modules/hal_nordic/ironside/se/CMakeLists.txt is not actually run in the
gen_uicr image, refactor the logic for setting the variable so that it
can be included in the gen_uicr image directly.

Signed-off-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
2026-02-17 12:18:57 +01:00
Brett Peterson
e318a6706a soc: infineon: edge: pse84 mpc dead code
remove dead code that depends on the cy_smif PDL driver

Signed-off-by: Brett Peterson <brett.peterson@infineon.com>
2026-02-17 10:32:24 +01:00
Silesh C V
f6314e9a43 drivers: pinctrl: add alif pinctrl driver
Add pin control driver for Alif SoCs. The driver manages
pin muxing (alternate function selection) and pad configuration
for Alif SoCs.

Signed-off-by: Silesh C V <silesh@alifsemi.com>
2026-02-17 10:31:21 +01:00
Silesh C V
cd174cc910 soc: alif: introduce Ensemble family and E8 series
Ensemble is a family of processors from Alif Semiconductor
targeted at low-end to high-end intelligent IoT endpoint
applications. Series (E1-E8) within the family scale up from
single-core MCUs to quad-core MCU/MPU fusion processors.

Add support for the Ensemble family and the E8 series with the
AE822FA0E5597LS0 SoC. The SoC contains two Cortex-M55 cores: one
configured to maximize power efficiency (RTSS-HE - High Efficiency
Real Time Subsystem) and the other to maximize compute performance
(RTSS-HP - High Performance Real Time Subsystem).

Link: https://alifsemi.com/products/ensemble/
Link: https://alifsemi.com/products/ensemblegenai/
Link: https://alifsemi.com/ensemble-e8-series/

Co-authored-by: Tanay Rami <tanay@alifsemi.com>
Co-authored-by: Prabhakar Kumar <prabhakar.kumar@alifsemi.com>
Signed-off-by: Silesh C V <silesh@alifsemi.com>
2026-02-17 10:31:21 +01:00
Robert Robinson
54d9069522 soc/Kconfig: Create a config for nRF71 series soc compatible
SOC_COMPATIBLE_NRF7120_ENGA was erroneously being used in
KConfig filter and therefore not being applied, since soc configs are
generated at compile time. Created SOC_COMPATIBLE_NRF71 to be used at
KConfig build stage.

Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>
2026-02-16 09:02:34 -06:00
Paul He
0268de24db soc: ti: remove leading -D from CMakeLists.txt
Any leading -D passed to target_compile_definitions on an item will
be removed, here remove them to make code style consistent.

Signed-off-by: Paul He <pawpawhe@gmail.com>
2026-02-16 09:00:09 -06:00
Sunil Abraham
8c2c58de6a drivers: clock_control: PIC32CZ_CA: Add clock control driver
Add clock control driver
Implement bootup clock initialization, on, off, configure and get_rate API

Signed-off-by: Sunil Abraham <sunil.abraham@microchip.com>
2026-02-16 08:59:23 -06:00
Allen Zhang
d21cefc7a1 soc: mcxw70: add image length at vector table offset 0x20
Add image length field at vector table offset 0x20

Signed-off-by: Allen Zhang <chunfeng.zhang@nxp.com>
2026-02-16 12:53:00 +01:00
Alessandro Manganaro
6c5764ddfd soc: arm: st: stm32wbax: add power hook for radio enable
Add a SoC-level power management hook in stm32wbax power support
to handle the case when the radio is enabled.

This ensures the power configuration remains consistent with
RF activity and avoids entering low-power states that are
incompatible with the radio being active.

The new helper is wired into the STM32WBAX power control logic,
so that radio-related constraints are taken into account during
power state transitions.

Signed-off-by: Alessandro Manganaro <alessandro.manganaro@st.com>
2026-02-13 09:51:52 -06:00
Nikodem Kastelik
3171e65045 drivers: gppi: cleanup some resources before conn alloc
Some of the peripherals might be used in the bootloader
and not cleaned up properly for the next image in the boot chain.
Ensure that affected registers are always cleaned up before use.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2026-02-12 14:26:44 +00:00