Commit graph

7,339 commits

Author SHA1 Message Date
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
Michał Stasiak
7f4c2329bb soc: nordic: nrf54l: add nRF54LM20B SoC
Added symbols for new SoC, identical to nRF54LM20A.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2026-02-12 14:26:44 +00:00
Michał Stasiak
13c987058c soc: nordic: add common files for nrf54lm20
Now able to be used both by nRF54LM20A and nRF54LM20B.
Also, removed Eng A naming.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2026-02-12 14:26:44 +00:00
Muhammed Asif
203feabe86 soc: microchip: Adds support for PIC32CM PL SoC series
- Adds soc support for the pic32cmpl soc series
- Adds the initialisation of ram for ECC

Signed-off-by: Muhammed Asif <muhammed.asif@microchip.com>
2026-02-12 10:56:02 +01:00
Soumya Tripathy
6557337773 boards: ti: sk_am62: use correct AM6254 SoC variant
The SK-AM62 and SK-AM62B-P1 board variants both use the AM6254
SoC, not AM6234. Update board configuration to reference the
correct SoC variant.

This changes the board identifiers from sk_am62/am6234/* to
sk_am62/am6254/* for both M4 and A53 cores.

Documentation updated to mention both board variants:
- SK-AM62 (base variant)
- SK-AM62B-P1 (variant with integrated PMIC)

Signed-off-by: Soumya Tripathy <s-tripathy@ti.com>
2026-02-11 17:48:44 -06:00
Jason Yu
46163290ca soc: gint: Enable the GINT driver for NXP SOCs
Enable GINT clock during SOC init

Signed-off-by: Jason Yu <zejiang.yu@nxp.com>
2026-02-11 17:46:28 -06:00
zjian zhang
7a9ab255bf soc: add realtek amebaG2 SOC integration
Add initial version of AmebaG2 Soc integration

Signed-off-by: zjian zhang <zjian_zhang@realsil.com.cn>
2026-02-11 15:02:10 -06:00
zjian zhang
ff9d5322e7 modules: realtek: add blobs handle
added SOC_AMEBA_NP_IMAGE to handle ameba blobs to run a different
architecture CPU inside the SOC.

Signed-off-by: zjian zhang <zjian_zhang@realsil.com.cn>
2026-02-11 15:02:10 -06:00
Jamie McCrae
ba01b7c3fa soc: nordic: Add common TF-M Kconfigs instead of duplicate
Adds a common-place for Kconfigs needed by TF-M instead of
mass-duplicating them in every board that uses these SoCs

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2026-02-11 16:33:25 +01:00
Henrik Brix Andersen
52eacc83ce soc: nxp: lpc: lpc55xxx: remove unnecessary Kconfig default setting
Remove unnecessary default change for CONFIG_CAN_MCUX_MCAN.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2026-02-10 22:19:12 +01:00
Daniel Leung
4523fa57c5 soc: intel_adsp: clear BSS on core #0 at boot
Since the audio DSP is not using the architecture boot path,
the BSS is not cleared/zeroed at boot. So we need to manually
zero out the BSS via arch_bss_zero().

Also, the _bss_table_start/_end symbols are no longer needed
since we are not using the arch boot code. Saves a few bytes.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2026-02-10 22:19:02 +01:00
Emilio Benavente
72c43541ec boards: nxp: removing cpu0 from mcxw72
Removing cpu0 reference from mcxw72 target
as only cpu0 should be targeted on this device.

Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2026-02-10 15:41:57 +00:00
Allen Zhang
6043f99786 soc: mcxw7xx: add SOC support for MCXW70AC
add soc MCXW70AC
get SYS_CLOCK_HW_CYCLES_PER_SEC from dt

Signed-off-by: Allen Zhang <chunfeng.zhang@nxp.com>
2026-02-10 15:41:24 +00:00
Tomasz Chyrowicz
812fc36d59 soc: nrf54h: Fix active partition detection
Change logic from the offset to the absolute address as the
DT_REG_ADDR(..) macro now returns the absolute address and cannot be
compared with the value of the CONFIG_FLASH_LOAD_ADDRESS.

Signed-off-by: Tomasz Chyrowicz <tomasz.chyrowicz@nordicsemi.no>
2026-02-09 11:59:42 -06:00
Tomasz Chyrowicz
eddc324953 soc: nrf54h: Fix mcuboot-enabled booting
If MCUboot is enabled, the start address of the radio core firmware is
offset by MCUboot header.
Normally, the header is accounted for by setting the
CONFIG_ROM_START_OFFSET value to match the header size.

Signed-off-by: Tomasz Chyrowicz <tomasz.chyrowicz@nordicsemi.no>
2026-02-09 11:59:42 -06:00
Krzysztof Chruściński
c6ea4a77f2 soc: nordic: nrf54l: Remove UART RXTO workaround Kconfig
Workaround has been reverted and different approach is taken.
Removing UART_NRFX_UARTE_SPURIOUS_RXTO_WORKAROUND from nrf54lm20a
Kconfig.defconfig.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2026-02-09 15:59:02 +01:00
Rick Overhorst
fecc86e22d soc: st: stm32: Add stm32u375
Add stm32u375 SoC.

Signed-off-by: Rick Overhorst <r.overhorst@robor.nl>
2026-02-09 15:57:00 +01:00
Tim Lin
bc20c41dfa drivers/i2c: it8xxx2: Fix incorrect target address register
The base address was written to an incorrect register, which caused
incorrect data to be read from the I2C target. This has been fixed by
writing to the correct register.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2026-02-09 09:38:44 +01:00
Tien Nguyen
762b01be9e soc: renesas: rz: Fix macros/symbols for offset/address
Fix macros/symbols that broke after changes were merged to get the
absolute address through ranges property

Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>
2026-02-09 09:37:51 +01:00