Commit graph zephyr/soc
Author SHA1 Message Date
Zhaoxiang Jin
45d1258af8 soc: nxp: mcxa: enable power management for MCXA344
enable power management for MCXA344

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-07-06 11:28:43 -04:00
Zhaoxiang Jin
e1297322b7 soc: nxp: mcxa: Implement system off for MCXA
Implement system off (deep power down mode) for MCXA

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-07-06 11:28:43 -04:00
Zhaoxiang Jin
13dbd16e17 soc: nxp: mcxn: add S2RAM support
add S2RAM support for MCXN

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-07-06 11:28:43 -04:00
Zhaoxiang Jin
a995821aca soc: nxp: mcxn: Implement system off for MCXN
Implement system off (deep power down mode) for MCXN

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-07-06 11:28:43 -04:00
Georgij Černyšiov
ab3e87b693 soc: st: stm32: set minimal heap when crypto with ccm is enabled
The AES CCM AD (Additional Authenticated Data) relies on
dynamic memory allocation, the heap memory pool size
must be greater than zero.

This commit sets the heap memory one block size when you
enable crypto with CCM support. This ensures that the crypto
sample can be built and run.

Signed-off-by: Georgij Černyšiov <geo.cgv@gmail.com>
2026-07-06 11:28:32 -04:00
Lucy Wong
cd985f7ca1 soc: wch: add QingKe V3A (CH32V10x) SoC series
Add support for the WCH QingKe V3A SoC series (CH32V10x family),
including Kconfig, CMake, pinctrl, and interrupt vector table.
Register the series in soc.yml.

Signed-off-by: Lucy Wong <mova845@outlook.com>
2026-07-06 14:47:28 +01:00
Anton Vynohradov
b13525f01b soc: microchip: add SmartFusion2 M2S010 SoC support
Add initial SoC support for the Microchip SmartFusion2 M2S010
platform.

This commit introduces the SmartFusion2 SoC integration layer
required to enable platform initialization and Zephyr build
integration for the M2S010 family. The implementation includes
basic SoC initialization code, register definitions, Kconfig
integration, and build system support.

Signed-off-by: Anton Vynohradov <vynohradov.external@bavariamatic.com>
2026-07-06 14:46:11 +01:00
Erwan Gouriou
00eded2ba4 soc: stm32: common: xspim: Prevent configuration from NOR XIP application
When application is running in xip from the nor flash controlled by
the xspi manager, prevent controller full re-initialization.

Tested with
west build samples/hello_world
   -b stm32h7s78_dk/stm32h7s7xx/ext_flash_app
   --sysbuild -p

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2026-07-06 10:29:27 +02:00
Michael Zimmermann
30c7db8c77 drivers: timer: silabs_sleeptimer: add support for gecko sdk
The sleeptimer service from the gecko_sdk is a generic API which supports
multiple hardware timer peripherals internally. The reason we want to use
this rather than a Zephyr native driver, is that sleeptimer is what's used
by the power_manager service from the SDK which in turn is used by librail.

Combined with other, future commits, this will allow reducing the power
consumption of gecko_sdk based SoCs while they are idle.

Since the APIs between gecko_sdk and simplicity_sdk are the same, all
that's needed is to adjust the Kconfig dependencies and compile the
relevant sdk code. For now, this supports the RTCC peripheral only, which
is used on efr32mg13p, which is what I test with.

Signed-off-by: Michael Zimmermann <michael.zimmermann@sevenlab.de>
2026-07-06 10:28:50 +02:00
Jiafei Pan
2d3595e069 soc: imx952: add A55 CPU Core support
Add Cortex-A55 support for SoC i.MX 952.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2026-07-06 10:25:34 +02:00
Jisheng Zhang
61294d1a69 soc: syna: sr100: enable D/I cache and LOB cache
Enable data, instruction cache and LOB(Loop and Branch info) cache to
improve performance.

Signed-off-by: Jisheng Zhang <jszhang@kernel.org>
2026-07-06 10:21:09 +02:00
Sylvio Alves
1f84d558ed soc: espressif: add event task matrix channel allocator
Add a shared ETM channel allocator that routes a peripheral event to a
peripheral task in hardware. Gated by the new in-tree
ESP32_SOC_ETM_SUPPORTED capability.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-07-03 19:25:17 -04:00
Erwan SZYMANSKI
907e8218c9 soc: st: stm32: add stm32mp133fx config
Following commit 4b57150 where stm32mp133.dtsi has been introduced.
For compliance purpose, complete SoC configuration consequently.

Signed-off-by: Erwan SZYMANSKI <erwan.szymanski@st.com>
2026-07-03 13:57:35 -04:00
Sylvio Alves
8d720890e1 soc: espressif: esp32c5: initialize the clock tree
Without esp_clk_tree_initialize() the clock tree stays uninitialized
and esp_clk_tree_enable_src() is a no-op, so peripheral source clocks
are not brought up. Initialize it at boot, as done on esp32p4.

Signed-off-by: Sylvio Alves <sylviojalves@gmail.com>
2026-07-03 13:57:21 -04:00
Etienne Carriere
a196b9a198 soc: stm32: u3: add tf-m support for stm32u3
This commit adds the necessary Kconfig for TF-M support on STM32U3.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2026-07-03 13:56:13 -04:00
Sylvio Alves
c397e55f4f soc: esp32p4: warn when silicon is below configured rev
Read the chip revision during hardware init and log a warning when the
silicon is older than the minimum configured through
SOC_ESP32P4_REV_MIN_FULL, so a revision mismatch is visible at boot.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-07-03 05:42:43 -04:00
Sylvio Alves
739839d71b soc: esp32p4: make sram layout revision-conditional
Pre-v3 silicon places the L2 cache at the high end of HP SRAM, so
usable RAM starts at the SRAM base instead of after the cache, and the
ROM reserves its static data at a lower address. Select the SRAM origin
and the ROM-reserved boundary based on the configured revision so the
linker places code, data and stack in valid RAM on both pre-v3 and
v3.x parts.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-07-03 05:42:43 -04:00
Sylvio Alves
60069ab66e soc: esp32p4: gate mintthresh csr on rev v3.0+
The per-context interrupt threshold CSR mintthresh (0x347) only exists
on ESP32-P4 rev v3.0 and above. On pre-v3 silicon, accessing it in the
context save/restore path is an illegal instruction, which traps on the
first context switch and hangs the kernel. Guard the save and restore
of this CSR so it is skipped on pre-v3 builds.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-07-03 05:42:43 -04:00
Sylvio Alves
98816be017 soc: esp32p4: add silicon revision selection
Add hidden SOC_ESP32P4_REV_* symbols (v1.3, v3.0, v3.1) and the
derived SOC_ESP32P4_REV_MIN_FULL integer so a board can declare the
minimum supported chip revision. The v3.x family floors at v3.1,
matching the reference SDK.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-07-03 05:42:43 -04:00
Etienne Carriere
fc215366fb soc: openisa: use diamond include for non-local header files
Use #include <> instead of #include "" to include a header file which path
is not relative to the directory path of the file emitting the #include
directive.

This change was made running scripts/check_quoted_includes.py script
proposed in https://github.com/zephyrproject-rtos/zephyr/pull/112135
with the Linux shell command below and manually selecting the applicable
changes:
$ find soc/openisa/ -type f -exec \
    ./scripts/check_quoted_includes.py -w {} \;

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2026-07-03 10:02:01 +02:00
Sreeram Tatapudi
6b0fa10eb0 soc: pse84: add se-rt-services-utils lib path
- Pass IFX_SE_RT_SERVICES_UTILS_LIB_PATH to TF-M build in PSE84

Signed-off-by: Sreeram Tatapudi <sreeram.praveen@infineon.com>
2026-07-02 12:59:07 -04:00
Anas Nashif
6e7ecd6791 soc: nxp: imxrt6xx: use zephyr/ prefix for autoconf.h include
CONFIG_LEGACY_GENERATED_INCLUDE_PATH is deprecated and no longer
enabled by default, so generated headers must be included with the
zephyr/ prefix. Fix the legacy <autoconf.h> include in the HiFi4
memory layout header so the SoC builds without the deprecated
compatibility option.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2026-07-02 10:51:48 -04:00
Anas Nashif
95f90f8ed6 soc: infineon: pse84: use zephyr/ prefix for autoconf.h include
CONFIG_LEGACY_GENERATED_INCLUDE_PATH is deprecated and no longer
enabled by default, so generated headers must be included with the
zephyr/ prefix. Fix the legacy <autoconf.h> include in the linker
script so the SoC builds without the deprecated compatibility
option.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2026-07-02 10:51:48 -04:00
Niyas Hameed
5be3f9ea85 soc: microchip: correct soc family name
Correct PIC32CM SG family name in soc.yml

Signed-off-by: Niyas Hameed <niyas.hameed@microchip.com>
2026-07-02 13:06:54 +01:00
Jamie McCrae
d2cc61148a soc: ite: kconfig: Fix invalid use of Kconfig defaults
If a SoC has defaults, it should apply them

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2026-07-02 13:06:40 +01:00
Jamie McCrae
e450f93551 soc: ambiq: kconfig: Fix invalid use of Kconfig defaults
If a SoC has defaults, it should apply them, not using weird
variable substitution

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2026-07-02 13:06:40 +01:00
Holt Sun
1cb78d368a drivers: timer: add NXP RTC (rtc_jdp) system timer
Add a system timer driver for the NXP RTC (rtc_jdp) IP on the MCXE31x
family. It implements the standard system clock interfaces and is
selected through the zephyr,system-timer chosen property pointing at an
nxp,rtc-jdp node.

The RTC is a free-running 32-bit up-counter with a single absolute
compare register (RTCVAL); the driver runs tickless against it. Because
the RTC keeps counting in all low-power states, it can serve as the
kernel tick source without a companion timer.

RTCVAL is an equality compare that synchronizes into the slow RTC clock
domain and sets INV_RTC while in progress, during which further RTCVAL
writes are ignored. The driver waits for INV_RTC to clear before a write
and, after it, re-reads the counter and retries with the compare bumped
forward if the count has already reached it, so a match is never lost to
the sync latency (a miss would only recur after a full 32-bit wrap). The
scheduling horizon is capped at half the counter range so a compare
cannot wrap past the counter and look like the past, mirroring
mcux_stm_timer.c.

The counter rate (clock-frequency / prescaler) is published at runtime
via TIMER_READS_ITS_FREQUENCY_AT_RUNTIME, making the devicetree
prescaler the single source of truth for the tick rate. The MCXE31x SoC
defconfig disables SysTick and defaults the tick rate when this timer is
selected.

Validated on frdm_mcxe31b: tests/kernel/timer/timer_api passes 15/15.

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2026-07-02 13:02:48 +01:00
Jamie McCrae
31821c7a49 soc: raspberrypi: Fix missing zephyr/ include path
Fixes this missing part in includes

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2026-07-02 13:01:49 +01:00
Jamie McCrae
28a5518ebf soc: realtek: Fix missing zephyr/ include path
Fixes this missing part in includes

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2026-07-02 13:01:49 +01:00
Jamie McCrae
218392538c soc: intel: Fix missing zephyr/ include path
Fixes this missing part in includes

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2026-07-02 13:01:49 +01:00
Jamie McCrae
a5b4ed1939 soc: wch: Fix missing zephyr/ include path
Fixes this missing part in includes

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2026-07-02 13:01:49 +01:00
Bindu S
db7110976a soc: intel: nova_lake: Add soc support for NVL-S
This commit introduces SOC support for
Nova Lake.

Signed-off-by: Bindu S <bindu.s@intel.com>
2026-07-02 12:58:15 +01:00
Andrew Davis
4a6cbebf64 soc: ti: k3: Add R5F DRAM MPU setup springboard
The R5 cores in K3 platform devices have only a small amount of local
memory. For larger projects much of the code is intended to be placed in
DRAM. But DRAM is XN by default. If Zephyr code area is in DRAM then we
need to setup a simple MPU region to enable execute permissions before
jumping to the real Zephyr start code in DRAM.

If placing Zephyr in DRAM, keep a small stub in ATCM which does this.
This is only active when setting Zephyr to run from DRAM, it can
still be run entirely from ATCM if the application is small enough
to allow for that by leaving `zephyr,sram = &atcm;` in DT.

Signed-off-by: Andrew Davis <afd@ti.com>
2026-07-02 12:51:43 +01:00
scott worley
8d8e598524 soc: microchip: mec: SoC changes for porting eSPI V2 driver
Customer demand requires porting the MEC172x version 2 eSPI
driver to MEC174x/5x/165x. We must move the eSPI V2 headers
out of the MEC172x SoC directory into a common directory.
There are several other small changes due to register
differences in various hardware subystems such as PCR,
KBC-8042, QMSPI, etc.
We added old register structures and defines allowing eSPI SAF V2
driver to build. These will be removed in the future PR updating
eSPI SAF V2 to use Zephyr system register access inline functions.
We can then remove the difficult to maintain registe stuctures.

Signed-off-by: scott worley <scott.worley@microchip.com>
2026-07-01 23:44:14 -04:00
Anas Nashif
255fe93214 soc: intel_adsp: include DATA_SECTIONS linker snippet
The ACE and CAVS Xtensa linker scripts never included the generated
snippets-data-sections.ld file, so any section registered through
zephyr_linker_sources(DATA_SECTIONS ...) was silently dropped. The new
ztest benchmark framework registers its iterable RAM sections this way,
which made benchmark tests fail to link with undefined references to
_ztest_benchmark_*_list_start/end on these SoCs.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2026-07-01 05:24:58 -04:00
Immo Birnbaum
3b0e775909 soc: xlnx: zynq7000: remove static MMU entries for GEM0, GEM1
With the introduction of the DEVICE_MMIO facilities in the Xilinx GEM
device driver in #87313, the two static, identity-mapped MMU entries
for the register spaces of the two GEM instances defined at the SoC
level and processed when initially setting up the MMU page tables are
no longer used and no longer required for the driver to function.

Signed-off-by: Immo Birnbaum <mail@birnbaum.immo>
2026-07-01 05:24:38 -04:00
Etienne Carriere
1af9cf6169 soc: nuvoton: use diamond include for non-local header files
Use #include <> instead of #include "" to include a header file which path
is not relative to the directory path of the file emitting the #include
directive.

This change was made running scripts/check_quoted_includes.py script
proposed in https://github.com/zephyrproject-rtos/zephyr/pull/112135
with the Linux shell command below and manually selecting the applicable
changes:
$ find soc/nuvoton/ -type f -exec \
    ./scripts/check_quoted_includes.py -w {} \;

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2026-07-01 05:23:51 -04:00
Etienne Carriere
7f6ce47310 soc: infineon: use diamond include for non-local header files
Use #include <> instead of #include "" to include a header file which path
is not relative to the directory path of the file emitting the #include
directive.

This change was made running scripts/check_quoted_includes.py script
proposed in https://github.com/zephyrproject-rtos/zephyr/pull/112135
with the Linux shell command below and manually selecting the applicable
changes:
$ find soc/infineon/ -type f -exec \
    ./scripts/check_quoted_includes.py -w {} \;

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2026-07-01 05:23:40 -04:00
Etienne Carriere
5a470c3b1a soc: st: use diamond include for non-local header files
Use #include <> instead of #include "" to include a header file which path
is not relative to the directory path of the file emitting the #include
directive.

This change was made running scripts/check_quoted_includes.py script
proposed in https://github.com/zephyrproject-rtos/zephyr/pull/112135
with the Linux shell command below and manually selecting the applicable
changes:
$ find soc/st/ -type f -exec \
    ./scripts/check_quoted_includes.py -w {} \;

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2026-07-01 05:23:29 -04:00
Nikodem Kastelik
11932d89d9 manifest: update hal_nordic to have nrfx 4.4.0 release
New nrfx 4.4.0 contains MDK 8.75.3 in per-device split variant.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2026-07-01 05:23:04 -04:00
Alain Volmat
e2f21169d7 soc: stm32: fix explanation & configdefault related to LVGL DMA2D
Clarify the explanation regarding DMA2D / LVGL alignments are
use configdefault instead of config for LV_DRAW_DMA2D_HAL_INCLUDE

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2026-06-30 11:53:13 -04:00
Krzysztof Chruściński
a1822bb799 soc: nordic: common: dmm: Use dcache is cache management is enabled
Data cache is managed only if CONFIG_CACHE_MANAGEMENT is enabled.
Use both Kconfigs (DCACHE and CACHE_MANAGEMENT) to determine
data cache support in dmm.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2026-06-30 06:49:30 -04:00
Furkan Akkiz
5f0e58a867 soc: adi: max32: Add initial support for SBT on MAX32651
MAX32651 is secure version of MAX32650 SoC. For secure SoCs, SBT(ADI
Secure Boot Tools) is used to sign the firmware. This commit implements
signing the firmware feature by using SBT's scripts. To enable this
feature, the following changes are made:
- New Kconfig options are added to enable SBT signing.
    - CONFIG_SOC_FAMILY_MAX32_SECURE_SOC_SIGNING
    - CONFIG_SOC_FAMILY_MAX32_SECURE_SOC_KEY_PATH
- Created sbt_signing.cmake to automate firmware signing workflow.
- Added sbt_sla_header.ld linker file to allocate a header section in
rom_start region and placed this region before IVT.
- Added sbt_sla_symbols.ld linker file to define the symbols used by
SBT.
- Added linker_with_sig_section.ld linker file and set this as
'CUSTOM_LINKER_SCRIPT' for secure SoCs. This linker file is a copy of
ARM Cortex-M linker file. The only difference is that there is a '.sig'
section defined after '.last_section' section to store image signiture.

Signed-off-by: Furkan Akkiz <hasanfurkan.akkiz@analog.com>
2026-06-29 22:07:18 -04:00
Andrej Butok
e11ab6c65f reset: nxp_mrcc: add support for MCXL family
- The MRCC reset registers use different instance and field
  names across MCX families.
  Add a set of abstraction macros that select the correct
  names based on the SoC family,
  allowing the driver to build for the MCXL family in addition to
  the existing MCX SoCs.

- Enables the RESET driver by default on the MCXL family when an
  nxp,mrcc-reset node is enabled in devicetree.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2026-06-29 14:03:39 -05:00
Fin Maaß
e20b716b5d soc: esp32: don't overwrite disassembly_flag_inline_source
Don't overwrite disassembly_flag_inline_source
otherwise CONFIG_OUTPUT_DISASSEMBLY_WITH_SOURCE
does not work.

This is should only be set in
zephyr/cmake/bintools/*/target_bintools.cmake

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-06-29 14:00:43 -05:00
Mathieu Choplain
a64b6f03f4 modules: hal_stm32: add CONFIG_STM32CUBE_SOC_NAME_OVERRIDE
This option can be used to override `CONFIG_SOC` at STM32Cube HAL module
level, which is useful for a few specific products where the SoC name
does not match the preprocessor definition that the HAL needs  to add
in order to work properly.

While at it, update the STM32F0 and STM32F4 series Kconfig to make use
of this new option, allowing `CONFIG_SOC` to now always reflect the
selected SoC's actual name.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-06-29 13:53:09 -05:00
Mathieu Choplain
7ed0c67b78 soc: st: stm32: add missing entries in soc.yml
Various SoCs were declared in `Kconfig.soc` but had no corresponding
entry in the top-level `soc.yml`: add the missing entries.

Found using the following command:
  comm -23
      <(grep -h "^config SOC_STM32[^_]*$" soc/st/stm32/*/Kconfig.soc
        | sed 's/config SOC_//'
        | tr '[:upper:]' '[:lower:]'
        | sort)
      <(grep "^\s*- name: stm32" soc/st/stm32/soc.yml
        | sed 's/.*- name: //'
        | sort)

Note: this commands displays false positives for STM32WB0 SoCs due to
these SoC's Kconfig options using an `XX` suffix for consistency with
other series, despite the value of `CONFIG_SOC` not using any suffix.
This is on purpose and not an error: the value in `CONFIG_SOC` does
match what's in `soc.yml`.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-06-29 13:53:09 -05:00
Deepika R
7e5e4b3fdf soc: infineon: psoc4: Add power management support
- Add power management (sleep mode) for Infineon PSOC4.

Signed-off-by: Deepika R <deepika@aerlync.com>
2026-06-29 13:52:14 -05:00
Romain Jayles
1bcb3de8a6 soc: st: stm32wbax: add PM S2RAM support
Add STM32WBAx suspend-to-RAM support and hook the SoC-specific
implementation into the build when CONFIG_PM_S2RAM is enabled.

Select the custom S2RAM marking capability and add the STM32WBAx S2RAM
support source file.

Update the suspend-to-RAM path to clear the hardware standby flag as early
as possible after resume. Use standby_entered as a software indicator to
track whether standby was effectively entered and cleared, so resume
handling only restores radio state when needed.

Signed-off-by: Romain Jayles <romain.jayles@st.com>
2026-06-29 13:50:45 -05:00
Vincent Tardy
55d081e0e2 soc: stm32wbax: use static direct IRQ registration for radio irq
Replace runtime dynamic IRQ registration
with static direct IRQ registration.

Signed-off-by: Vincent Tardy <vincent.tardy@st.com>
2026-06-29 13:50:16 -05:00