Commit graph

7,339 commits

Author SHA1 Message Date
Anas Nashif
71ec5df8f3 intel_adsp: remove workaround for SOF setting core count
During transition to HWMv2 this workaround was added, which should
instead be in SOF and not in Zephyr, as CORE_COUNT is a SOF Kconfig.

Remove this and instead set the CORE_COUNT in SOF to the
MP_MAX_NUM_CPUS.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-11-15 11:28:47 +01:00
Etienne Carriere
b0ccb2295f drivers: stm32: use STM32_CLOCK_INFO_BY_NAME() and friends
Use STM32_CLOCK_INFO(), STM32_DT_INST_CLOCK_INFO(),
STM32_CLOCK_INFO_BY_NAME() and STM32_DT_INST_CLOCK_INFO_BY_NAME()
helper macros in STM32 drivers.

Using these macros ensure the clock division factor is properly
populated according to DT information. Prior these changes some
drivers only got the bus and bits position information and missed
the clock division information which is fine only when this division
factor information is 0.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2025-11-14 15:26:17 +02:00
Sebastian Bøe
70f6cf7ea0 soc: nordic: uicr: Move GEN_UICR options into the main Zephyr tree
I initially added the GEN_UICR options to the gen_uicr image's Kconfig
tree only to not pollute the main tree.

But there is a lot of useful help text in the GEN_UICR option's
Kconfig file that I would like users to be able to read/reference from
the docs.

To not increase the complexity of the Kconfig doc generator, we add
the GEN_UICR options to the main tree and have them all be disabled
for builds other than the gen_uicr image.

Being in the main tree has the added benefit of being recognzied by
the compliance checker.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2025-11-14 15:26:06 +02:00
Aymen LAOUINI
d9861d77ff soc: nordic: activate uicr generation and use correct dt reg check
- Activate the UICR file generation and PeriphConf for nRF92 application.
- Add condition in reg dt check file to use the correct uicr node name
  for nRF92X.
- Generation of preriphconf entries filters on device names to match
  the first 5 characters to nrf92 or the 6 first characters to nrf54h,
  this information is also used to determine the device SOC_SERIES
  to be either SOC_SERIES_NRF54HX or SOC_SERIES_NRF92X allowing possible
  extension of usage. Still in case of an unknown device of a certain
  family it will use existing configuration while generating
  periphconf entries.

Signed-off-by: Aymen LAOUINI <aymen.laouini@nordicsemi.no>
2025-11-14 15:25:01 +02:00
Michał Stasiak
3ebf29329e soc: nordic: nrf54l: make SoCs select specific symbols
As future nRF54L SoCs may differ in terms of content,
general SOC_NRF54L_CPUAPP_COMMON symbol needs to cover
less symbols. These will be selected by specific SoC based
on support.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2025-11-14 12:20:17 +02:00
Mathieu Choplain
35a391d47c soc: st: stm32: use series-agnostic STM32 LL headers
Use the series-agnostic STM32 LL headers from the STM32Cube HAL module
instead of series-specific ones in STM32 SoC-specific code. Also remove
inclusion of `stm32XXxx.h` in a few files which already include `soc.h`
who is tasked with doing this inclusion.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-11-14 12:19:48 +02:00
Muhammed Asif
d838034efd soc: microchip: pic32cx_sg: Add clockcontrol in soc kconfig
Selects the clock control from soc Kconfig file.

Signed-off-by: Muhammed Asif <muhammed.asif@microchip.com>
2025-11-14 10:29:52 +02:00
Daniel Leung
f040a738ac soc: cdns/dc233c: linker: add snippets-text-sections.ld
Adds snippets-text-sections.ld to linker scripts. So that
the mem_map test can run on qemu_xtensa/dc233c/mmu.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2025-11-14 09:21:44 +01:00
Tom Chang
f4d258204a soc: npcx: add lct register definitions
Introduce register structures and macros for the long countdown timer to
support counter functionality in npcx and npck series.

Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
Signed-off-by: Tom Chang <CHChang19@nuvoton.com>
2025-11-13 20:45:41 -05:00
Fin Maaß
402c66a5e1 arch: riscv: vexriscv: add VexRiscv cache driver
add driver for VexRiscv CPU cache controller.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-11-13 20:41:07 -05:00
Yuriy Vynnychek
06b5198b3a soc: infineon: xmc7200: extend CYT4BFxx MPNs support
- Add Cortex M0+, M7(0) and M7(1) selection.
- Add TEQFP_176 and BGA_320 package support.

Signed-off-by: Yuriy Vynnychek <Yuriy.Vynnychek-EE@infineon.com>
2025-11-13 20:38:52 -05:00
Marcio Ribeiro
3d43f75701 soc: espressif: add region description for rtc ram memory
Adds separate memory regions for rtc ram memory areas and reworks linker
scripts to make use of their starting addresses and lengths

Signed-off-by: Marcio Ribeiro <marcio.ribeiro@espressif.com>
2025-11-13 20:36:45 -05:00
Arunprasath P
aa6414f09b drivers: dma: microchip: Add G1 DMA Driver
Add G1 DMA driver for Microchip DMA Peripherals.

Signed-off-by: Arunprasath P <arunprasath.p@microchip.com>
2025-11-13 20:35:43 -05:00
Arnaud Pouliquen
8aacdca78b soc: st: stm32mp13: enable direct memory map
Enable dynamic configuration of region mapping with a 1:1
virtual-to-physical address mapping.
This configuration is aligned with the static declaration of the
MMU table using MMU_REGION_FLAT_ENTRY macro.

Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
2025-11-13 20:35:09 -05:00
Tony Han
21195f2434 soc: microchip: sam: add clock initialization for sama7g5 MCAN
Initialize MCAN GCLK to 80MHz (divide SYSPLL 400MHz with 5).

Signed-off-by: Tony Han <tony.han@microchip.com>
2025-11-13 20:31:14 -05:00
Tony Han
f2290d1c9c soc: microchip: sam: update MMU for sama7g5 MCAN
When the MCAN is activated in the DT, configure it's register region
with strong ordered, read and write access.
As CANx accesses the lower or upper 64K SRAM is selected by bits in
register 'SFR_CAN_SRAM_SEL', also configure SRAM and SFR region with
strong ordered, read and write access.

Signed-off-by: Tony Han <tony.han@microchip.com>
2025-11-13 20:31:14 -05:00
Lukas Woodtli
c53a370c85 soc: Add support for Silabs EFM32TG
* ARM Cortex-M3 processor
* Up to 32 kB Flash and 4 kB RAM memory
* Energy efficient and autonomous peripherals
* Ultra low power Energy Modes
* Fast wake-up

Signed-off-by: Lukas Woodtli <woodtli.lukas@gmail.com>
2025-11-13 20:30:55 -05:00
Mathieu Choplain
947749abfc linker: llext: move #ifdef CONFIG_LLEXT guard inside common file
LLEXT-related sections should only be added to the linker script when the
associated CONFIG_LLEXT is enabled. This has been done by checking for this
Kconfig symbol in every linker file, but this creates a lot of boilerplate
for no good reason.

Use the much simpler solution: move the check inside the common linker file
and remove existing "#ifdef CONFIG_LLEXT" checks in all linker files.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-11-13 23:17:37 +02:00
Mathieu Choplain
bfc69ad935 soc: st: stm32l4: always unlock IRQs in pm_state_exit_post_ops
Interrupts would only be unlocked when resuming from suspend-to-idle.
Even though other states *should* never be entered, make sure interrupts
are unlocked anyways to conform with the expectations of the PM framework.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-11-13 23:17:27 +02:00
Tim Lin
60f82e6456 it8xxx2: add support for putting switch.S in ram code section
Get better performance from executing z_riscv_switch() function.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2025-11-13 23:17:00 +02:00
Carles Cufi
689ba58b10 atomic: Select missing ATOMIC_OPERATIONS_BUILTIN
The ATOMIC_OPERATIONS_* Kconfig option is not a choice, so it does not
have a default. However, the file that determines which actual atomic
operations backend will be used does default to
ATOMIC_OPERATIONS_BUILTIN:

3e537db71e/include/zephyr/sys/atomic.h (L26-L41)

Since we want to ensure that all SoCs intentionally select the atomic
operations backend they want to use, select it at the SoC level for all
SoCs, as well as for the Cortex-M arch when the Armv8-M baseline profile
is selected.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2025-11-13 23:15:27 +02:00
Declan Snyder
92fe40405e soc: nxp: rt118x: Move container header in tree
Instead of gluing to the one in the HAL which is not very flexible to
configure, define the container header in the zephyr SOC code. This
fixes the bug of CONFIG_NXP_FLEXSPI_ROM_RAMLOADER not working.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-11-08 10:21:28 +02:00
Ruibin Chang
3bdf10308b soc/ite/it8xxx2: make ARCH_IRQ_VECTOR_TABLE_ALIGN constant
The IQR vector table changed size since a825e01 and it is
causing issues with downstream applications, for example,
data stored in bin specific field is shifted by
the ARCH_IRQ_VECTOR_TABLE_ALIGN, so I make
ARCH_IRQ_VECTOR_TABLE_ALIGN constant.

Signed-off-by: Ruibin Chang <Ruibin.Chang@ite.com.tw>
2025-11-07 21:25:18 +02:00
Łukasz Stępnicki
3f90574ad3 soc: nordic: vpr: align ESF_SW_IRQ_SIZEOF when new exception debug is used
There is new exception debugging mechanism for RISC-V which needs
additional member in arch_esf structure. VPRs handle stacking
partially in hw so exact position of some stack members needs
to be at the end of arch_esf, so explicit padding is needed.
Aligned also ESF_SW_IRQ_SIZEOF when exception debug is used.

Signed-off-by: Łukasz Stępnicki <lukasz.stepnicki@nordicsemi.no>
2025-11-07 19:22:58 +02:00
Lauren Murphy
c434ed8843 intel_adsp: select log_backend_xtensa_sim for simulator
ADSP logging backend requires winstream console,
which is turned off for simulator.

Signed-off-by: Lauren Murphy <lauren.murphy@intel.com>
2025-11-05 11:35:32 +02:00
Immo Birnbaum
b6c5d91507 soc: xlnx: zynqmp: fix vectors and SRAM MPU region priority order
Place the 'vectors' region configuration behind the 'sram' and
'rom_region' configurations so that the MPU region for the
vectors takes precedence over the 'sram' region due to higher
region index = higher priority when resolving memory properties
/ permissions for overlapping regions. This is required for the
vectors to work properly if the SRAM base address is also at 0x0.

Fixes #96688.

Signed-off-by: Immo Birnbaum <mail@birnbaum.immo>
2025-11-02 12:32:32 -05:00
Simon Maurer
01a7ed9097 soc: xlnx: zynq7000: move SoC code to common folder
remove duplicate xc7zxxx and xc7zxxxs soc code

Signed-off-by: Simon Maurer <mail@maurer.systems>
2025-10-30 18:39:16 -04:00
Ali Hozhabri
7a593ede3e drivers: bluetooth: hci: Fix the issue about the TRNG peripheral instance
Fix the issue regarding passing the TRNG peripheral instance to the driver.

Increase the SYSTEM_WORKQUEUE_STACK_SIZE when CONFIG_BT is set.
According to the log of thread analyzer for beacon sample, 1048 bytes
are needed. So, it's been increased to a safer value.

Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
2025-10-30 18:38:02 -04:00
Allen Zhang
e2c62743ea soc: mcxw2xx: Add clock enablement for flash controller
kCLOCK_Sysctl must be enabled for FLASH_CacheClear,
FLASH_CacheSpeculationControl and FLASH_CheckECC to have an effect.

Signed-off-by: Allen Zhang <chunfeng.zhang@nxp.com>
2025-10-30 15:15:35 +02:00
Rubin Gerritsen
499102fc47 soc: nordic: nrf54h: s2ram: Fix compiling with FPU
This commit fixes a change introduced in #97025
where too many definitions where removed.

Fixes issue #98382

Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
2025-10-30 15:15:18 +02:00
Raffael Rostagno
a9eb90a20e soc: esp32c6: Add IEEE802.15.4 MAC setting
Select IEEE802.15.4 MAC option in Kconfig.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-10-29 20:31:03 -04:00
S Mohamed Fiaz
ff2e9b5836 modules: wiseconnect: kernel sleeptimer bug fix siwx91x
The fix resolves the drift test failure as part of kernel
timer behaviour and timer api test suite.
Moved sleeptimer-related source files to RAM using zephyr_code_relocate
when CONFIG_SILABS_SISDK_SLEEPTIMER is enabled, and removed duplicate
listing from PMGR backend.Updated Kconfig to select SRAM_VECTOR_TABLE
and CODE_DATA_RELOCATION_SRAM for the sleeptimer service.

Signed-off-by: S Mohamed Fiaz <Fiaz.Mohamed@silabs.com>
2025-10-29 11:47:10 +00:00
Anas Nashif
303af992e5 style: fix 'if (' usage in cmake files
Replace with 'if(' and 'else(' per the cmake style guidelines.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-10-29 11:44:13 +02:00
Aksel Skauge Mellbye
bca090958b soc: silabs: silabs_s2: Fix radio interrupt init condition
Radio interrupts were only initialized if CONFIG_ARM_SECURE_FIRMWARE=y,
but should be initialized independently of security configuration.

Move initialization from soc_prep_hook() to soc_early_init_hook(),
there is no reason to configure interrupts earlier.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-10-28 08:45:31 -07:00
Krzysztof Chruściński
182a6c62b1 drivers: timer: nrf_rtc: Kconfig clean up
Remove redundant enabling of NRF_RTC_TIMER in SoC specific files
and replace it with default y in the NRF_RTC_TIMER definition.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-10-28 17:42:38 +02:00
Sebastian Głąb
6ec763474f soc: nordic: nrf54h: Disable S2RAM on cpurad
On nrf54h20 only cpuapp supports s2ram low power cpu state.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2025-10-28 17:42:27 +02:00
Muhammed Asif
41e7be1313 soc: microchip: pic32cx_sg: Adds the pinctrl header
Adds the pinctrl_soc.h file for parsing the pinctrl
macros in device tree.

Signed-off-by: Muhammed Asif <muhammed.asif@microchip.com>
2025-10-25 10:45:38 +03:00
Winteri Wang
077b41d198 soc: imx93: a55: add missing stdint header
Without sdtint.h in soc.h, compiling failure might occur in
some cases.

Signed-off-by: Winteri Wang <dongjie.wang@nxp.com>
2025-10-24 20:19:17 -04:00
Winteri Wang
a1d76b2572 soc: imx93: a55: initialize video pll
Setup video pll with fixed 400MHz.

Signed-off-by: Winteri Wang <dongjie.wang@nxp.com>
2025-10-24 20:19:17 -04:00
Winteri Wang
6cfc76ffbf drivers: clock: ccm_rev2: add imx93 common clocks set support
Setup most clocks with common_clock_set_freq().
PLL and mux are preset.

Signed-off-by: Winteri Wang <dongjie.wang@nxp.com>
Signed-off-by: Ruoshan Shi <ruoshan.shi@nxp.com>
2025-10-24 20:19:17 -04:00
Brett Peterson
8e4e766c09 drivers: spi: add psc3 and pse84 support
- Updating spi_ifx_cat1_pdl driver to support psc3 and pse84 devices

Signed-off-by: Brett Peterson <brett.peterson@infineon.com>
2025-10-24 20:17:57 -04:00
Tony Han
4f75a702a5 soc: microchip: sam: configure the clocks for sama7g5 GMAC0
Configure the generic clocks to 125MHz for GMAC0.

Signed-off-by: Tony Han <tony.han@microchip.com>
2025-10-24 13:28:18 -04:00
Tony Han
ed4348dca5 soc: microchip: sam: update MMU for sama7g5 GMAC0
Enable strong ordered access to the GMAC0 registers.

Signed-off-by: Tony Han <tony.han@microchip.com>
2025-10-24 13:28:18 -04:00
Fin Maaß
24669df207 arch: riscv: use RISCV_ISA_EXT_F to set CPU_HAS_FPU
use CONFIG_RISCV_ISA_EXT_F to set CONFIG_CPU_HAS_FPU.
Same for CONFIG_RISCV_ISA_EXT_D and
CONFIG_CPU_HAS_FPU_DOUBLE_PRECISION.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-10-24 13:21:47 -04:00
Fin Maaß
3be1b9ca7a arch: riscv: use RISCV_ISA_RV64I to set 64BIT
use CONFIG_RISCV_ISA_RV64I to set CONFIG_64BIT.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-10-24 13:21:47 -04:00
Martin Hoff
15eeb3d40c soc: silabs: siwx91x_nwp: fix coex_mode in nwp initialization
Change the default coex mode when there is neither WiFi or BT activated.
Switch from BLE_ONLY to WLAN_ONLY. It fix a bug where we can't go in
deepsleep if we didn't select CONFIG_WIFI.

Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
2025-10-24 13:19:56 -04:00
Martin Hoff
40c9653c6d soc: silabs: siwx91x: increase main stack size when nwp is active
Update the default MAIN_STACK_SIZE to 2048 bytes to accommodate
the initialization requirements of the network coprocessor (nwp),
particularly when power management is enabled. It resolves a bug
where we can't boot when PM is enabled with multiple active
peripherals.

Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
2025-10-24 09:02:04 -07:00
Guillaume Gautier
004c613e25 drivers: stm32: replace MODIFY_REG HAL macro by stm32_reg_modify_bits
For all STM32 drivers and SoC, replace the MODIFY_REG macro (defined in
the STM32 HAL) by stm32_reg_modify_bits defined in Zephyr.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-10-24 08:58:25 -07:00
Guillaume Gautier
44415b5af8 drivers: stm32: replace READ_BIT HAL macro by stm32_reg_read_bits
For all STM32 drivers and SoC, replace the READ_BIT macro (defined in
the STM32 HAL) by stm32_reg_read_bits.
Fixes some cases where the return value was tested like a boolean
despite not being one.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-10-24 08:58:25 -07:00
Guillaume Gautier
07f19537d1 soc: st: stm32: common: add common bitops functions
Add a set of bitops functions in order to replace the STM32 HAL bitops
macros throughout the drivers.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-10-24 08:58:25 -07:00