Commit graph

7,339 commits

Author SHA1 Message Date
Jamie McCrae
13bcf52b29 soc: arm: mps2: Fix SoC Kconfig naming
Fixes the Kconfig name of this so that it matches the value from
soc.yml, this has not been deprecated because this SoC is a virtual
SoC used only with the boards in zephyr meaning it should not cause
any breakage of out-of-tree boards

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2026-01-20 13:20:45 +00:00
Jamie McCrae
bf5460b661 soc: arm: musca: Fix SoC Kconfig naming
Fixes the Kconfig name of this so that it matches the value from
soc.yml, this has not been deprecated because this SoC is a virtual
SoC used only with the 2 boards in zephyr meaning it should not
cause any breakage of out-of-tree boards

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2026-01-20 13:20:45 +00:00
Tomas Galbicka
c057340a86 soc: RT600 DSP Hifi4 enable cache handling
This commit adds cache handling for Hifi4 core on RT600.
Enable CACHE_MANAGEMENT and HAS_DCACHE.

This is required for proper data coherency when the DSP shares memory
with other cores (e.g., Cortex-M33) or DMA peripherals.

With this change, applications can now use sys_cache_data_flush_range()
and sys_cache_data_invd_range() to ensure cache coherency in shared
memory scenarios.

Signed-off-by: Tomas Galbicka <tomas.galbicka@nxp.com>
2026-01-19 16:21:37 -06:00
Jamie McCrae
b016be13a1 soc: nordic: kconfig: Fix dt function usage
Fixes using a dt function which suffered from firstly trying to
take the value from a variable that isn't defined, and which if is
ignored, was entirely invalid due to supplying a chosen node, not
a path as the dt function explicitly requires

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2026-01-19 15:24:10 +01:00
Jamie McCrae
f3fa86ec1a soc: andestech: Fix Kconfig naming
Fixes Kconfig naming to be properly set as required by HWMv2, to
allow for future build system features to work

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2026-01-19 15:14:13 +01:00
Jamie McCrae
a53edb7cfd soc: andestech: ae350: Fix wrong implementation of SoC
Fixes a wrongly added SoC feature which should not have been
accepted in the original way it was added, by correctly adding a
Kconfig to select an optional build configuration for this SoC

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2026-01-19 15:14:13 +01:00
Pierre-Henry Moussay
8c82334f5b soc: microchip: pic64: Add minimal support for PIC64GX
Add minimal support for PIC64GX SoC and devicetree

Signed-off-by: Pierre-Henry Moussay <pierre-henry.moussay@emdalo.com>
2026-01-19 12:11:40 +01:00
Yasushi SHOJI
31863b30ae soc: xlnx: versal: Select VFPv3-D16
The Versal RPU uses Arm Cortex-R5F cores, which implement VFPv3-D16
(single and double precision with 16 double-word registers):.

Select VFP_DP_D16 to describe the available VFP configuration for this SoC.

Signed-off-by: Yasushi SHOJI <yashi@spacecubics.com>
2026-01-19 10:09:44 +01:00
Derek Snell
baaf468bc1 soc: nxp: imxrt1180: enable more CM7 memory execution options
Enables other RAM locations for CM7 instead of hardcoding to ITCM.

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2026-01-17 17:04:35 +01:00
TOKITA Hiroshi
c4f1ccb960 boards: qnx: Add support for QNX Hypervisor virtual machine
Adding support for running Zephyr OS as a guest virtual machine
in the QNX Hypervisor environment.
This change introduces a new board configuration for ARM64-based
QNX Hypervisor VM.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2026-01-17 14:28:08 +01:00
Yves Wang
334f5726b4 soc: nxp: unify DISABLE_WDOG condition
Aligh the macro to determine DISABLE_WDOG definition for nxp devices.

Signed-off-by: Yves Wang <zhengjia.wang@nxp.com>
2026-01-17 14:26:25 +01:00
Tim Pambor
9066af6a70 soc: st: stm32: {h5, l5, u5, wbax}: Correct cache line size
STM32H5, STM32L5, STM32U5, and STM32WBAX series MCUs have external
ICACHE/DCACHE with a cache line size of 16 bytes. The previous
configuration incorrectly set the cache line size to 32 bytes (the
default cache line size for Cortex-M cores).

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2026-01-16 18:07:00 +01:00
Bjarki Arge Andreasen
46a5734ece soc: nordic: common: Introduce NRF_DT_(INST)_IRQ_ utility macros
Introduce the NRF_DT_IRQ_DIRECT_DEFINE and NRF_DT_IRQ_CONNECT macros
which reduce provide a common way for nordic drivers to adapt to the
presence of the SW ISR table which is commonly excluded as it is not
required for nordic socs. Also adds device driver inst variants of
the macros.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2026-01-16 18:06:06 +01:00
Zhaoxiang Jin
3eb60a9792 boards: nxp: convert 'XIP_BOOT_HEADER_DCD_ENABLE' to Kconfig options
1. This commit converts the 'XIP_BOOT_HEADER_DCD_ENABLE' preprocessor
define to Kconfig options across NXP i.MX RTxxxx evaluation boards.
The changes enable flexible boot header configuration through the
Kconfig build system instead of compile-time defines, improving
configurability and maintainability.

2. Now 'XIP_BOOT_HEADER_DCD_ENABLE' flag is only used in
hal_nxp/rtxxxx/fsl_flexspi_nor_boot.h which is included by soc.c,
therefore, this flag should be passed in the rtxxxx/SoC layer CMake
using zephyr_library_compile_definitions(). and can be removed from
each board CMakeLists.txt.

Note: if out-of-tree files still need to use this flag, please add
it in your own CMakeLists.txt.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-01-16 11:43:49 +00:00
Zhaoxiang Jin
2849272e60 boards: nxp: convert 'XIP_BOOT_HEADER_ENABLE' to Kconfig options
1. This commit converts the 'XIP_BOOT_HEADER_ENABLE' preprocessor
define to Kconfig options across NXP i.MX RTxxxx evaluation boards.
The changes enable flexible boot header configuration through the
Kconfig build system instead of compile-time defines, improving
configurability and maintainability.

2. Now 'XIP_BOOT_HEADER_ENABLE' flag is only used in
hal_nxp/rt11xx/fsl_flexspi_nor_boot.h which is included by soc.c,
therefore, this flag should be passed in the rt11xx/SoC layer CMake
using zephyr_library_compile_definitions(). and can be removed from
each board CMakeLists.txt.

Note: if out-of-tree files still need to use this flag, please add
it in your own CMakeLists.txt.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-01-16 11:43:49 +00:00
Zhaoxiang Jin
7ff326ef56 boards: nxp: move 'BOARD_FLASH_SIZE' to SoC layer cmake
For RT10xx and RT11xx, flag 'BOARD_FLASH_SIZE' is only used
in hal_nxp fsl_flexspi_nor_boot.h which is included by soc.c,
therefore, this flag should be passed in the SoC layer CMake
using zephyr_library_compile_definitions() to limit its scope.

Normally, 'BOARD_FLASH_SIZE' should not be used elsewhere.
If an out-of-tree user uses this flag elsewhere, please define
the flag yourself.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-01-16 11:43:49 +00:00
Zhaoxiang Jin
174f1f71c4 soc: nxp: scope boot-header compile defs to soc library
Create a dedicated Zephyr library for the imxrt11xx and
imxrt10xx SoC in CMakeLists.txt and move soc.c into it
(zephyr_library() + zephyr_library_sources(soc.c)).

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-01-16 11:43:49 +00:00
Richard Mc Sweeney
415986b89f dts: arm: infineon cat1b psc3
Add power-states to PSC3

Signed-off-by: Richard Mc Sweeney <Richard.McSweeney@infineon.com>
2026-01-16 11:43:25 +00:00
Richard Mc Sweeney
5dbd980dce soc: infineon: add psc3 power management
Adds power management support for the Infineon PSC3 device

Signed-off-by: Richard Mc Sweeney <Richard.McSweeney@infineon.com>
2026-01-16 11:43:25 +00:00
Scott Worley
c6a959dcc3 drivers: serial: microchip: mec: Common UART driver
We modified the Microchip MEC UART driver to be HAL
independent and be usuable on all MEC SoCs. The only
hardware difference is an extra register in the MEC174x/5x
family providing TX FIFO full and current byte count.

Signed-off-by: Scott Worley <scott.worley@microchip.com>
2026-01-16 11:40:38 +00:00
Andrew Davis
a159d0ee03 soc: ti: k3: Add support for AM62L
The TI AM62L is a low-power ARM Cortex-A53 based SoC with display for
IOT, HMI and general purpose applications. More information here:

https://www.ti.com/product/AM62L

Add initial SoC and DTS support here.

Signed-off-by: Andrew Davis <afd@ti.com>
2026-01-16 11:39:06 +00:00
Daniel Leung
6cab38312b soc: intel_adsp: add GDB stub register list for ACE 4.0
This adds the register list for GDB stub that is suitable for
ACE 4.0.

Fixes #102084

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2026-01-15 11:07:21 +00:00
Aleksandr Senin
57993e7d8e soc: gd32: gd32f4xx: init CK48M from devicetree
Add DT properties to select CK48M source for GD32 RCU.
Apply CK48M source selection during early SoC init.

Signed-off-by: Aleksandr Senin <al@meshium.net>
2026-01-15 11:05:28 +00:00
Robert Robinson
eb647dbf64 soc: nordic: Add initial support for nRF7120 SoC
Add SoC files for nrf7120.

Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>
2026-01-14 13:02:59 -06:00
Mohamed Moawad
c75ee62562 soc: arc_iot: add configurable custom CPU idle for UART retention
The ARC IoT SoC (used on iotdk board) has a hardware limitation where
entering CPU sleep mode causes some peripherals (e.g., UART) to lose
power, preventing the board from waking up via peripheral interrupts.

Add a configurable custom CPU idle option (CONFIG_ARC_IOT_CUSTOM_CPU_IDLE)
that enables interrupts without executing the sleep instruction. This
allows the system to remain responsive while keeping peripherals powered.

The option defaults to disabled (n) to preserve normal CPU sleep behavior
for most use cases. Tests that require continuous UART operation during
idle (pytest/shell harnesses) can enable it via platform-specific
extra_configs.

This approach allows timer-based idle to work correctly by default while
providing a workaround for tests that need UART retention.

Signed-off-by: Mohamed Moawad <moawad@synopsys.com>
2026-01-14 13:00:22 -06:00
Sylvio Alves
b75d67fb1f soc: esp32c6: enable PMP and define SoC regions
Enable RISC-V PMP for ESP32-C6 and configure appropriate defaults:
- 16 PMP slots available on hardware
- Unlocked global entries for XIP flash execution
- MEM_ATTR subsystem for device tree memory regions

Define SoC-specific PMP regions:
- SoC ROM (0x40000000): libc functions, R+X
- IRAM text: interrupt handlers and critical code, R+X

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-01-13 17:26:48 +01:00
Sylvio Alves
52c9bd85ca soc: esp32c6: add userspace linker support
Add linker script support for CONFIG_USERSPACE:
- MPU alignment macros for PMP granularity
- User stacks section in noinit area
- Application shared memory partitions
- Kernel object sections (text, rom, data, priv-stacks)
- ROM region size symbol for PMP configuration

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-01-13 17:26:48 +01:00
Mathieu Choplain
239fab93bc kconfig: treewide: use auto-generated Kconfig compatible macro variables
Replace some manually-defined DT_COMPAT_<> Kconfig macro variables with
their automatically generated counterparts. In most cases, this is
straightforward as the manually defined macro is named identically to the
one generated by the build system.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-01-13 13:30:54 +01:00
Daniel Leung
b98fc2740a soc: intel_adsp/ace40: disable spin validation on simulator
xt-clang seems to generate some memory access patterns which
result in the simulator accessing incorrect memory and/or
messing with cached TLB entries when spinlock validation
is enabled. Not exactly sure what's going on here due to
the core of the simulator is built on top of pre-built
binaries provided by the toolchain without any sources so
debugging would be nearly impossible. But at least we have
an easy workaround by disabling spin lock validation.

Fixes #100885

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2026-01-13 10:17:49 +01:00
Sylvio Alves
c94930c6c9 soc: espressif: set BLE HCI buffer defaults
Set default values for BLE HCI buffer configuration that match
the ESP32 controller requirements:
- BT_BUF_ACL_RX_COUNT=24: Match controller's ACL buffer count
- BT_BUF_EVT_RX_COUNT=30: Match controller's event buffer count

Enable BT HCI node in device tree for all ESP32 SoCs that
support BLE.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-01-12 12:34:47 -06:00
Andy Lin
588d22464d soc: raspberrypi: rp235x/hazard3: Add support for ramfunc
Add support to run code from SRAM and future PSRAM for RP235x:hazard3.

Signed-off-by: Andy Lin <andylinpersonal@gmail.com>
2026-01-11 13:06:14 +01:00
Håkon Amundsen
84120f91f0 soc: nordic: disable cache for event report
The data is updated by both local domains (cpuapp/cpuapp) and
IronSide SE (cpusec), so disable caching to avoid coherency issues.

Signed-off-by: Håkon Amundsen <haakon.amundsen@nordicsemi.no>
2026-01-09 14:28:10 -06:00
Vincent Tardy
e2e780aae0 soc: stm32: add link layer disable isr function
Add new function link_layer_disable_isr() to disable
radio ISR

Signed-off-by: Vincent Tardy <vincent.tardy@st.com>
2026-01-09 14:27:00 -06:00
Gaétan Froissard
9dbc6450b4 soc: st: stm32: h7rsxx: Add MPU region on OTP area
This configure MPU region over OTP area like ID region.
OTP can be directly read and need to use flash HAL API for writing.

Signed-off-by: Gaétan Froissard <gaetan.froissard@marshmallow.kids>
2026-01-09 14:26:07 -06:00
Tomasz Leman
15fa6a374e ipc: intel_adsp: simplify host IPC service backend
Rework the Intel Audio DSP host IPC service backend to use the generic
ipc_service data/len conventions and the new critical send and buffer
management APIs.

Replace the backend-specific intel_adsp_ipc_msg and related enums with a
simple two-word payload passed through the standard ipc_service_send()
and ipc_service_send_critical() interfaces, and adapt the ISR and
receive callback to operate on this representation.

Use ipc_service_get_tx_buffer_size() as a readiness check for the host
channel and provide hold_rx_buffer() / release_rx_buffer()
implementations so ipc_service_release_rx_buffer() can be used to signal
when the channel becomes available again.

Wire the emergency send path through send_critical() to route urgent
messages via the backend's emergency fast path while keeping the normal
IPC flow unchanged.

Move the synchronous IPC wait logic out of the Intel Audio DSP host IPC
backend and into the common intel_adsp_ipc helper used by tests.

Update intel_adsp_ipc_send_message_sync() to both send the IPC message
through ipc_service_send() and wait on the backend semaphore, and remove
the now redundant ipc_send_message_sync() helper from the host IPC
backend.

Document that intel_adsp_ipc_send_message_sync() is a test-only helper,
not used by SOF firmware, and that it is a candidate for future removal
or for replacement by an explicit synchronous send primitive in the
generic IPC service API or in application code.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2026-01-09 14:21:41 -06:00
Fin Maaß
6915d2f591 soc: litex: deprecate 8 bit CSR data width
5 years ago LiteX switched to 32 bit csr data width,
while the option is still available in litex, it doesn't really
work there, even if it can be build, the bios f.e. won't boot.
already described in https://github.com/enjoy-digital/litex/issues/1062

So it is currently only here for designs, that are older than
5 years and for fpgas, where also the fpga bitstream can be updated
it is time to remove the support and require the users, when they wan't
to update zephyr, that they also have to update their fpga bitstream.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-01-09 07:55:12 -06:00
Krzysztof Chruściński
98749eb58a soc: nordic: nrf54h: Enable use of RTT on cpuapp
RTT need to use RAM which is not cacheable as RTT does not support
data cache. Using cpuapp TCM RAM memory section for RTT.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2026-01-09 13:09:04 +01:00
Zhaoxiang Jin
732adf7865 soc: nxp: mcxn: Add OSTIMER support and refine system timer selection
Add MCUX_OS_TIMER configuration with CPU_FREQ-based default selection.
Update CORTEX_M_SYSTICK to be disabled when either LPTMR or OSTIMER
is selected as the system timer, ensuring only one timer is active.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-01-08 19:16:25 +01:00
Zhaoxiang Jin
790598e642 soc: nxp: mcxn: Remove redundant code
MCUX_LPTMR_TIMER is default to n, no need to set it again.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-01-08 19:16:25 +01:00
Muhammad Waleed Badar
15a90b7783 soc: allwinner: add sun8i h3 soc support
Add initial support for the Allwinner H3 SoC, commonly
found in development boards like the Orange Pi series.

This commit introduces the intial SoC support files:
 - Basic Kconfig configuration and SoC definition
 - MMU region setup for memory management
 - SoC-specific headers and device tree source include

Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
2026-01-08 19:16:01 +01:00
Daniel Leung
d334130d5d soc: intel_adsp/ace: skip building arch reset vector
This disables the kconfigs to build the reset vector and crt1
startup code from the architecture layer as ACE has its own
rom_entry() as entry point.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2026-01-08 08:32:24 -05:00
Henrik Brix Andersen
9186d6864a boards: native: add support for static linking
Add support for static linking of the final native simulator runner.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2026-01-08 09:45:55 +01:00
Rob Barnes
24ab32c1dd soc: ite: Add idle exit tracing
The idle enter was being traced but idle exit was not.
This change adds the missing call to sys_trace_idle_exit()
to the idle exit path for the it51xxx and it8xxx2 SoCs.

Signed-off-by: Rob Barnes <robbarnes@google.com>
2026-01-07 14:52:59 -06:00
Benjamin Klaric
25aed0abbe dts: arm: st: h7rs: add memory-regions property to mac node
Add the memory-regions property to mac in stm32h7rs.dtsi,
same as in stm32h7.dtsi, and set sram2 as default. Also add
the #memory-region-cells to sram2 and sram1 nodes.

Override the sram2 as default with sram1 in stm32h7s3.dtsi and
stm32h7s3.dtsi since sram2 is disabled per default.

Add the same checks as for h7 series to mpu_regions.c and sections.c.

Signed-off-by: Benjamin Klaric <benjamin.klaric01@gmail.com>
2026-01-07 19:38:11 +01:00
Benjamin Klaric
b0b306ca24 dts: arm: st: h7: add memory-regions property to mac node
Use the memory-regions property in stm32h7.dtsi to explicitly locate
ethernet buffer and descriptor to an sram region. Set sram2 as default
and override with sram3 when available, in soc level .dtsi files.

Add #memory-region-cells to sram2 and sram3 nodes in specific .dtsi
files in dts/arm/st/h7, since it is needed by the memory-regions
property.

Add a check for memory-regions before the check and definition of the
sram_eth_node in mpu_regions.c and sections.ld.

Signed-off-by: Benjamin Klaric <benjamin.klaric01@gmail.com>
2026-01-07 19:38:11 +01:00
TOKITA Hiroshi
e0c706a7f5 soc: raspberrypi: rpi_pico: Defaultly turn off BINARY_INFO feature
The binary-info feature that introduced in #54290 causing trouble
with some rp2xxx variant boards.
Turning off this feature defaultly to solve these problems.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2026-01-07 14:56:56 +00:00
Chen Xingyu
cc3f7f2f45 drivers: mipi_dbi: Add ESP32 LCD_CAM backend
The LCD_CAM peripheral is a parallel I/O controller integrated in the ESP32
series. It consists of an LCD output module and a DVP camera input module.
The camera side is already supported in Zephyr as a video driver.

This commit adds support for the LCD module by implementing it as a
MIPI-DBI backend. The LCD_CAM supports multiple output formats, and the
initial implementation provides I8080 mode.

Signed-off-by: Chen Xingyu <hi@xingrz.me>
2026-01-07 10:20:54 +01:00
Chen Xingyu
bd9d8ba000 soc: espressif: Introduce common LCD_CAM support
Move the shared pinctrl and clock initialization for the LCD_CAM peripheral
from the ESP32 DVP driver into a new SoC-level implementation.

Update the ESP32-S3 DTS to reflect the new structure by introducing an
`lcd_cam_dvp` child node under the common `lcd_cam` parent node.

Signed-off-by: Chen Xingyu <hi@xingrz.me>
2026-01-07 10:20:54 +01:00
Scott Worley
c86c748ff0 soc: microchip: mec: Remove MECH172x the HAL based version of MEC172x
The goal is to slowly convert all Microchip MEC to in-tree drivers
and support code (no HAL). We had partial HAL support for MEC172x
as the mech172x folder. We are removing HAL based mech172x since HAL
will be deprecated in the future and it has no board support.

Signed-off-by: Scott Worley <scott.worley@microchip.com>
2026-01-07 07:51:22 +01:00
Scott Worley
99ce899c22 drivers: pinctrl: microchip: mec: One PINCTRL driver for all MEC parts
GPIO hardware in Microchip MEC parts is the same except for the MUX
field (number of alternate functions). We modify the old XEC PINCTRL
driver to work on all MEC parts and also be independent of HAL and
CMSIS register structures. During development we found a DT issue
with DT_ENUM_IDX_OR always inserting the default value. Worked around
by converting slew rate and drive strength to YAML integer type and
created defines for the values in the dt-bindings header.

Signed-off-by: Scott Worley <scott.worley@microchip.com>
2026-01-07 07:50:18 +01:00