Commit graph

6,613 commits

Author SHA1 Message Date
Camille BAUD
f6f72ac8dd soc: bflb: Add support for BL61x SoCs
Adds SoC folder contents for BL61x

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-08-20 13:45:26 +02:00
Mahesh Mahadevan
c3058ec765 dts: nxp_rw6xx: Use device tree property to configure XTAL32
Switch the XTAL32 configuration from Kconfig to devicetree

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-08-20 07:38:27 +02:00
Declan Snyder
ad39866b12 soc: mcxw: Add LPIT support
Enable LPIT peripheral on MCXW7x socs.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-08-19 23:36:06 +02:00
Declan Snyder
42ed3294f2 soc: rw: Clock ctimer if using it for PWM
Clock ctimer if being used for PWM. Otherwise, it not only doesn't work
but makes the chip unable to be communicated to by the debugger.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-08-19 23:35:59 +02:00
Mahesh Mahadevan
4a67a61227 soc: rw612: Handle counter overflow in Power Mode 3
The RTC counter that is used in Power Mode 3 to track
System time could overflow for large timeouts.
Add code to catch wakeup events due to this overflow and re-enter
Power Mode 3.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-08-19 23:35:32 +02:00
Dmitrii Sharshakov
b2db425b62 soc: raspberrypi: rp2350: indicate DSP extension support
Confirmed by section 3.7.2 in the datasheet (version 29 July 2025) and
running a sample piece of code exercising smuad, smladx and
other DSP intrinsics.

Signed-off-by: Dmitrii Sharshakov <d3dx12.xx@gmail.com>
2025-08-19 19:14:29 +02:00
Sri Surya
358c113a96 soc: ambiq: apollo2: Add support for Apollo2 SoC
Added SoC series for the Ambiq Apollo2 SoC.

Signed-off-by: Sri Surya <srisurya@linumiz.com>
2025-08-19 18:00:41 +02:00
Sri Surya
3d91929346 drivers: pinctrl: Add pinctrl driver for Apollo2 SoC
This commit adds pinctrl support for Apollo2 SoC.

Signed-off-by: Sri Surya <srisurya@linumiz.com>
2025-08-19 18:00:41 +02:00
Krzysztof Chruściński
63bc35ad4c soc: nordic: Use default SYS_CLOCK_TICKS_PER_SEC for PPR core
PPR was using 1 kHz system clock frequency instead of default 31250 Hz
used on other cores with GRTC. Low frequency impacts system clock
accuracy. There is no reason to use different frequency for PPR.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-08-19 13:02:38 +02:00
Khoa Nguyen
9e66dfef44 dts: arm: renesas: ra: Add support for Renesas RA4C1 soc
Add support for Renesas r7fa4c1bd3cfp soc

Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
2025-08-19 13:02:29 +02:00
Aksel Skauge Mellbye
93d33faa5c soc: silabs: silabs_s2: Align power states with HAL
The definition of the EM3 energy mode is that software switches
off the LFRCO and LFXO before entering deep sleep. On Series 2,
oscillators are clocked on-demand based on peripheral requests
from hardware. Requesting EM3 will result in EM2 if any active
peripheral uses one of the oscillators, and requesting EM2
will result in EM3 if no peripherals use the oscillators.

In version 2025.6 of the HAL, this was reflected in the API
of the power manager by making EM3 an alias of EM2. Reflect
this in Zephyr by removing the separate EM3 power state.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-08-19 11:39:52 +02:00
Keith Packard
c5e8b6c634 soc/intel_adsp: soc_adsp_halt_cpu always fails when NUM_CPUS <= 1
When the target has only a single CPU, this function cannot ever
succeed. Skip all of the drama and just return -EINVAL. This makes GCC 14
happy as it doesn't get confused about possible out of bounds access of the
soc_cpus_active array.

Signed-off-by: Keith Packard <keithp@keithp.com>
2025-08-18 22:01:08 +02:00
Peter Wang
d172b9d76b boards: nxp: Renamed MCXA276 to MCXA266
1. Renamed MCXA276 to MCXA266
2. NXP frdm_mcxa276 is renamed to frdm_mcxa266,
add this information to migration-guide-4.3.rst.

Signed-off-by: Peter Wang <chaoyi.wang@nxp.com>
2025-08-18 22:00:19 +02:00
Zhaoxiang Jin
7d3fc2b176 boards: nxp: Renamed MCXA166 to MCXA346
1. Renamed MCXA166 to MCXA346.
2. NXP frdm_mcxa166 is renamed to frdm_mcxa346,
add this information to migration-guide-4.3.rst.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2025-08-18 22:00:19 +02:00
Joakim Andersson
e63996f498 soc: stm32u5x: Add break in switch to avoid wrong debug message
Add break in switch case to avoid the debug message when SOC_LOG_LEVEL
has been set to debug.

Signed-off-by: Joakim Andersson <joerchan@gmail.com>
2025-08-18 17:49:36 +02:00
Etienne Carriere
5c10c9403a soc: st: stm32wbx: always clear wakeup flags on power off entry
STM32WBx SoCs reference manuals say that for Shutdown mode (aka Power OFF)
entry, "WUFx bits are cleared in power status register 1 (PWR_SR1)".
Therefore call LL_PWR_ClearFlag_WU() unconditionally (regarding
CONFIG_STM32_WKUP_PINS) in z_sys_poweroff() sequence.

Reference manuals references:
- STM32WB55xx/STM32WB35xx: RM0434 Rev 14, Table 34.
- STM32WB50CG/STM32WB30CE: RM0471 Rev 9, Table 32.
- STM32WB15CC: RM0473 Rev 11, Table 33.
- STM32WB10CC: RM0478 Rev 9, Table 31.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2025-08-18 16:00:15 +02:00
Etienne Carriere
cd2b47b3f9 soc: st: stm32wlx: always clear wakeup flags on power off entry
STM32WLx SoCs reference manual says that for Shutdown mode (aka Power OFF)
entry, "WUFx bits are cleared in power status register 1 (PWR_SR1)".
Therefore call LL_PWR_ClearFlag_WU() unconditionally (regarding
CONFIG_STM32_WKUP_PINS) in z_sys_poweroff() sequence.

Reference manuals references:
- STM32WBLEx/STM32WL5x: RM0461 Rev 10, Table 47.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2025-08-18 16:00:15 +02:00
Etienne Carriere
40341f73b4 soc: st: stm32u5: always clear wakeup flags on power off entry
STM32U5x SoCs reference manual says that for Shutdown mode (aka Power OFF)
entry, "WUFx bits cleared in PWR_WUSR". Therefore call
LL_PWR_ClearFlag_WU() unconditionally (regarding CONFIG_STM32_WKUP_PINS)
in z_sys_poweroff() sequence.

Reference manuals references:
- STM32U5: RM0456 Rev 5, Table 107.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2025-08-18 16:00:15 +02:00
Etienne Carriere
574b77dee7 soc: st: stm32l4: always clear wakeup flags on power off entry
STM32L4x SoCs reference manuals say that for Shutdown mode (aka Power OFF)
entry, "WUFx bits are cleared in power status register 1 (PWR_SR1)".
Therefore call LL_PWR_ClearFlag_WU() unconditionally (regarding
CONFIG_STM32_WKUP_PINS) in z_sys_poweroff() sequence.

Reference manuals references:
- STM32L41xx/L42xx/L43xx/L44xx/L45xx/L46xx: RM0394 Rev 5, Table 29.
- STM32L47xx/L48xx/L49xx/L4Axx: RM0351 Rev 10, Table 31.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2025-08-18 16:00:15 +02:00
Etienne Carriere
9116458d3c soc: st: stm32g0: always clear wakeup flags on power off entry
STM32G0x SoCs reference manuals say that for Shutdown mode (STM32G0x1)
or Standby mode (STM32G0x0) entry (used for Power OFF entry), that
"WUFx bits are cleared in Power status register 1 (PWR_SR1)".
Therefore call LL_PWR_ClearFlag_WU() unconditionally (regarding
CONFIG_STM32_WKUP_PINS) in z_sys_poweroff() sequence.

Reference manuals references:
- STM32G0x0: RM0454 Rev 5, Table 25.
- STM32G0x1: RM0444 Rev 6, Table 34.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2025-08-18 16:00:15 +02:00
Etienne Carriere
4601d794b9 soc: st: stm32f4: always clear wakeup flags on power off entry
STM32F4x SoCs reference manuals say that for Standby mode (aka Power OFF)
entry, "WUF bit is cleared in Power Control register (PWR_CR)" [1]
and "WUF bit is cleared in Power Control/Status register (PWR_CR)" [2].
Therefore call LL_PWR_ClearFlag_WU() unconditionally (regarding
CONFIG_STM32_WKUP_PINS) in z_sys_poweroff() sequence.

Reference manuals references:
- [1] STM32F401xx: RM0368 Rev 6, Table 20.
- [2] STM32F469xx/STM32F479xx: RM0386 Rev 6, Table 23.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2025-08-18 16:00:15 +02:00
Etienne Carriere
64dfb55bfe soc: st: stm32c0: always clear wakeup flags on power off entry
STM32C0x SoCs reference manual says the wakeup source status flags (from
register PWR_SR1) are not cleared by hardware and therefore should be
cleared by software before entering Standby or Shutdown power mode.
Therefore call LL_PWR_ClearFlag_WU() unconditionally (regarding
CONFIG_STM32_WKUP_PINS) in z_sys_poweroff() sequence.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2025-08-18 16:00:15 +02:00
Etienne Carriere
7473b64f4b soc: st: stm32g0: G0x0 SoCs use Standby mode for Power OFF
Fix STM32G0x0 SoCs power off sequence that do not support Shutdown mode
and which deppest power mode state is Standby mode.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2025-08-18 16:00:15 +02:00
Afonso Oliveira
3cf92af0a7 soc: snps: nsim: arc_v: rmx: remove redudant compiler filtering
Remove CONFIG_SOC_SERIES_NSIM_ARC_V_RMX conditional check from
zephyr_compile_options_ifdef and apply all extensions
unconditionally when using arcmwdt compiler.

Since this CMakeLists.txt is already SoC-specific, the
additional config check is redundant.

Signed-off-by: Afonso Oliveira <afonsoo@synopsys.com>
2025-08-18 15:59:41 +02:00
Afonso Oliveira
1bef065c8e soc: snps: nsim: arc_v: rename SOC configuration symbols
Rename SOC configuration symbols from generic names to more specific
ones that include the vendor and platform information. This improves
clarity and prevents potential naming conflicts.

Changes:
- SOC_SERIES_RMX -> SOC_SERIES_NSIM_ARC_V_RMX
- SOC_RMX100 -> SOC_NSIM_ARC_V_RMX100

Signed-off-by: Afonso Oliveira <afonsoo@synopsys.com>
2025-08-18 15:59:41 +02:00
Łukasz Stępnicki
10941ca73e arch: riscv: added helper config to include isr wrapper
Added helper Kcoinfig option USE_ISR_WRAPPER which can be used to
include isr_wrapper even if GEN_SW_ISR_TABLE is not enabled. This
is needed to enable configurations where only IRQ vector table is
used with multithreading (only direct isr used). This change is
backward compatibible with previous config.

Signed-off-by: Łukasz Stępnicki <lukasz.stepnicki@nordicsemi.no>
2025-08-18 13:06:50 +02:00
Yangbo Lu
2be724d0ce soc: nxp: imxrt118x: keep AHB clock running when CM7 is sleeping
Keep AHB clock running when CM7 is sleeping and TCM is accessible.
Otherwise, NETC transmission will fail.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2025-08-15 15:34:17 +02:00
Richard Wheatley
d00a734c0c drivers: entropy: add puf-trng entropy driver
add puf-trng entropy driver to apollo510

Signed-off-by: Richard Wheatley <richard.wheatley@ambiq.com>
2025-08-15 10:10:45 +03:00
Declan Snyder
b70e761d42 modules: hal_nxp: Remove HAS_MCUX_FLEXSPI/SEMC
Remove these legacy kconfig, not necessary.

The DT already has the bindings and nodes required to represent if there
is a FlexSPI and/or SEMC.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-08-15 10:10:32 +03:00
Declan Snyder
5e3a432fed adc: Remove CONFIG_ADC_MCUX_ETC
This Kconfig does not belong in the ADC folder, because there is not
actually a zephyr ADC driver for this. Also, remove HAS_MCUX_ADC_ETC as
well because it is a useless config.

The cmake line to pull in this driver from the SDK in the zephyr repo is
totally unnecessary. If a user wants to use this SDK driver they can add
it to their build like any other SDK driver or any other
external code module. Zephyr should not be a cesspool of random build
glue for random pieces of code.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-08-15 10:10:32 +03:00
Declan Snyder
6b7a6d6a34 soc: k2x: Remove HAS_MCUX_SMC
Only the k2x series socs seem to be pulling in this driver for some
reason, the kconfig is not needed.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-08-15 10:10:32 +03:00
Declan Snyder
e8c6275949 soc: imxrt: Remove HAS_MCUX_ DCDC, GPC, PMU
Remove these kconfigs and substitute with equivalent series configs.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-08-15 10:10:32 +03:00
Declan Snyder
7ff0038921 modules: Remove HAS_MCUX_TPM
The only code change to remove this was a redundant usage in the rt1180
soc.c which was not needed because it was redundant, if you catch my
drift.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-08-15 10:10:32 +03:00
Declan Snyder
5ae654eeef modules: hal_nxp: Removed unused HAS_MCUX_* configs
Remove the configs that are not actually used for anything anymore or
never were, or that are redundant with other configs, and don't have any
code changes outside of Kconfig to remove.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-08-15 10:10:32 +03:00
Declan Snyder
5f742ac862 modules: nxp: imx: Remove HAS_IMX_* configs
Remove all these legacy configs which are not necessary.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-08-15 10:10:32 +03:00
Declan Snyder
83420a7139 modules: hal_nxp: Remove CONFIG_HAS_MCUX_FLEXCOMM
The presence of the flexcomm should be driven by DT, not this legacy
kconfig.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-08-15 10:10:32 +03:00
Tomas Galbicka
001633c13d boards: nxp: mimxrt1180_evk: Add support for CM7 flash execution
Add support for executing the CM7 core directly from flash memory
(XIP - eXecute In Place) instead of copying to ITCM. This provides
the following benefits:

- Allows for larger code size than the 512KB ITCM limit
- Simplifies memory management for large applications
- Reduces boot time by eliminating the need to copy code to ITCM

The implementation includes:

1. A new Kconfig option CM7_BOOT_FROM_FLASH (default: n) to control
   the execution mode
2. A device tree overlay (cm7_flash_boot.overlay) that configures
   the flash memory for CM7 execution
3. Updates to soc.c to calculate the correct CM7 boot address
   based on the flash partition
5. Documentation updates with instructions for both execution modes

Signed-off-by: Tomas Galbicka <tomas.galbicka@nxp.com>
2025-08-14 15:48:33 +02:00
Vit Stanicek
30e053ca2c soc: mimxrt798s/hifi4: Disable GPIO support
Remove INPUTMUX interrupt assignments for PINT and GPIO peripherals.
Remove gpio0 DT node.

As the GPIO peripherals can be secured on the mimxrt798s, accesses from
the cm33_cpu0 and hifi4 are mutually exclusive, so the GPIO0 will stay
enabled in the cm33_cpu0 domain.

Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
2025-08-13 11:09:32 +01:00
Jiafei Pan
7d747f5a2e soc: imx95: a55: add netc power and clock init in soc.c
Power up NETCMIX and configure netc clock in soc_init().

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2025-08-13 11:08:39 +01:00
Yongxu Wang
e0e40165ee soc: nxp: imx95: setup m7mix and wakeupmix power on in suspend mode
wakeupmix keep power on state is essential for system
suspend mode, because of console uart locate in it.

temporarily set the M7 mix to power on,
further optimization will be carried out later

Signed-off-by: Yongxu Wang <yongxu.wang@nxp.com>
2025-08-13 11:08:00 +01:00
Yongxu Wang
ae974a2263 soc: nxp: imx9: add basic pm process for i.MX95 M7
add basic pm_state_set and pm_state_exit_post_ops

Signed-off-by: Yongxu Wang <yongxu.wang@nxp.com>
2025-08-13 11:08:00 +01:00
Mahesh Mahadevan
fd3adad019 soc: nxp: rw: Move the code for pin configuration in sleep mode to SoC file
All pins are configured by default to be output low during sleep.
A device-tree property called "sleep-output" is provided for cases where
pins need to be configured differently.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-08-12 21:33:34 +02:00
Mahesh Mahadevan
94f93405c1 dts: nxp: Add sleep-output property
This property allows a user to specify the operation of a
pin in sleep mode.
By default, pins are configured to be output low in sleep mode.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-08-12 21:33:34 +02:00
Marcin Szkudlinski
51d3c7aa07 mm: add external control to virtual memory regions
this commit removes creation of virtual memory regions from
Zephyr, allowing the application to create required regions

It is up the application to use virtual memory as needed,
zephyr however is keeping the table and ensures no memory
addresses overlaps

Signed-off-by: Marcin Szkudlinski <marcin.szkudlinski@intel.com>
2025-08-12 21:33:20 +02:00
Ilya Tagunov
6a427995b0 soc: snps: rmx: replace custom buildlib with generic RMX linker option
Do not use the custom buildlib configuration for the RMX series as it
was replaced with several even more specific configurations in the
recent MWDT release. Pass the generic RMX option to the linker instead.

Signed-off-by: Ilya Tagunov <Ilya.Tagunov@synopsys.com>
2025-08-12 21:32:18 +02:00
Tomasz Leman
bfdab166e3 intel_adsp: Introduce ACE 4.0 architecture with NVL/NVL-S platforms
Introduce the ACE 4.0 architecture, along with support for the NVL and
NVL-S platforms within the Intel ADSP framework in the Zephyr project.

This update includes:

- Addition of ACE 4.0 architecture configurations in Kconfig and
  Kconfig.intel_adsp.
- Inclusion of device tree source files for NVL and NVL-S platforms,
  defining CPU, memory, and peripheral configurations.
- Updates to driver files to support ACE 4.0 specific features,
  including DMIC and SSP configurations.
- Introduction of new header files for ACE 4.0, detailing boot,
  interrupt, IPC, power, and shim functionalities.
- Modifications to the CMakeLists.txt to include ACE 4.0 MMU support.
- Addition of default configurations for NVL and NVL-S platforms in
  Kconfig.defconfig.ace40.

The NVL and NVL-S platforms are part of the Nova Lake series, targeting
advanced audio processing capabilities. ACE 4.0 introduces enhanced DSP
capabilities and advanced power management features, improving audio
stream handling and synchronization compared to ACE 3.0.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Signed-off-by: Serhiy Katsyuba <serhiy.katsyuba@intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2025-08-11 12:50:10 +03:00
Łukasz Stępnicki
bd412d7591 soc: nordic: ironside: dvfs: check abb analog status more than once
Added ABB analog status lock read retries if needed.
After cpu idle ABB macro may need some time to initialize
and report status locked. Attempts cound can be configured
using Kconfig option.

Signed-off-by: Łukasz Stępnicki <lukasz.stepnicki@nordicsemi.no>
2025-08-11 12:49:12 +03:00
Hau Ho
262fc25690 soc: renesas: rx: Initial support for RX261 SOC
This commit to initial support for RX261 SOC.

Signed-off-by: Hau Ho <hau.ho.xc@bp.renesas.com>
Signed-off-by: Phi Tran <phi.tran.jg@bp.renesas.com>
2025-08-11 12:48:35 +03:00
Jérôme Pouiller
7cb4584e3c soc: silabs: Fix SoC names
As discussed here[1], CONFIG_SOC should rely on CONFIG_SOC_* variables
while it currently rely on CONFIG_SOC_PART_NUMBER_*. These variable are in
fact misnamed since the migration to HWMv2. So "PART_NUMBER" has to be
removed from these names.

[1]: https://github.com/zephyrproject-rtos/ \
     zephyr/pull/93285#discussion_r2221382981

Note, this patch has been generated with:

    sed -i -e s/SOC_PART_NUMBER_MGM/SOC_MGM/   \
           -e s/SOC_PART_NUMBER_EF/SOC_EF/     \
           -e s/SOC_PART_NUMBER_SIM3/SOC_SIM3/ \
           -e s/SOC_PART_NUMBER_SIWG/SOC_SIWG/ \
           soc/**/*.soc boards/**/Kconfig.*

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-08-08 10:46:03 -05:00
Felix Wang
02546580be soc: nxp: imxrt: clock update for LPIT instances on RT118X
1. Configure clock source for lpit3 for imxrt118x devices
2. Support lpit in clock driver

Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
2025-08-08 10:44:24 -05:00