Commit graph

7,339 commits

Author SHA1 Message Date
Peter Wang
711af9863c boards: frdm_mcxaxx6: add frdm_mcxa366 board
1. the three boards share the same board schematic
   - frdm_mcxa266, frdm_mcxa346, frdm_mcxa366
2. board dts,kconfig and cmake file could share
3. add MCXA366 soc and frdm_mcxa366 board

Signed-off-by: Peter Wang <chaoyi.wang@nxp.com>
2025-09-30 11:02:57 +02:00
Peter Wang
b7ff3e1dc8 boards: frdm_mcxa: get SYS_CLOCK_HW_CYCLES_PER_SEC in soc dts
1. get SYS_CLOCK_HW_CYCLES_PER_SEC in soc dts

Signed-off-by: Peter Wang <chaoyi.wang@nxp.com>
2025-09-30 11:02:57 +02:00
Yongxu Wang
c992e1a11e soc: nxp: imx943: implement basic PM flow for Cortex-M cores
Add initial power management support for i.MX943 M-core (M33/M7)
This lays the foundation for multi-core PM handling on i.MX943

Signed-off-by: Yongxu Wang <yongxu.wang@nxp.com>
2025-09-30 10:57:43 +02:00
Marek Matej
d49e6c12d8 soc: espressif: common: Fix startup loader message
Improve how segment information looks like for MCUboot and SimpleBoot.

* silently igonore padding segments (if VMA is 0x0)
* do not duplicate mapped segments lines (IROM and DROM)
* fix IROM segments taht was incorrectly labeled as IRAM

Signed-off-by: Marek Matej <marek.matej@espressif.com>
2025-09-29 12:47:34 -04:00
Zhaoxiang Jin
41a0865043 boards: nxp: Convert enum members to upper case.
1. Convert enum members to upper case.
2. Remove extra underscores from header names

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2025-09-29 12:45:50 -04:00
Daniel Leung
cf7e2e63c1 soc: intel_adsp: rework host IPC using IPC service
This reworks the Intel audio DSP host IPC driver as a backend of
the IPC service. This is the first step to rework IPC in SOF
(Sound Open Firmware) into using a more generic IPC API instead
of a SoC specific one.

For now, it keeps the old interface to maintain usability
as it is going to be a multiple process to rework IPC
over there.

Also, the structure of the new IPC backend resembles
the SoC specific driver to make it easier to compare
between them at this first iteration. Future optimizations
will probably be needed once we start modifying the SOF
side to utilize the IPC interface.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2025-09-29 12:42:00 -04:00
Daniel Leung
d910306fd0 soc: intel_adsp: remove IDC dt default for CONFIG_INTEL_ADSP_IPC
The SoC specific IPC driver is for host IPC, and not IDC (which
is between CPUs). So there is no need to use the IDC devicetree
binding to enable the kconfig.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2025-09-29 12:42:00 -04:00
Sebastian Bøe
7c9275c891 soc: nordic: uicr: Add support for uicr.PROTECTEDMEM
Add support for PROTECTEDMEM.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2025-09-29 12:39:33 -04:00
Sebastian Bøe
9f45d2ccd7 soc: nordic: uicr: Add support for uicr.SECONDARY.PROCESSOR
Add support for uicr.SECONDARY.PROCESSOR.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2025-09-29 12:39:33 -04:00
Krzysztof Chruściński
d10ee98ee8 soc: nordic: common: dmm: Add optional usage stats
Add support for getting usage statistics for DMM.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-09-29 12:36:47 -04:00
Krzysztof Chruściński
decdb30b05 soc: nordic: common: dmm: Optimize by using a micro heap
Add micro heap implementation which is using one or more 32 bit masks
to allocate quickly blocks. It is significantly better than using
sys_heap. Difference is especially big on RAM3 heap because heap
control data is in RAM3 space so operations there were extremely
slowly (15 us to allocate a buffer).

Simplified implementation of the heap requires DMM API change as
release functions need to know the length of the allocated buffer as
simple heap requires that (buffer address is enough for the standard
heap).

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-09-29 12:36:47 -04:00
Krzysztof Chruściński
ff3e0180ad soc: nordic: common: dmm: Optimize memcpy
Default memcpy used in zephyr is not optimized and performs simple
byte by byte copying. Using double word or word access can significantly
reduce copying time especially for RAM3 (slow peripheral RAM).

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-09-29 12:36:47 -04:00
Andrew Featherstone
cb1e51b4df soc: rp2350: Add initial support for the Hazard3 cores
The RP2350 SoC series contain two Hazard3 cores, which use the RISC-V
instruction set. Define a new CPU cluster (`hazard3`), which is intended
to be used with the two Hazard3 cores 'plugged in' to the two 'sockets'
in the RP2350 series SoCs.

Update the linker script to support linking against the correct
(ISA-specific) linker script, and to generate a correct IMAGE_DEF for
the target ISA.

Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
2025-09-29 12:30:28 -04:00
Andrew Featherstone
80a54a89cd drivers: intc: RP2350: Add initial support for Hazard3
The RP2350 uses the Xh3irq interrupt controller, which supports nested
and prioritised interrupts. This adds initial support, configuring the
controller in 'direct' (non-vectored) mode.

Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
2025-09-29 12:30:28 -04:00
Allen Zhang
45035bef67 soc: mcxw7xx: Fixed the wrong path of sections.ld
After creating mcxw7xx subfolder in mcxw, the path to sections.ld
needs to be updated.

Signed-off-by: Allen Zhang <chunfeng.zhang@nxp.com>
2025-09-29 09:57:44 +02:00
Vincent Tardy
f530ffc033 soc: stm32: add 802.15.4 support for STM32WBA
Add 802.15.4 support in hci_if files

Signed-off-by: Vincent Tardy <vincent.tardy@st.com>
2025-09-26 20:44:45 -04:00
Mahesh Mahadevan
30ad0ee2a6 soc: rw612: Reinitialize the GDET sensor and Voltage rails
Before re-entering Power Mode 3, we should disable the GET
sensor and reinitialize the power rails.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-09-26 16:01:22 -04:00
Ren Chen
eba8f3a3eb soc: ite: it8xxx2: enable firmware control mode for elpm
This commit enables firmware control mode for elpm by default.

Signed-off-by: Ren Chen <Ren.Chen@ite.com.tw>
2025-09-26 11:07:54 +02:00
Karsten Koenig
19f709910f soc: nordic: common: uicr: Add GRTC fast clkout
Add the mapping for the GRTC_CLKOUT_FAST pinctrl mapping to the
periphconf generation. This allows clocking out the 16MHz clock with a
user selectable divider.

Signed-off-by: Karsten Koenig <karsten.koenig@nordicsemi.no>
2025-09-25 14:19:22 -04:00
Lucien Zhao
beb7114f0d soc: nxp: imxrt: add c parts for RT1180
add c parts for RT1180

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2025-09-25 14:18:16 -04:00
Lucien Zhao
c503850cd4 boards: nxp: rt1180: migrate mpu setting under board folder
- add NXP_BOARD_SPECIFIC_MPU_SETTINGS kconfig to provide a switch
  for developer if they want to use private mpu settings
    CONFIG_NXP_BOARD_SPECIFIC_MPU_SETTINGS==1  | NXP default setting
    CONFIG_NXP_BOARD_SPECIFIC_MPU_SETTINGS==0  | User specific

- Use DT function to get memory base address and region size for cm7

- CM33 use dts to set mpu settings

- Add REGION_CUSTOMED_MEMORY_SIZE macro provide a common mapping ways
  to map actual memory_size_kb to "region_size"

-  The settings of the unified memory on cm33/cm7 cores:
    ocram1/flexspi2 -> REGION_RAM_NOCACHE_ATTR
    ocram2/dtcm -> REGION_RAM_NOCACHE_ATTR
    flexspi/itcm -> REGION_FLASH_ATTR

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2025-09-25 14:17:57 -04:00
Khoa Tran
c0cdf02b4f soc: renesas: ra: Add support Renesas RA8T2 SoC
Add support Renesas RA8M2 SoC

Signed-off-by: Khoa Tran <khoa.tran.yj@bp.renesas.com>
2025-09-25 11:02:54 +02:00
Tomas Galbicka
4a6a969bbe soc: RT700 add custom MPU regions for non-cache memory
This commit adds custom MPU regions for RT700 CM33 CPU0 to
define non-cachable region for SRAM.

Signed-off-by: Tomas Galbicka <tomas.galbicka@nxp.com>
2025-09-25 10:58:01 +02:00
Tomas Galbicka
5dd659ebc0 soc: NXP RT700 add support to boot CM33 CPU1
This commit adds multicore support to copy CM33 CPU1 image
from flash to RAM where it will boot from.

Also added NXP_IMXRT_BOOT_HEADER=y for CPU0 so it can be booted
from FlexSPI Flash.

Signed-off-by: Tomas Galbicka <tomas.galbicka@nxp.com>
2025-09-25 10:58:01 +02:00
Jamie McCrae
69ce66d491 soc: nordic: nrf54l: Set ROM_START_OFFSET instead of by each board
Sets the default of this Kconfig for the SoC itself as a default,
rather than each board setting it, which minimises the change

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2025-09-25 09:25:21 +02:00
Aksel Skauge Mellbye
82318f0aab soc: silabs: Add complete xg27 soc family
Add efr32bg27 and efr32mg27 socs.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-09-24 19:19:16 -04:00
Arunprasath P
43f1c27bdd drivers: pinctrl: microchip: Fix header include style
Fixed the include directive for mchp_pinctrl_pinmux_sam.h
by replacing quotes with angle brackets.

Signed-off-by: Arunprasath P <arunprasath.p@microchip.com>
2025-09-24 19:19:04 -04:00
Arunprasath P
b65a0ffca8 modules: Reorganize directory structure and update Kconfig symbols
- Update the path of pinctrl.h in sama7g54_ek.dts
- Select CONFIG_MICROCHIP_SAM for sama7g5 family devices
- Add SAM group Kconfig symbol for proper family grouping
- Rename PIC32C Kconfig symbol to MICROCHIP_PIC32C
  and update references
- Update west.yml for hal-microchip re-organization

Signed-off-by: Arunprasath P <arunprasath.p@microchip.com>
2025-09-24 19:19:04 -04:00
Zhaoxiang Jin
c54aaeb287 boards: lpcxpresso55s36: Support opamp on lpcxpresso55s36
1. Add opamp node for lpc55S36.
2. Support opamp for lpcxpresso55s36.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2025-09-24 19:18:11 -04:00
Mahesh Mahadevan
e0e50fa869 soc: nxp: mcxw7xx: Fix MISRA compliance
Add curly braces around the while block

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-09-24 19:17:22 -04:00
Allen Zhang
da307aaed3 soc: mcxw: Move mcxw2x into mcxw and creat mcxw7x subfolder
move mcxw2x into mcxw and created mcxw7x subfolder for mcxw71/mcxw72

Signed-off-by: Allen Zhang <chunfeng.zhang@nxp.com>
2025-09-24 19:17:22 -04:00
Allen Zhang
438a628568 soc: mcxw235,mcxw236: add SOC support for MCXW235 and MCXW236
add soc MCX235 and MCXW236 for board frdm_mcxw23

Signed-off-by: Allen Zhang <chunfeng.zhang@nxp.com>
2025-09-24 19:17:22 -04:00
Bjarki Arge Andreasen
1767f131aa pm: refactor PM_S2RAM_CUSTOM_MARKING option to be promptless
The config PM_S2RAM_CUSTOM_MARKING is not an optional config for a
user to select, it is required by some soc implementations of S2RAM,
in which case it must be selected by the soc.

Refactor the configuration to be HAS_PM_S2RAM_CUSTOM_MARKING, and
make the currently only soc which needs it select it. Then update
samples which previously had to select this option for this soc.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-09-23 12:07:59 -04:00
Mohamed Azhar
6241d249a9 drivers: pinctrl: microchip: update pinctrl driver for Port G1 IP
Update pinctrl driver for Microchip Port G1 Peripheral IPs

Signed-off-by: Mohamed Azhar <mohamed.azhar@microchip.com>
2025-09-23 09:41:05 +01:00
Quy Tran
28aa503792 soc: renesas: rx: Add missing SOC_EARLY_INIT_HOOK for RX
Add missing SOC_EARLY_INIT_HOOK for Renesas RX

Signed-off-by: Quy Tran <quy.tran.pz@renesas.com>
2025-09-23 09:40:12 +01:00
Hoang Nguyen
f284a583ac soc: renesas: Add condition to select arm_arch_timer driver for RZ/A3UL
Select ARM_ARCH_TIMER when RZ_OS_TIMER is not selected

Signed-off-by: Hoang Nguyen <hoang.nguyen.jx@bp.renesas.com>
Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>
2025-09-23 09:39:35 +01:00
Ioannis Karachalios
4c575732e2 soc: renesas: smartbond: Update I-cache re-configuration scheme
This commit should deal with updating the re-configuration of the
I-cache controller when buidling for mcuboot. Previously, the whole
controller was updated, given that a slot entry adheres to controller's
peculiarities (that is an image should be aligned to specific image sizes
i.e. 256kB, 512kB, etc). However, that approach should adversely affect
flash memoy layout. The proposed scheme now imposes that images be aligned
to minimum cache-able area, that is 64KB.

Signed-off-by: Ioannis Karachalios <ioannis.karachalios.px@renesas.com>
2025-09-23 09:39:15 +01:00
Benjamin Cabé
d7a5d84b1c boards: snps: use correct revision scheme
revisons must be major.minor.patch so add the missing patch

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-09-22 17:49:08 -04:00
Dong Wang
57ae93e8e3 soc: ish: Move PM init into power.c and connect IRQs in it
- Add SOC interrupt properties and interrupt-names ("reset_prep", "pcidev",
  "pmu2ioapic") to intel_ish5 DTS files so PM IRQs are discoverable via DT.
- Move SEDI PM initialization and IRQ setup into ISH SOC PM init:
- Remove the direct call to sedi_pm_init() from soc_early_init_hook in
soc.c.
Previously SEDI code has those IRQ numbers hard coded and calls Zephyr APIs
to connect IRQs, which should be avoided.

Signed-off-by: Dong Wang <dong.d.wang@intel.com>
2025-09-22 13:30:55 -04:00
Dong Wang
b64e30b119 soc: intel_ish: Improve ISH PM logging
- cleanup header files included.
- Rename LOG_MODULE_REGISTER from pm_service to ish_pm and use
  CONFIG_PM_LOG_LEVEL.
- Guard verbose debug traces so they only print for suspend-to-RAM/long
  idle states, reducing runtime noise.
- Promote an unsupported power state message from LOG_DBG to LOG_ERR.

No functional change to power handling; changes are limited to logging
and verbosity control.

Signed-off-by: Dong Wang <dong.d.wang@intel.com>
2025-09-22 13:30:55 -04:00
Ioannis Karachalios
4195770b62 soc: renesas: smartbond: Select ARM DWT feature
Select ARM DWT feature to suppress build warning related to null pointer
detection mechanism.

Signed-off-by: Ioannis Karachalios <ioannis.karachalios.px@renesas.com>
2025-09-22 13:29:36 -04:00
Sebastian Bøe
38a0f713a6 soc: nordic: uicr: Add support for SECURESTORAGE
Add UICR.SECURESTORAGE configuration based on device tree partitions.
Validates partition layout and populates size fields in 1KB units.
Handles missing partitions gracefully.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2025-09-22 13:28:55 -04:00
Khoa Tran
00d18a6113 soc: renesas: ra: Change the counter of g_protect_counters
Change the counter value of g_protect_counters following HAL

Signed-off-by: Khoa Tran <khoa.tran.yj@bp.renesas.com>
2025-09-22 09:52:27 +02:00
Zhaoxiang Jin
39f6b5e9e3 soc: nxp: imxrt: Convert camel case to snake case
Convert camel case to snake case

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2025-09-20 11:10:05 +02:00
Mahesh Mahadevan
efe34d04d2 drivers: nxp: Use a MACRO to enable Wakeup signals
Switch to using the new NXP_ENABLE_WAKEUP_SIGNAL and
NXP_DISABLE_WAKEUP_SIGNAL macros to avoid adding
platform specific calls in the Zephyr drivers.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-09-20 11:09:00 +02:00
Mahesh Mahadevan
b0624af741 soc: nxp: Add Macros to handle variation in managing Wakeup IRQ
The SDK code to handle managing Wakeup IRQ's for low power mode
varies between SoC's.
Add a MACRO that can be called by the Zephyr drivers so we
can manage these variations without adding SoC specific code
to the drivers.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-09-20 11:09:00 +02:00
Mahesh Mahadevan
fd040a40c0 soc: nxp: Add common folder to the include path
This will allow us to add header files to the
common folder

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-09-20 11:09:00 +02:00
Alexandre Rey
65880fab56 soc: nxp: replace WDOG_ENABLE_AT_BOOT by WDT_DISABLE_AT_BOOT
Using WDT_DISABLE_AT_BOOT instead of WDOG_ENABLE_AT_BOOT prevents the
definition of z_arm_watchdog_init, which is important because the COP
watchdog configuration register can only be configured once.

Signed-off-by: Alexandre Rey <alx.rey@icloud.com>
2025-09-20 11:08:45 +02:00
Almir Okato
786c9fb35e flash: espressif: erase region before writing if encryption enabled
Ensuring flash region has been erased before writing to avoid
inconsistences and force expected erased value (0xFF) into
flash when erasing a region when Hardware Flash Encryption is
enabled
This is handled on this implementation because MCUboot's state
machine relies on erased valued data (0xFF) readed from a
previously erased region that was not written yet, however when
hardware flash encryption is enabled, the flash read always
decrypts whats being read from flash, thus a region that was
erased would not be read as what MCUboot expected (0xFF).

Signed-off-by: Almir Okato <almir.okato@espressif.com>
2025-09-19 17:57:07 -04:00
Almir Okato
f6a2821b23 soc: espressif: move flash_mmap and esp_flash_api to iram/dram sections
Move both objects to IRAM/DRAM sections.

Signed-off-by: Almir Okato <almir.okato@espressif.com>
2025-09-19 17:57:07 -04:00