Commit graph zephyr/soc
Author SHA1 Message Date
TOKITA Hiroshi
96b9b0f2df soc: raspberrypi: rpi_pico: Add support RpiPico binary info feature
Binary Info embeds program meta information in flash,
which can be viewed with RaspberryPi Pico's `picotool`.

Metadata is automatically collected from pinctrl.

It can be override by the Kconfig configurations, such as

```
CONFIG_RPI_PICO_BINARY_INFO_OVERRIDE_PROGRAM_NAME="my program name"
```

When this feature is enabled, pinctrl groups are restricted to
consisting of pins with a single rpi_pico function.
In other words, SPI's MISO and MOSI can be in the same group,
but I2C's SDA cannot be included in this group.
This is rarely an issue in normal use,
and can be resolved by dividing them into separate groups.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2026-01-06 16:07:16 +00:00
Alberto Escolar Piedras
60285318c9 soc: native: Remove old note from kconfig option
Since e150ffb92c, Zephyr only really
supports native_simulator based targets when building native/posix
arch based targets.
So this comment is not relevant anymore. Let's remove it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-01-06 16:04:03 +00:00
Zhaoxiang Jin
048b3d8fd0 soc: nxp/mcxn: Add power management support for MCXN547
Add power management support for MCXN/MCXN547.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-01-06 10:34:18 +01:00
Merin George
515948a9a2 Kconfig: fix the define to disable SysTick when LP timer is enabled
Fix the Kconfig dependency for CYW20829 so that enabling the
low-power system timer automatically disables the Cortext-M SysTick

Signed-off-by: Merin George <merin.george@infineon.com>
2026-01-06 10:32:40 +01:00
Bill Waters
5b6ec7a6ee soc: infineon: add pse84 power management
Add power management support for the Infineon PSE84 device

Signed-off-by: Bill Waters <bill.waters@infineon.com>
2026-01-05 23:37:50 +01:00
CHEN Xing
4fa82d086e soc: microchip: sam: sama7g5: update mmu for otpc
Update mmu region for otpc

Signed-off-by: CHEN Xing <xing.chen@microchip.com>
2026-01-05 17:16:25 +00:00
Johnny Chuang
7e45f351c5 soc: add Elan em32f967 minimal SoC support
Add initial support for the Elan em32f967 SoC based on ARM Cortex-M4.
Minimal SoC definition for upstream:
- soc.h, Kconfig, and CMakeLists.txt provided for completeness
- This PR does not implement drivers or UART functionality

Signed-off-by: Johnny Chuang <johnny.chuang@emc.com.tw>
2026-01-05 09:18:40 +01:00
Alberto Escolar Piedras
a2f45762f1 arch posix: cleanup NATIVE_APPLICATION support remnants
NO_POSIX_CHEATS was a macro used to avoid including the content of a
header (`posix_cheats.h`) which allowed building applications in the
POSIX architecture without the native simulator, avoiding collisions
between some embedded symbols and those from the host C library.

Support for this way of building, and this header and macro were
removed in e150ffb92c, but these users
were forgotten. This was harmless, but let's just clean it up now.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-01-03 10:19:34 +01:00
Ha Duong Quang
0056966479 soc: nxp: s32: k5: add adc base address mappings
Add macro definitions to map generic ADC instance names to hardware
specific SARADC base addresses, enabling driver portability.

Signed-off-by: Ha Duong Quang <ha.duongquang@nxp.com>
2026-01-01 21:28:46 +01:00
Krzysztof Chruściński
13b45e2d99 soc: nordic: common: nrf_sys_event: Add API for registering an event
Add API for indicating that a deterministic interrupt will occur at
certain point in time in the future. Implementation is ensuring that
there will be no latency due to NVM memory waking up. There are 2
ways of ensuring that:
- setting low latency power mode in RRAMC (higher power consumption
  in idle (not available in non-secure build)
- using PPI and GRTC to trigger the RRAMC wake up task right before
  an expected interrupt

Module has a pool of GRTC channels and dynamically allocates and
frees those channels when events are registered and unregistered.

If GRTC channel is not available then algorithm falls back to power
mode setting (in secure build).

API offers registering an event using relative and absolute timing.

API can be used from Zero Latency interrupts.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-12-30 09:07:32 -06:00
Krzysztof Chruściński
ced5d2f730 soc: nordic: common: Add HAS_HW_NRF_RRAMC
Add HAS_HW_NRF_RRAMC Kconfig to indicate presence of the RRAMC
controller.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-12-30 09:07:32 -06:00
Quang Le
22ba6d0007 soc: renesas: rzv: Fix pin function bitfield
Adjust the pin function bitfield to 4 bits to fit all RZ/V SoCs
(RZ/V2L, V2H, V2N). PFC bitfield of RZ/VH, V2N have 4 bits, so
the current 3-bit width does not fit them.

Signed-off-by: Quang Le <quang.le.eb@bp.renesas.com>
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
2025-12-29 09:25:33 +01:00
Nhut Nguyen
6138ba7aef soc: renesas: rzv: Retrieve itcm, dtcm from dtsi for mpu settings
Retrieve itcm and dtcm size and base address from dtsi for mpu settings
instead of hardcode.

Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
2025-12-29 09:25:17 +01:00
Yassine El Aissaoui
29673afd01 soc: nxp: mcxw23: Integrate low power with ble
Adding support for deep sleep/ power down on BLE apps.

Signed-off-by: Yassine El Aissaoui <yassine.elaissaoui@nxp.com>
2025-12-26 10:16:07 -06:00
Tim Lin
a214a05b8c soc/ite: it8xxx2: Add SOC_IT8XXX2_RAM_CODE_NOINLINE option
Add the SOC_IT8XXX2_RAM_CODE_NOINLINE Kconfig option to prevent
functions marked with __soc_ram_code from being inlined when LTO
is enabled.

This ensures RAM code functions remain in the RAM section instead of
being merged into callers by the compiler.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2025-12-26 10:15:07 -06:00
Biwen Li
cc183934a4 soc: nxp: imx943: m33: enable multi level interrupts
This commit enables multi level interrupts:
- Enable multi level interrupts
  imx943 is a two level interrupts system and
  some interrupts(eg. edma interrupts) depend on irqsteer.
- Increase irq number from 405 to 790
  Actually there are 407(IRQ 0 ~ IRQ 406) interrupts
  from nvic(first level interrupts),
  The second level interrupts are extended by irqsteer,
  it extends 32 x 12 = 384 interrupts,
  So first level interrupts + second level interrupts
  = 407 + 384 = 791(IRQ 0 ~ IRQ 790) interrupts

Signed-off-by: Biwen Li <biwen.li@nxp.com>
2025-12-24 12:51:21 -05:00
Dat Nguyen Duy
377922dfcf drivers: add initial support for NXP S32K566
Initial support for NXP S32K566 M7 & R52: Clock,
Pin control, GPIO and Uart

Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
2025-12-23 15:18:17 +01:00
Ha Duong Quang
72fb81eb9f soc: arm: introduce support for NXP S32K566 SoC
S32K566 is a member of the S32K5 family which expands
s32k3 series to higher performance and larger memory.

Zephyr port for S32K5 will support cortex-M7 and cortex-R52

After reset, swt_startup is enabled and starts running,
disable it using the watchdog hook.

Signed-off-by: Ha Duong Quang <ha.duongquang@nxp.com>
Co-authored-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
2025-12-23 15:18:17 +01:00
Mathieu Choplain
1aebea1490 soc: st: stm32: handle debug power mode in common code for WBA series
Perform call to LL_DBGMCU_{Dis,En}ableDBGStandbyMode() for STM32WBA series
in the common code, as done with other series. While at it, also add
missing call to LL_DBGMCU_{Dis,En}ableDBGStopMode().

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-12-22 20:39:53 +01:00
Camille BAUD
020d0fe5d8 soc: bflb: Increase default main stack size
Set it to something more appropriate

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-12-22 14:49:15 +01:00
Kai Vehmanen
6efe5cb687 soc: intel_adsp: tools: add Intel WCL support to cavstool.py
Add PCI DID for Intel Wildcat Lake to cavstool.py.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2025-12-22 14:49:08 +01:00
Kai Vehmanen
afbdea8995 soc: intel_adsp: tools: add Intel NVL support to cavstool.py
Add support for intel_adsp/ace40/nvl platforms into cavstool.py.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2025-12-22 14:49:08 +01:00
zjian zhang
6ad245a554 soc: add realtek amebad SOC integration
Add initial version of Amebad Soc integration

Signed-off-by: zjian zhang <zjian_zhang@realsil.com.cn>
2025-12-22 14:45:39 +01:00
Neil Chen
58f59c13a5 soc: nxp: mcxa156: add new parts for MCXA156
Add new parts MCXA156VFT and MCXA156VLH support

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2025-12-20 09:17:02 +01:00
Kevin Chan
c17e057dfd soc: infinoen: edge: pse84: system clock
Update system clock related variables
otherwise Cy_SysLib_Delay or Cy_SysLib_DelayUs are incorrect

Signed-off-by: Kevin Chan <kevin.chan3@infineon.com>
2025-12-20 09:16:51 +01:00
Jason Yu
dad7f6ae95 soc: nxp: mcxw2xx: Add poweroff support
Add poweroff MCXW2xx SoCs, support btn_wk pin wakeup.

Signed-off-by: Jason Yu <zejiang.yu@nxp.com>
2025-12-20 09:15:40 +01:00
Jason Yu
da1df411a5 soc: nxp: mcxw2xx: Enable the power management
Enabled modes:
  idle: SLEEP
  suspend: DEEP-SLEEP
  standby: POWER-DOWN with CPU retention

OS Time Base: OSTIMER with 32K clock source

Signed-off-by: Jason Yu <zejiang.yu@nxp.com>
2025-12-20 09:15:40 +01:00
McAtee Maxwell
ce51e58819 drivers: enable lp_timer default for kit_psc3m5_evk
- Enable lp_timer for kit_psc3m5_evk
- Modify configuration, enabling lp_timer as default before systick

Signed-off-by: McAtee Maxwell <maxwell.mcatee@infineon.com>
2025-12-20 09:15:22 +01:00
Bill Waters
66cf8c502b drivers: timer: infineon pdl lp_timer
Add PDL-based low-power timer for the E84 board

Signed-off-by: Bill Waters <bill.waters@infineon.com>
2025-12-20 09:15:22 +01:00
Jason Yu
010991d049 soc: nxp: imxrt118x: Change to use __rom_region_start symbol
The boot container was using a non-standard symbol name
`__rom_start_address` for the ROM start address. This symbol
is not defined when build with `-DCONFIG_CMAKE_LINKER_GENERATOR=y`.

This commit use the symbol `__rom_region_start` which is
available for both cases.

Signed-off-by: Jason Yu <zejiang.yu@nxp.com>
2025-12-19 10:21:16 +02:00
Thinh Le Cong
c66c4fceaa soc: renesas: ra: add rom_padding workaround for IAR ROM placement
The arbitrary ordering of ILINK may cause the .last_section
to be placed between the gaps of consecutive sections in the ROMABLE
region.

This commit adds a workaround for Renesas RA devices, which have OFS
registers placed in FLASH. Adding a small .rom_padding section at
the beginning of the ROM_REGION stabilizes the placement order and
ensures that all ROM sections remain within the expected region.

Signed-off-by: Thinh Le Cong <thinh.le.xr@bp.renesas.com>
Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
2025-12-19 10:20:35 +02:00
Thinh Le Cong
2a9df8d23b soc: renesas: ra: Resolve issue when using GNU and cmake linker
Switch OFS-related linker sections from GROUP FLASH to GROUP ROM_REGION
to avoid overlapiping placement with .text when build with GNU and
CONFIG_CMAKE_LINKER_GENERATOR=y of RA boards that have OFS in FLASH

Signed-off-by: Thinh Le Cong <thinh.le.xr@bp.renesas.com>
2025-12-19 10:20:35 +02:00
Thinh Le Cong
661536331f soc: renesas: ra: Add condition check for special cases
Add condition check for dts node and multi-image build

Signed-off-by: Thinh Le Cong <thinh.le.xr@bp.renesas.com>
2025-12-19 10:20:35 +02:00
Thinh Le Cong
2baeae776d soc: renesas: ra: Initial support for IAR build tool on Renesas RA
Support IAR build tool on Renesas RA devices

Signed-off-by: Thinh Le Cong <thinh.le.xr@bp.renesas.com>
2025-12-19 10:20:35 +02:00
Vincent Tardy
7273479e43 soc: st: stm32wba: hci_if: allow forcing ISR registration
Add parameter to the link_layer_register_isr() to force
or not the link layer isr registration in case of multiple
function calls.
This change fixes the interrupt service when resuming
from a PM standby state.

Update Bluetooth hci_stm32wba.c driver and
IEEE 802.15.4 ieee802154_stm32wba.c driver accordingly.

Signed-off-by: Vincent Tardy <vincent.tardy@st.com>
2025-12-18 14:50:58 +00:00
Robert Cheng
c3d0a3703f soc: focaltech: ft9001: add SoC support
Add initial support for the FocalTech FT9001 ARM Cortex-M SoC including:
- SoC Kconfig and dtsi integration points
- Early init and core setup
- Pinctrl base definitions

This prepares the tree for the FT9001 board and drivers.

Signed-off-by: Robert Cheng <robert.cheng@focaltech-electronics.com>
2025-12-18 12:13:19 +00:00
William Tang
510e4d1cee soc: nxp: rw: fix GAU clock configuration for ADC accuracy
Configure the GAU (General Analog Unit) clock from T3 PLL 256M with
a divider of 4 to achieve 64MHz, replacing the previous configuration
that used the main clock at 260MHz main clock with a divider of 1.

The GAU ADC has a maximum clock frequency limit of 64MHz. The previous
260MHz clock configuration caused incorrect conversion results when
operating at 12-bit and 14-bit resolutions. Using the T3 PLL 256M
source divided by 4 provides the correct 64MHz clock frequency.

This change also corrects a typo in the comment from "Attack clock"
to "Set 64M GAU clock from T3 PLL 256M and reset".

Signed-off-by: William Tang <william.tang@nxp.com>
2025-12-18 12:07:30 +01:00
Jason Yu
420c0f94ea drivers: hwinfo: rcm: Enable HWINFO RCM for MCXE24x and KE1xZ
Enables the MCUX Reset Control Module (RCM) to support hwinfo

Signed-off-by: Jason Yu <zejiang.yu@nxp.com>
2025-12-18 09:18:40 +01:00
Kai Vehmanen
12a5bb2911 soc: intel_adsp: tools: cavstool.py: add I2S offload support
Program I2S link for DSP offload, allowing to run DSP tests using
the I2S/SSP interface. On ACE1.5 and older, no additional programming
is required, I2S link is available by default.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2025-12-18 05:34:54 +01:00
Jason Yu
77225cb32e soc: nxp: mcxw2xx: Improve OS tick timer selection
When os_timer is enabled in dts, then os_timer will be used as
OS tick timer.

To make systick as the default OS tick timer, currently os_timer
is not enabled in dts. When users want to use os_timer as
OS tick timer, they need to override the dts.

Improve the method, enable the os_timer is dts, but not enable
in Kconfig by default. If need to use os_timer as OS tick, just pass
CONFIG_MCUX_OS_TIMER=y

Signed-off-by: Jason Yu <zejiang.yu@nxp.com>
2025-12-18 05:34:07 +01:00
Kate Wang
e55a5022f5 boards: nxp: move memory region definition to board dts for RT500
It is better to let the FLEXSPI2 memory region in the final
linker file be generated from dts, in this way user/developer
can place the data in the region in code more easily.

Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
2025-12-17 13:59:06 -05:00
Sylvio Alves
f8d2e00a0e includes: remove duplicated entries in zephyr-tree
Remove duplicated #include directives within the same
preprocessor scope across the Zephyr tree.

Duplicates inside different #ifdef branches are preserved
as they may be intentional.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2025-12-17 13:57:38 -05:00
Peter Ujfalusi
7c67dea76a intel_adsp: common: gdbstub: Fix compilation DEBUG_SLOT_MANAGER=n
The GDB is not compiled by default and a recent change in the slot manager
series contained a typo in ifdef and missed by not compiling the GDB
support.

Fixes: ebb5625bee ("intel_adsp: Add debug slot manager")
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
2025-12-17 10:59:00 +02:00
Guido Roncarolo
3f3e833745 soc: mcxn947: disable SystemInit when TFM is ON
Avoid initialization as this is already been taken care from TF-M
secure part

Signed-off-by: Guido Roncarolo <guido.roncarolo@nxp.com>
2025-12-17 10:56:59 +02:00
Biwen Li
ba10774f91 soc: nxp: imx943: m33: fix build issue
Fix build issue from the below commit:
c520b3da1a
soc: nxp: imx943: m33: add and reuse api to initialize clocks

error: soc_clock_enable defined but not used.
Signed-off-by: Biwen Li <biwen.li@nxp.com>
2025-12-17 10:52:11 +02:00
Jaro Van Landschoot
853d33e8e3 soc: atmel: sam: common: add warm reboot to soc_power.c
If a warm reboot is issued (e.g., via mcumgr reset), the sam
controller just hangs because of loop in reboot.c. This can
be devastating if no watchdog is present to reboot the controller.

Signed-off-by: Jaro Van Landschoot <jaro.vanlandschoot@basalte.be>
2025-12-16 10:19:07 -06:00
Jonathan Nilsen
ef587e12f6 modules: hal_nordic: move IronSide SE supporting code to hal_nordic
Move most of the code that is used to interface with IronSide SE on the
nRF54H20/nRF9280 from the soc/nordic directory to the hal_nordic
repository. The interface code is now provided by the new IronSide
support package. Build system code and glue code that makes use of
Zephyr APIs is now located in the modules/hal_nordic directory.

Update the directory path for IronSide SE interface code in
MAINTAINERS.yml to match the move from soc/nordic/ironside to
modules/hal_nordic/ironside.

Also included are some refactoring changes and cleanup to match the new
supporting code.

C code and Kconfigs have been renamed to *ironside_se* / *IRONSIDE_SE*
to match the supporting code changes. Users of these APIs in zephyr
have been updated to match.

Individual configurations for different "IronSide services" have been
removed as the API serialization for all of these is now provided in
a single C file / header file (ironside/se/api.h).

The ironside_boot_report_get() API has been removed. The boot report
structure can be accessed through the IRONSIDE_SE_BOOT_REPORT macro.

Most configs relating to UICR / PERIPHCONF have been moved under the
"IronSide SE" menu to make it clear that these are part of the
IronSide SE interface.

The macros that in uicr.h that were used to add entries to the
PERIPHCONF section have been removed. The supporting code now provides
PERIPHCONF_XYZ() macros that can be used to initialize structures that
go into this section, and the zephyr part now only contains a macro
UICR_PERIPHCONF_ENTRY() that is used to place an arbitrary structure
into the section. The gen_periphconf_entries.py script used to generate
PERIPHCONF entries based on devicetree has been updated to use the new
macro system.

IronSide SE integration code/configs is now guarded by HAS_IRONSIDE_SE.

Note that the UICR build system integration that relies on Sysbuild
remains under the soc/nordic directory for now, but will be moved to
the modules/hal_nordic directory once it is clear how the integration
will look there.

Signed-off-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
2025-12-16 10:13:56 -06:00
Biwen Li
c520b3da1a soc: nxp: imx943: m33: add and reuse api to initialize clocks
Add and reuse apis to initialize clocks for netc and audio

Signed-off-by: Biwen Li <biwen.li@nxp.com>
2025-12-16 10:09:55 -06:00
Martin Hoff
be4723c213 soc: silabs: siwx91x: fix pm when bt is enabled
This patch is a workaround to a know issue when Bluetooth and pm
is activated.
We actually need to set the tx power to the Bluetooth controller
(network coprocessor) before sending power saving request to the
coprocessor.

Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
2025-12-16 10:13:00 +01:00
Martin Hoff
e866da994f soc: silabs: siwx91x: remove power profile property
Power profile property doesn't need to be defined in device three.
It is a configuration value that is defined if we want pm with
Bluetooth and/or Wifi .

Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
2025-12-16 10:13:00 +01:00