Commit graph

7,339 commits

Author SHA1 Message Date
Thomas Decker
0b4e13e77f soc: silabs: silabs_s2: fix include app_version.h
Fix include of app_version.h (see PR #63973).

Signed-off-by: Thomas Decker <decker@jb-lighting.de>
2025-12-08 06:13:34 -05:00
Alexandre Rey
d0e8180e60 soc: nxp: fix DISABLE_WDOG value if WDT is not disabled at boot
If CONFIG_WDT_DISABLE_AT_BOOT is not defined (i.e. WDT should be enabled
at boot), DISABLE_WDOG should be 0 (disabled).

Signed-off-by: Alexandre Rey <alx.rey@icloud.com>
2025-12-08 06:13:00 -05:00
Ren Chen
7654e3a4ed soc: it8xxx2: block idle if timer is close to expiration
If the event timer or free-run timer is close to expiration when
system enters idle with I2C target DMA mode enabled, the memory
and CPU clocks may become unsynchronized after wakeup. This
causes CPU to fetch incorrect data and eventually trigger SoC
watchdog timeout.

Due to this hardware limitation, SoC should skip entering idle
mode if the remaining timer value is less than 150µs(safe margin).

Signed-off-by: Ren Chen <Ren.Chen@ite.com.tw>
2025-12-08 06:12:16 -05:00
Bjarki Arge Andreasen
8bd82dce88 nordic: nrf54h: bicrgen: patch lfosc lfxo accuracy parsing
The accuracy field of lfocs lfxo is incorrectly parsed from the SVD
file. Instead of stripping the "ppm" from the value before converting
it to an int, we are taking only the first three digits. This works
for 500ppm, but not for 20ppm.

Patch to strip last three digits instead.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-12-08 06:11:35 -05:00
Josuah Demangeon
8212b0835b soc: microchip: mec: add missing GPIO reg include in soc.h
Complement #99761 that added register includes to too few files.
Fix build error for some boards using these SoCs.

Signed-off-by: Josuah Demangeon <josuah.demangeon@nordicsemi.no>
2025-12-06 15:50:03 -05:00
Scott Worley
cd6d7c9515 drivers: gpio: microchip: mec: One common driver for all MEC parts
Microchip MEC parts have a similar GPIO peripheral block. We
create a unified driver for all parts. NOTE: MEC GPIO interrupt
detection sets active status when changed from interrupt detect
disabled to any enabled mode. Driver ISR and interrupt configuration
implementation includes work-arounds for this issue.

Signed-off-by: Scott Worley <scott.worley@microchip.com>
2025-12-06 11:38:34 -05:00
Hake Huang
68937acbb8 soc: nxp: kinetis: ke1xz: add LPFLL clock support to SCG
LPFLL (soc: scg: "lpfll_clk") clock source can be now selected
in KE1xz Device tree (nxp_ke1xz.dtsi., board.dts or overlay)
Tested on boards: frdm_ke15z, frdm_ke17z, frdm_ke17z512

Signed-off-by: Michael Galda <michael.galda@nxp.com>
Signed-off-by: Hake Huang <hake.huang@nxp.com>
2025-12-06 07:12:52 -05:00
Thomas Hebb
e1b6de46d2 soc: nxp: imxrt: Initialize FlexRAM before first stack use
If the stack is in ITCM, DTCM, or FlexRAM OCRAM, flexram_dt_partition()
may change its contents. The comment on flexram_dt_partition()
acknowledges that, stating that it's inlined because it "cannot use
[the] stack". But we currently call SystemInit(), which is not inlined
and does use the stack, prior to flexram_dt_partition()! Fix that issue
by reordering the calls.

It seems to me that flexram_dt_partition() would be safer as a
soc_early_reset_hook implemented in assembly, but this fix does work for
the moment. Tested on an i.MX RT1061, with the stack in FlexRAM OCRAM
and entering Zephyr with all FlexRAM allocated to ITCM and DTCM.

Signed-off-by: Thomas Hebb <tommyhebb@gmail.com>
2025-12-06 07:10:57 -05:00
Thomas Hebb
799ac970d4 soc: nxp: imxrt: Initialize FlexRAM before first stack use
If the stack is in ITCM, DTCM, or FlexRAM OCRAM, flexram_dt_partition()
may change its contents. The comment on flexram_dt_partition()
acknowledges that, stating that it's inlined because it "cannot use
[the] stack". But we currently call SystemInit(), which is not inlined
and does use the stack, prior to flexram_dt_partition()! Fix that issue
by reordering the calls.

It seems to me that flexram_dt_partition() would be safer as a
soc_early_reset_hook implemented in assembly, but this fix does work for
the moment. Tested on an i.MX RT1061, with the stack in FlexRAM OCRAM
and entering Zephyr with all FlexRAM allocated to ITCM and DTCM.

Signed-off-by: Thomas Hebb <tommyhebb@gmail.com>
2025-12-06 07:10:57 -05:00
Jonathan Nilsen
b1c68f53c9 soc: nordic: uicr: Parse pinctrls for local domain peripherals
Generate PERIPHCONF SPU/CTRLSEL entries based on pinctrl properties
on the local domain peripherals as well as the global ones.
This fixes an issue where the required pin configuration was not
generated for the pinctrls on the radio local domain GPIOTE0 on
nrf54h20.

The secure attribute of nodes without an address and without a bus node
are now interpreted as being secure by default, instead of failing with
an error. This prevents the parsing of certain nodes from triggering
failing the build (in particular the 'ieee802154' node in
cpurad_peripherals).

Signed-off-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
2025-12-05 11:13:03 -05:00
Jacky Lee
46b9326bfd soc: egis_et171: Fix the i-cache activation order issue
Since caching is enabled before z_data_copy(), RAM
functions may still be cached in the d-cache instead
of being written to SRAM. In this case, the i-cache
will fetch the wrong content from SRAM. Thus, using
"fence.i" to fix it.

Signed-off-by: Jacky Lee <jacky.lee@egistec.com>
2025-12-05 10:52:33 +02:00
Axel Le Bourhis
5a2c28236e soc: nxp: mcxw23: increase system workque stack size when BT
Fix sysworkq stack overflow in various bluetooth samples due to using
mbedtls for crypto.

Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
2025-12-04 14:02:41 -05:00
Mohamed Azhar
3c79fb39a0 drivers: pinctrl: microchip: update pinctrl driver for Port G1
Updates G1 pinctrl driver

Signed-off-by: Mohamed Azhar <mohamed.azhar@microchip.com>
2025-12-04 05:24:51 -05:00
Yves Wang
e0cf011c9a dts: nxp: add edac support for MCX platforms
Add eim, erm and edac instance for frdm_mcxa153, frdm_mcxn236,
frdm_mcxn947, frdm_mcxe247 and frdm_mcxe31b.

Signed-off-by: Yves Wang <zhengjia.wang@nxp.com>
2025-12-04 05:24:28 -05:00
Michał Stasiak
46e90f93f5 soc: nordic: nrf_sys_event: handle errors correctly
nrfx_power_constlat API returns negative value if
the requested action has no effect, which is expected
in cases of multiple requests/releases. Align nrf_sys_event
to not treat it as an error.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2025-12-04 05:21:55 -05:00
Alvis Sun
e69bbfc55c drivers: adc: npcx: add-v2t support for npck3
Please note that when performing conversions,
the selected channels must all be of the same type
(either ADC raw or V2T.)

Mixing ADC and V2T channels in a single conversion sequence is
not supported.

Signed-off-by: Alvis Sun <yfsun@nuvoton.com>
2025-12-04 05:21:24 -05:00
Holt Sun
6cacb70092 soc: nxp: lpc55XXX: add cache support for LPC55S36
Enable instruction cache support for LPC55S36 SoC:
- Select CPU_HAS_ICACHE and HAS_MCUX_SYSCON_LPCAC
- Enable CACHE_MANAGEMENT and EXTERNAL_CACHE by default
- Set ICACHE_LINE_SIZE to 256 bytes

This enables the SYSCON LPCAC cache driver for improved
performance on the LPC55S36 SoC.

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2025-12-03 15:37:50 -05:00
Martin Hoff
4f1313b0ad soc: silabs: siwx91x: unique place for sys clock tick definition
This patch put in the same place the default value for
SYS_CLOCK_TICKS_PER_SEC. It also apply the sleeptimer clock frequency
when sleeptimer is used for sys clock.

Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
2025-12-03 15:37:09 -05:00
Martin Hoff
e524c1f51e soc: silabs: siwx91x: define hardware sys clock from dts
This patch introduce configuration of the symbol
'SYS_CLOCK_HW_CYCLES_PER_SEC' with dts entry rather than a hardcoded
value.
Clock control on siwx91x needs to use the clock frequency of the cpu
to init rather than the 'SYS_CLOCK_HW_CYCLES_PER_SEC' symbol,
otherwise we initialize the m4 clock with the ULP ref clock.

Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
2025-12-03 15:37:09 -05:00
Rahul Gurram
e02845b7cb drivers: wifi: siwx91x: To improve SiWx91x performance
To enhance throughput performance on the SiWx91x series, Added
some Siwx91x configurations by deafult.

Signed-off-by: Rahul Gurram <rahul.gurram@silabs.com>
2025-12-03 10:40:10 -05:00
Krzysztof Chruściński
be27fa38b4 soc: nordic: common: gppi_init: Move initialization earlier
GPPI initialization shall be executed as early as possible.
Add _ prefix to the initialization function to reduce chances that
other function calls uninitialized GPPI.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-12-03 10:38:57 -05:00
Tony Han
39fde55680 soc: microchip: sam: update MMU for sama7g5 SHA
When SHA is activated in the DT, configure it's register region with
strong ordered, read and write access.

Signed-off-by: Tony Han <tony.han@microchip.com>
2025-12-03 09:11:40 -05:00
Sunil Abraham
a280bb5b9d drivers: clock_control: PIC32CM_JH: Add clock control driver
Add clock control driver.
Implement bootup clock initialization, on, off and get_rate API.

Signed-off-by: Sunil Abraham <sunil.abraham@microchip.com>
2025-12-03 09:10:52 -05:00
Haoran Jiang
7ebf5091c2 soc: sifli: sf32lb52x: Add pinctrl definition
- Add helper macros related to sifli,analog
- Standardize driver level descriptions to `DS` instead of `DS0`

Signed-off-by: Haoran Jiang <halfsweet@halfsweet.cn>
2025-12-03 11:44:28 +01:00
Holt Sun
888bd699d5 soc: nxp: mcx: mcxe24x: enable LMEM I-cache and cache management
Select CPU_HAS_ICACHE and HAS_MCUX_LMEM_CACHE.
Default CACHE_MANAGEMENT=y and select EXTERNAL_CACHE.
Prepares MCXE24x to use the LMEM cache driver.

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2025-12-03 11:41:13 +01:00
Scott Worley
91e7959c94 soc: microchip: mec: Add MEC165xB chip series
We add Microchip MEC165xB SoC series.

Signed-off-by: Scott Worley <scott.worley@microchip.com>
2025-12-02 18:41:18 -05:00
Camille BAUD
20c16ee36b soc: bflb: Enable Flash Controller
Enable the flash controller. Relocation is required.

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-12-02 15:23:13 -05:00
Martin Hoff
ff3637bf83 soc: silabs: siwx91x: enabled clock control by default for siwx91x soc
Enable clock control by default for siwx91x SoCs. Moreover, most
drivers for siwx91x soc depend on clock control, but didn't declare
it.

Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
2025-12-02 15:18:53 -05:00
Mathieu Choplain
bfef7e6de9 soc: st: stm32: reorganize family-wide common Kconfig
Split STM32 family-wide common Kconfig in two separate files: a new Kconfig
file `soc/st/stm32/common/Kconfig` to hold options that affect the common
code found in the same directory, and the existing top-level Kconfig file
`soc/st/stm32/Kconfig` which now only holds options used by multiple series
but not consumed by the common code - for example, options that are used by
SoC-specific code or consumed by the STM32Cube HAL module go in this file.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-12-02 16:16:13 +00:00
Mathieu Choplain
236e0d0765 soc: st: stm32: use autogenerated compatible Kconfig macro variables
Instead of defining our own, use the DT_COMPAT_<> macro variables generated
by the build system inside the STM32 SoC Kconfig file.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-12-02 16:16:03 +00:00
Yasushi SHOJI
912dd66608 boards: sc: Add SC-OBC module V1 support
Add initial board support for the Space Cubics SC-OBC Module V1. The
hardware is based on an AMD Versal AI Edge VE2302 and a Microchip
IGLOO2. This Zephyr port runs on the Versal device’s Real-Time Processing
Unit (dual Arm Cortex-R5F).

This commit is the first in the series and only supports the basic devices
needed to run samples/hello_world and samples/philosophers. Specifically,
it adds the Cortex-R5F, UARTs, and the GIC interrupt controller.

Signed-off-by: Yasushi SHOJI <yashi@spacecubics.com>
2025-12-02 16:15:49 +00:00
Sumit Batra
3edbc3762c soc: nxp: s32k3: gate IVT emission when chain-loaded by MCUboot
Emit the IVT section and IVT header only when XIP and the image is either
a standalone XIP app or MCUboot itself. Do not emit the IVT when the
Zephyr image is chain-loaded by MCUboot (BOOTLOADER_MCUBOOT=y).

- linker.ld/sections.ld: place .ivt_header at IVT_HEADER only under
XIP && (!BOOTLOADER_MCUBOOT || MCUBOOT).
Provide __ivt_region_start/end symbols.
- soc.c: guard IVT struct under the same condition and mark it 'used'
so the linker keeps it when needed.
- Kconfig.defconfig - Make the bootloader and the sign tool compatible
with the vector table.

This avoids populating 0x400000 IVT from the app image while retaining it
for MCUboot or standalone XIP use-cases.

Files:
- soc/nxp/s32/s32k3/linker.ld
- soc/nxp/s32/s32k3/sections.ld
- soc/nxp/s32/s32k3/soc.c
- soc/nxp/s32/s32k3/Kconfig.defconfig

Signed-off-by: Sumit Batra <sumit.batra@nxp.com>
2025-12-02 16:12:51 +00:00
Sumit Batra
1b2517b9b6 soc: nxp s32k3: derive sys clock from devicetree
Use devicetree to provide the system clock frequency for S32K3
instead of hardcoding it in board defconfigs.

- Add clock-frequency to /cpus/cpu@0 in nxp_s32k344_m7.dtsi using
DT_FREQ_M(160).
- Define DT_SYSCLK_PATH and derive SYS_CLOCK_HW_CYCLES_PER_SEC from
the sysclk node via dt_node_int_prop_int() when CORTEX_M_SYSTICK.
- Remove CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC from mr_canhubk3

This keeps the clock configuration in a single SoC-level place,
aligns S32K3 with other NXP Cortex-M SoCs, and ensures both the
MCUboot and application builds share the same
SYS_CLOCK_HW_CYCLES_PER_SEC.

Signed-off-by: Sumit Batra <sumit.batra@nxp.com>
2025-12-02 16:12:51 +00:00
Tony Han
7e29ddadda soc: microchip: sam: common: update CMakeLists.txt for more obvious
The 'common' folder is under 'soc/microchip/sam' which contains both MCU
and MPU devices. Currently all the files in 'common' is for MPU. Adding
if(foo) in 'CMakeLists.txt' to make more obvious of where the files are
used.
Update soc/microchip/sam/common/CMakeLists.txt with combining the .c
files with the same usage into one 'zephyr_source' call.

Signed-off-by: Tony Han <tony.han@microchip.com>
2025-12-02 11:24:28 +01:00
Tony Han
9810eecad9 soc: microchip: sam: sama7: some optimize in Kconfig and CMakeLists.txt
Select MMU and CACHE_MANAGEMENT in 'config SOC_FAMILY_MICROCHIP_SAMA7'.
Replace 'config' with 'configdefault' for items in defconfig file.
Remove duplicated linker script in CMakeLists.txt in sama7d6 and sama7g5
directories, use the one in sama7 directory.

Signed-off-by: Tony Han <tony.han@microchip.com>
2025-12-02 11:24:28 +01:00
Tony Han
f703c2ee09 soc: microchip: sam: sama7: add sama7g54 (System-in-Package) SIP SoCs
Add SAMA7G5 series System-in-Package (SiP) MPUs to Kconfig.soc and
soc.yml, update the header files for them too.

Signed-off-by: Tony Han <tony.han@microchip.com>
2025-12-02 11:24:28 +01:00
Tony Han
0a9d1493a8 soc: microchip: sam: reorganize directory structure for sama7g5 series
Update directory structure to the following hierarchy for MPU devices:
  Product Architecture
    |__ SOC Series
          |__ Product Group
Move directory 'soc/microchip/sama7g5/' into 'soc/microchip/sama7/'.
Add sama7g5 to 'soc/microchip/sam/sama7/soc.yml'.
Remove the files under soc/microchip/sam due to they became useless
with the reorganization.

Signed-off-by: Tony Han <tony.han@microchip.com>
2025-12-02 11:24:28 +01:00
Arnaud Pouliquen
cfe2d71e24 soc: st: stm32mp13: fix KERNEL_DIRECT_MAP config usage
Fix config dependency between MMU KERNEL_VM_SUPPORT and KERNEL_DIRECT_MAP

This fix following build issue:

warning: KERNEL_DIRECT_MAP (defined at kernel/Kconfig.vm:83) has direct
dependencies MMU && KERNEL_VM_SUPPORT with value n, but is currently
being y-selected by the following symbols:
 - SOC_SERIES_STM32MP13X (defined at soc/st/stm32/stm32mp13x/Kconfig.soc:6,
   soc/st/stm32/stm32mp13x/Kconfig:6), with value y, direct dependencies y
   (value: y), and select condition SOC_FAMILY_STM32 (value: y)

Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
2025-12-01 12:25:16 -05:00
Ville Kujala
8883febbcf boards: nrf9280pdk: Merge cpuapp iron variant into the base variant
Replaces the legacy SDFW compatible board configuration with the
IronSide SE compatible one, thus removing support for running samples
and tests on nRF9280 devices with the old firmware.

Signed-off-by: Ville Kujala <ville.kujala@nordicsemi.no>
2025-12-01 12:24:42 -05:00
Jacky Lee
a29797d264 soc: egis_et171: add customize config value of fw size info
Allows applications to customize the firmware size information
for binary header optionally.

Signed-off-by: Jacky Lee <jacky.lee@egistec.com>
2025-12-01 12:22:44 -05:00
Ivan Pankratov
0aa208d51e dts: bluetooth: add base binding for BLE radio hardware capabilities
Create a shared base binding (ble-radio.yaml) for common Bluetooth LE
radio hardware capabilities to avoid duplication between vendors and
ensure consistent property naming across the ecosystem.

Properties are prefixed with 'ble-' and ordered chronologically by
Bluetooth Core Specification version (5.0, 5.1, 6.0). Each property
indicates a hardware capability, not current enablement state.

Signed-off-by: Ivan Pankratov <ivan.pankratov@silabs.com>
2025-12-01 12:22:33 -05:00
Martin Hoff
b78fe9f1aa drivers: power_domain: siwx91x: fix the link between pd and cpu state
This patch is needed to block the pm_state "PM_STATE_SUSPEND_TO_IDLE"
when a device on the power domain (actually all the peripherals) is
active. Without this patch, cpu can decide to go to deep sleep while
a peripheral is active.

Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
2025-12-01 11:11:23 +01:00
Aksel Skauge Mellbye
a83b19b3f9 soc: silabs: Fix clock control dependency declarations
Most drivers for Series 2 depend on clock control, but didn't
declare it. Enable clock control by default for Series 2 SoCs.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-12-01 11:11:14 +01:00
Martin Hoff
29fb893bab soc: silabs: siwx91x: removed sscanf for nwp firmware version check
This patch removes the use of sscanf to maintain compatibility with
tests that use the minimal cpp library. The expected version is now
defined using multiple individual values rather than a single
formatted string.

Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
2025-12-01 11:08:51 +01:00
Dmitrii Sharshakov
e3ef835ffe soc: raspberrypi: rp2350: imply XIP
Imply XIP from the SoC config to make XIP the default to match the
behaviour between Cortex-M33 and Hazard3 variants.

This fixes cbe6a716d3, which stopped
selecting XIP at the SoC level.

Signed-off-by: Dmitrii Sharshakov <d3dx12.xx@gmail.com>
2025-11-28 20:58:32 -05:00
Haoran Jiang
40accad696 soc: sifli: sf32: Add SF32LB52 platform ftab generation
Using the `gen_ftab.py` script, we can retrieve the current image
distribution information from the device tree and generate the
corresponding `ftab.bin` file. This eliminates the need to burn an
additional `ftab.bin` externally before running the device

Signed-off-by: Haoran Jiang <halfsweet@halfsweet.cn>
2025-11-28 17:25:27 +00:00
Thomas Decker
2fbefdbc53 soc: st: stm32: h7rsxx: Fix MPU region for read-only id flash region
Set correct MPU memory type and size for the uniqe device id, package code
and ADC VREF/TS calibration read-only flash region.

REGION_IO_ATTR configures the MPU region to device-memory with RW access,
which is also used for the PERIPH region. To avoid complicating things
unnecessarily, we use this type instead of defining a new device-RO.

The size is reduced to 512 bytes, because RM0477 table 28 and chapter
5.3.12 state that this read-only flash area has a size of 512 bytes.

Signed-off-by: Thomas Decker <decker@jb-lighting.de>
2025-11-28 10:11:57 +00:00
Guillaume Gautier
3206d73994 soc: st: stm32: add timer shared interrupts
For some STM32 series, some interrupts are shared between different timer
instances. Use the SHARED_INTERRUPTS for these series so that all timers
can be used at the same time.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-11-27 21:54:24 +01:00
Mathieu Choplain
7defeda8bd soc: st: stm32: wkup_pins: break after configuring I/O retention on pin
After we found the target GPIO port and configured I/O retention on target
wake-up pin, break from the search loop.

Applies only to STM32WBA series.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-11-27 16:02:47 +01:00
Arunmani Alagarsamy
1814b902a9 soc: silabs: siwg917: Add configurable boot features via DTS and Kconfig
Add support for configuring hardware-specific boot feature bitmaps
through Devicetree and software-specific boot configurations through
Kconfig options.

Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
2025-11-27 14:48:35 +01:00