Commit graph

7,339 commits

Author SHA1 Message Date
Ruijia Wang
4f5cf51c59 soc: Update code to get flash size from dts
Update the Kconfig to parse the dts.

Signed-off-by: Ruijia Wang <ruijia.wang@nxp.com>
2025-10-24 08:56:59 -07:00
Yong Cong Sin
643e09febf arch: riscv: streamline fatal handling code
`CONFIG_EXTRA_EXCEPTION_INFO` that was added in #78065 doesn't
seem necessary, as we were already storing and printing the
callee-saved-registers before that. All `CONFIG_EXTRA_EXCEPTION_INFO`
does in RISCV is to add an additional `_callee_saved_t *csf` in the
`struct arch_esf`, which overhead is negligible to what's being enabled
by `CONFIG_EXCEPTION_DEBUG`.

Let's remove `CONFIG_EXTRA_EXCEPTION_INFO`, and have that extra
`_callee_saved_t *csf` in the `struct arch_esf` as long as
`CONFIG_EXCEPTION_DEBUG` is enabled.

TL;DR: it doesn't make sense to not enable `CONFIG_EXTRA_EXCEPTION_INFO`
when `CONFIG_EXCEPTION_DEBUG` is enabled, so let's merge them.

Then, since `*csf` is always available in the `struct arch_esf` when
`CONFIG_EXCEPTION_DEBUG=y`, we can simply rely on that pointer in
`z_riscv_fatal_error()` instead of an additional argument in
`z_riscv_fatal_error_csf()`, rendering the latter redundant and thus
can be removed.

Additionally, save the callee-saved registers before jumping to
to `z_riscv_fault()`, so that callee-saved-registers are printed on
generic CPU exception as well.

Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2025-10-24 08:51:15 -07:00
Laurentiu Mihalcea
74b51136a4 soc: nxp: imx93: drop SOF-specific region mapping
Remove SOF-specific region mappings. These should be handled inside of
SOF (external module), instead of Zephyr. This way, we avoid creating
a cyclic dependency between the two.

Needed for #91061.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2025-10-24 11:33:22 +02:00
John Batch
9427e31861 soc: infineon: Enable AutAnalog subsystem init
Changes initialization to use a function from hal_infineon.  This
initialization function will initialize the AutAnalog system if needed
as well as the SystemInit.

Signed-off-by: John Batch <john.batch@infineon.com>
2025-10-24 09:44:03 +03:00
Mahesh Mahadevan
04b94b605c soc: mcxw: Add Power Management support
Add PM support for MCXW SoC's

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-10-24 01:11:33 +03:00
Tim Pambor
7845481eba soc: st: stm32: Use flash-controller to detect running from external flash
Use the zephyr,flash-controller node and the respective compatible
'st,stm32-xspi-nor' to detect if the device is running from external
flash, instead of assuming that the parent node of the flash is the
SPI controller. This fixes an issue when soc-nv-flash is used as the
zephyr,flash node.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2025-10-24 01:11:22 +03:00
The Nguyen
69bd248b3d soc: ra8t2: add linker cmake generation directive
Add section define for ra8t2 when using with cmake linker generator

Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
2025-10-23 16:01:59 -04:00
Raffael Rostagno
d18ecc06bd soc: esp32h2: esp32c6: Add coex support
Add coexistance support when enabling IEEE802.15.4 with another
radio device (BT or Wi-Fi), for ESP32-H2 and ESP32-C6.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-10-23 16:01:25 -04:00
Aksel Skauge Mellbye
ca4164bf0b soc: silabs: Add xg26 soc support
Add hwmv2 integration for xg26 device families:

* efm32pg26
* efr32bg26
* efr32mg26
* bgm26
* mgm26

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-10-23 17:57:39 +02:00
Aksel Skauge Mellbye
630ac65cf2 soc: silabs: Support devices with 3 PPU registers
Support xg26, which has a third PPU security attribution register.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-10-23 17:57:39 +02:00
Rubin Gerritsen
43cd4caee8 soc: nordic: nrf54h: s2ram: Use ARM FPU save/restore funcs
This reduced the amount of duplicate code and unifies the code
with other platforms.

With this change the caller and callee status registers are
stored separately. Also, a different set of status registers
are stored:
 - FPSCR instead of FPDSCR. FPDSCR contains the default values
   to be assigned to FPSCR when a new floating-point context
   is created. It therefore seems more correct to store the
   FPSCR.
 - FPCCR and FPCAR are no longer stored.

FPU retention was originally added in:
8a5365c26c.

Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
2025-10-23 17:50:43 +02:00
Rubin Gerritsen
4c0d478576 soc: nordic: nrf54h: s2ram: Use ARM SCB save/restore funcs
This reduced the amount of duplicate code and unifies the code
with other platforms.

With this change fewer registers are stored and restored.
See also comment in scb.h for scb_context stating that
only essential registers are stored and restored.

No longer stored:
- ICSR
- SCR
- CFSR
- HFSR
- DFSR
- MMFAR
- BFAR
- AFSR

No longer used:
- SHPR[3..12]. This backup register was declared in the wrong way.
  In core_cm33.h and core_cm4.h this is declared as an array of
  12 uint8_t's. That is 3 uint32_t's.

Orignal SCB retention was added in
2055f7d595.

Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
2025-10-23 17:50:43 +02:00
Rubin Gerritsen
b45d7a8a62 soc: nordic: nrf54h: s2ram: Use ARM MPU save/restore funcs
This reduced the amount of duplicate code and unifies the code
with other platforms.

MPU retention was originally added in
ee9d23945f.

Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
2025-10-23 17:50:43 +02:00
Khoa Nguyen
51ffd9052e soc: renesas: ra: Add support Renesas ra8m2 SoC
Add support Renesas ra8m2 SoC

Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
Signed-off-by: Khoa Tran <khoa.tran.yj@bp.renesas.com>
2025-10-23 11:41:48 +03:00
Tony Han
415450cbd8 soc: microchip: sam: configure the clocks for sama7g5 GMAC1
Configure ETH PLL to 625MHz.
Configure the generic clocks to 125MHz for GMAC1.

Signed-off-by: Tony Han <tony.han@microchip.com>
2025-10-23 10:39:50 +02:00
Tony Han
ce23ab6d11 soc: microchip: sam: update MMU for sama7g5 GMAC1
Enable strong ordered access to the GMAC1 registers.

Signed-off-by: Tony Han <tony.han@microchip.com>
2025-10-23 10:39:50 +02:00
The Nguyen
d64f570bd3 soc: ra4e2: fix IAR build failed
Correct the input section define for the device reset configuration
setting when enabling the CMake Linker Generator, which cause a build
failed when using the IAR build tool.

Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
2025-10-23 08:02:09 +02:00
Khoa Tran
b47faeef83 dts: arm: renesas: ra: Add support Renesas r7ka8d2kflcac SoC
- Add support Renesas r7ka8d2kflcac SoC.
- Move sdram-controller node from r7ka8p1kflcac.dtsi to ra8x2.dtsi
since this device node is available for all RA8x2 SoCs

Signed-off-by: Khoa Tran <khoa.tran.yj@bp.renesas.com>
2025-10-23 08:01:03 +02:00
Khoa Tran
718d8397f9 soc: renesas: ra: Add support Renesas RA8D2 SoC
Add support Renesas RA8D2 SoC

Signed-off-by: Khoa Tran <khoa.tran.yj@bp.renesas.com>
Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
2025-10-23 08:01:03 +02:00
John Batch
d67ab6df8a soc: infineon: PSOC Edge: Remove board references from soc cmake
Removes references to the kit_pse84_eval board from the soc cmake file.

Signed-off-by: John Batch <john.batch@infineon.com>
2025-10-22 18:05:58 -04:00
Lucien Zhao
8f5dd1a2fb soc: nxp: mcx: add mcxe31 series soc
- create 'mcxe' as family and 'mcxe31x' as series
- add pinctrl_soc.h
- add soc.c/.h to do some soc level initialization
- add ecc initialization in mcxe31x_soc_initialization.S

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2025-10-22 18:35:01 +03:00
Lei Xu
4137d18a07 soc: imx91: add empty soc.h
Some drivers need header file soc.h, according to Zephyr SoC Porting Guide
soc.h must be provided for each SoC, so created an empty one.

Signed-off-by: Lei Xu <lei.xu@nxp.com>
Signed-off-by: Jiafei Pan <jiafei.pan@nxp.com>
2025-10-22 18:34:09 +03:00
Allen Zhang
820fdf842e soc: mcxw: enable OSTIMER for MCXW2xx
Enable OSTIMER for MCXW2XX

Signed-off-by: Allen Zhang <chunfeng.zhang@nxp.com>
2025-10-22 18:33:31 +03:00
Immo Birnbaum
582e7df9b5 soc: st: stm32h7rsx: adjust MPU header include
Update include of header file arm_mpu_mem_cfg.h which has been moved
to a Cortex-M/-R-agnostic include directory.

Signed-off-by: Immo Birnbaum <mail@birnbaum.immo>
2025-10-22 18:32:27 +03:00
Immo Birnbaum
33ab25e4e7 soc: infineon: pse84: adjust MPU header include
Update include of header file arm_mpu_mem_cfg.h which has been moved
to a Cortex-M/-R-agnostic include directory.

Signed-off-by: Immo Birnbaum <mail@birnbaum.immo>
2025-10-22 18:32:27 +03:00
Immo Birnbaum
94daa23cb0 soc: adi: max32: adjust MPU header include
Update include of header file arm_mpu_mem_cfg.h which has been moved
to a Cortex-M/-R-agnostic include directory.

Signed-off-by: Immo Birnbaum <mail@birnbaum.immo>
2025-10-22 18:32:27 +03:00
Immo Birnbaum
3d49cfff0c soc: infineon: cyq20829: adjust MPU header include
Update include of header file arm_mpu_mem_cfg.h which has been moved
to a Cortex-M/-R-agnostic include directory.

Signed-off-by: Immo Birnbaum <mail@birnbaum.immo>
2025-10-22 18:32:27 +03:00
Immo Birnbaum
a0f75042a9 soc: nordic: nrf54hx: nrf92x: adjust MPU header include
Update include of header file arm_mpu_mem_cfg.h which has been moved
to a Cortex-M/-R-agnostic include directory.

Signed-off-by: Immo Birnbaum <mail@birnbaum.immo>
2025-10-22 18:32:27 +03:00
Immo Birnbaum
4cd2e61a73 soc: nuvoton: npcx7: adjust MPU header include
Update include of header file arm_mpu_mem_cfg.h which has been moved
to a Cortex-M/-R-agnostic include directory.

Signed-off-by: Immo Birnbaum <mail@birnbaum.immo>
2025-10-22 18:32:27 +03:00
Immo Birnbaum
a54226d87a soc: nuvoton: m55m1x: adjust MPU header include
Update include of header file arm_mpu_mem_cfg.h which has been moved
to a Cortex-M/-R-agnostic include directory.

Signed-off-by: Immo Birnbaum <mail@birnbaum.immo>
2025-10-22 18:32:27 +03:00
Immo Birnbaum
83112f4b28 soc: nxp: imx8m: adjust MPU header include
Update include of header file arm_mpu_mem_cfg.h which has been moved
to a Cortex-M/-R-agnostic include directory.

Signed-off-by: Immo Birnbaum <mail@birnbaum.immo>
2025-10-22 18:32:27 +03:00
Immo Birnbaum
e076ad18ca soc: nxp: imxrt: adjust MPU header include
Update include of header file arm_mpu_mem_cfg.h which has been moved
to a Cortex-M/-R-agnostic include directory.

Signed-off-by: Immo Birnbaum <mail@birnbaum.immo>
2025-10-22 18:32:27 +03:00
Immo Birnbaum
d43ed03652 soc: nxp: s32k3: adjust MPU header include
Update include of header file arm_mpu_mem_cfg.h which has been moved
to a Cortex-M/-R-agnostic include directory.

Signed-off-by: Immo Birnbaum <mail@birnbaum.immo>
2025-10-22 18:32:27 +03:00
Immo Birnbaum
2e416b26b2 soc: renode: cortex_r8_virtual: adjust MPU header include
Update include of header file arm_mpu_mem_cfg.h which has been moved
to a Cortex-M/-R-agnostic include directory.

Signed-off-by: Immo Birnbaum <mail@birnbaum.immo>
2025-10-22 18:32:27 +03:00
Immo Birnbaum
5be0f2d789 soc: st: stm32h7x: adjust MPU header include
Update include of header file arm_mpu_mem_cfg.h which has been moved
to a Cortex-M/-R-agnostic include directory.

Signed-off-by: Immo Birnbaum <mail@birnbaum.immo>
2025-10-22 18:32:27 +03:00
Immo Birnbaum
e21dd9504c soc: ti: am6x: adjust MPU header include
Update include of header file arm_mpu_mem_cfg.h which has been moved
to a Cortex-M/-R-agnostic include directory.

Signed-off-by: Immo Birnbaum <mail@birnbaum.immo>
2025-10-22 18:32:27 +03:00
Immo Birnbaum
a6966363ac soc: xlnx: zynqmp: adjust MPU header include
Update include of header file arm_mpu_mem_cfg.h which has been moved
to a Cortex-M/-R-agnostic include directory.

Signed-off-by: Immo Birnbaum <mail@birnbaum.immo>
2025-10-22 18:32:27 +03:00
Phi Tran
3bc9d9b6c6 soc: renesas: rx: initial support pm for RX130
Add initial support power management for Renesas RX130

Signed-off-by: Phi Tran <phi.tran.jg@bp.renesas.com>
2025-10-22 15:59:01 +03:00
Diego Herranz
1d5c148045 soc: nxp: imx: imx7d: soc.c: enable uart1/3/4/5/7 if used in DT
Only uart2 and uart6 were considered before, so if any other uart
was used, it wouldn't work and even worse, it would crash when
trying to access it because the RDC wasn't configured.

Signed-off-by: Diego Herranz <diegoherranz@diegoherranz.com>
2025-10-22 15:55:53 +03:00
Fin Maaß
45fc6fedf3 riscv: remove unneeded select ATOMIC_OPERATIONS_BUILTIN
When RISCV_ISA_EXT_A is enabled,
ATOMIC_OPERATIONS_BUILTIN automaticly enabled,
we don't need to do it at the soc level again.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-10-22 15:54:37 +03:00
Bill Waters
f39f9bd38f soc: infineon: cat1b: psc3: noinit linker update
This device needs a custom noinit.ld file to account
for how ROM uses RAM during boot.

Signed-off-by: Bill Waters <bill.waters@infineon.com>
2025-10-22 09:08:58 +02:00
Aksel Skauge Mellbye
440755bd9e soc: silabs: Move Kconfig symbols for HAL selection to HAL
The Kconfig symbols for selecting HAL content should be part
of the HAL module integration, not defined by the SoC. Split the
symbols between the Series 0/1 Gecko HAL and Series 2 SiSDK HAL
when moving them.

For now, the Series 0/1 HAL symbols retain their name, while new
names consistent with the symbols already defined in the module
integration layer are used for the Series 2 HAL.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-10-22 09:03:15 +02:00
Aksel Skauge Mellbye
5d0e9f5cca soc: silabs: Move Series 2 specific defconfigs to Series 2
Series 2 specific defconfigs for Bluetooth related options should
be set in the Series 2 specific defconfig file.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-10-22 09:03:15 +02:00
Aksel Skauge Mellbye
d9e9f24cdf soc: silabs: Move Kconfig symbol for SE to HAL
Move the Kconfig symbol for the SE HAL to hal_silabs.
Select the symbol in the entropy driver rather than unconditionally
at the SoC level.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-10-22 09:03:15 +02:00
Aksel Skauge Mellbye
fab26ef69e soc: silabs: Move Series 2 specific TRNG symbol to Series 2 Kconfig
CRYPTO_ACC_GECKO_TRNG only applies to Series 2. Don't define it at
the top level.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-10-22 09:03:15 +02:00
Aksel Skauge Mellbye
2781be95c5 soc: silabs: Remove duplicate Kconfig symbol
COUNTER_GECKO_STIMER is defined by the counter driver. It should
not be present in SoC Kconfig.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-10-22 09:03:15 +02:00
Aksel Skauge Mellbye
cf1fbbcf83 soc: silabs: Move Kconfig symbol for clock/device init to HAL
Kconfig symbols for selecting HAL content should be part of the
HAL module integration, not defined in the SoC tree.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-10-22 09:03:15 +02:00
Aksel Skauge Mellbye
2b54dfa8aa soc: silabs: Select PM implementation per family directly
The indirection through a backend symbol for PM implementation
isn't necessary. Define symbol for PM HAL in HAL Kconfig, and
leverage it at SoC level.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-10-22 09:03:15 +02:00
Aksel Skauge Mellbye
4602300a27 soc: silabs: Move Kconfig symbol for sleeptimer to HAL
Kconfig symbols for selecting HAL content should be part of the
HAL module integration, not defined in the SoC tree. Define the
sleeptimer symbol for WiSeConnect and SiSDK since both use it.

In the future, WiSeConnect should include the SiSDK configuration
and reuse it instead of redefining everything itself. This is a
larger scale refactor that this commit doesn't start tackling.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-10-22 09:03:15 +02:00
Aksel Skauge Mellbye
6786b4824f soc: silabs: Sort Series 2 dependencies
Sort symbol selections for Series 2 SoCs.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-10-22 09:03:15 +02:00