Commit graph

5973 commits

Author SHA1 Message Date
Daniel Schultz
3112f856d2 soc: Add aesc
Currently, the only available platform is Nitrogen, featuring a
VexRiscv CPU that boots from external SPI flash and runs code from
external HyperRAM.

Signed-off-by: Daniel Schultz <dnltz@aesc-silicon.de>
2025-05-14 14:09:41 +02:00
Sudan Landge
8c02ffc6dd arch: arm: enable pxn support at arch level
Move PXN support selection to arch so that it is enabled
for all Armv8.1-m socs.

Signed-off-by: Sudan Landge <sudan.landge@arm.com>
2025-05-14 14:09:31 +02:00
Camille BAUD
72dadd3242 soc: wch: Introduce Qingke V4B
Introduces the Soc for ch32v203

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-05-14 11:02:52 +01:00
Martin Hoff
a05506a256 soc: silabs: add missing kconfig resource for siwx91x
Fixes the missing Kconfig resource for the siwx91x SoC. This ensures
that soc_early_init_hook function is correctly called for the siwg917
SoC during initialization.

Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
2025-05-13 22:19:16 -04:00
Alberto Escolar Piedras
e32b98c3a1 soc posix: Be explicit about wanting the function address
To be more readable

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-05-13 12:09:30 +02:00
Michał Stasiak
63f2fe9dd4 soc: nordic: nrf54l: Clean up internal capacitance calculations.
Code responsible for internal capacitor values containted
leftover workarounds in the calculations after PS update.
Removed redundant conversions and cleaned up both code
and comments to align both LFXO and HFXO calculation.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2025-05-13 10:06:01 +02:00
Jiafei Pan
6e72749c64 soc: imx93: a55: 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: Jiafei Pan <Jiafei.Pan@nxp.com>
2025-05-12 16:47:49 +02:00
Camille BAUD
bab50a55de dts: wch: Enable using whole flash with CH32V208
Enables using the whole flash on CH32V208
This also involves limiting frequency of the CPU to 120Mhz
from 144Mhz to meet recommendations.

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-05-12 16:47:33 +02:00
Nikodem Kastelik
566b3c0002 soc: nordic: nrf54l: remove workaround for nRF54L anomaly 31
MDK 8.69.1 included in nrfx 3.10 already applies the workaround,
so there is no need to do it again.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2025-05-12 14:53:51 +02:00
Alvis Sun
d0e488e071 drivers: pinctrl: npcx: add pinctrl driver support for npck3
As title.

Signed-off-by: Alvis Sun <yfsun@nuvoton.com>
2025-05-12 13:30:46 +02:00
Carles Cufi
32047d3938 soc: nordic: nrf54h: Remove external square wave
This option is no longer present in the Datasheet, remove it from the
BICR JSON file.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2025-05-09 14:01:58 +02:00
Swift Tian
443b7012d7 soc: ambiq: fix potential issues
1. fix compile issue when CONFIG_DCACHE=n
2. check null in buf_in_nocache

Signed-off-by: Swift Tian <swift.tian@ambiq.com>
2025-05-09 12:51:42 +02:00
Declan Snyder
ddce1e1c67 soc: nxp: rw: Policy constraints when PM2 enabled
When PM2 is enabled, it will disable many of the devices, so need to
enable PM policy constraints for this mode also so that device drivers
can work.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-05-09 01:41:05 +02:00
64067e5d6a soc: wch: add the CH32V00x series
Compared to the CH32V003, the CH32V00x series is an evolution that
uses a different microarchitecture (V2C instead of V2A) and different
pinctrl mappings.

Fork the current qingke_v2a and use the new proposed naming convention.

Signed-off-by: Michael Hope <michaelh@juju.nz>
2025-05-09 01:40:22 +02:00
Emilio Benavente
5fd6715917 drivers: watchdog: Added Driver for the EWM
Added a driver for the External Watchdog Driver

Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
2025-05-09 01:39:56 +02:00
Torsten Rasmussen
c79c4ef9a8 linker: move last section id constant to c-code
Move creation of last section id from ld linker script LONG() usage to
C code with last section attribute.

The use of `LONG()` works correctly with ld but lld emits a warning
because .last_section section is not allocated as there are no matching
input sections and discards the `LONG()` call, meaning the last section
identifier will not be present in the flash.
> ld.lld: warning: ignoring memory region assignment for
>                             non-allocatable section '.last_section'

Placing the last section id in `.last_section` in C code makes lld
allocate the memory for the id and thereby create the output section
with the correct output.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2025-05-08 15:55:40 +02:00
Amneesh Singh
c4dcb17637 soc: ti: k3: am6x: do not override KERNEL_ENTRY
The SOC defconfig overrides CONFIG_KERNEL_ENTRY from the default of
__start to _vector_table. This is undesirable for cores such as M4 where
the _vector_table symbol has just raw addresses and no instructions. The
change was done to make sure Zephyr images can be loaded via remoteproc in
which case the entrypoint needs to be 64 byte aligned. To fix this, use
_vector_table as the ELF entrypoint only for R5 cores.

Signed-off-by: Amneesh Singh <a-singh7@ti.com>
2025-05-08 12:24:56 +02:00
Conny Marco Menebröcker
fa53d93107 soc: add stm32l100xb
This patch adds support for the stm32l100 SoC. Tested on private board.

Signed-off-by: Conny Marco Menebröcker <c-m-m@gmx.de>
2025-05-08 01:57:52 +02:00
Daniel Leung
1f21bb9003 soc: esp32: include ksched.h in esp32-mp.c
esp32-mp.c calls z_sched_ipi() so it needs to include ksched.h,
as it is no longer included via kernel.h after removal of
kernel/internal/smp.h.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2025-05-06 20:36:26 +02:00
Jiafei Pan
108615c560 soc: imx95: a55: initialize lpuart clock
Initialize lpuart clock to avoid it is not initialized.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2025-05-06 20:36:15 +02:00
Guillaume Gautier
83e0ca82b6 soc: st: stm32n6: add arm v8.1 mvei and mvef kconfig
STM32N6 supports M-Profile Vector Extension (MVE) integer and
floating-point instruction set.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-05-06 15:31:51 +02:00
Sebastian Bøe
ee458692b5 soc: nrf53: Port nrf53_cpunet_mgmt_init to soc_early_init_hook
Port from SYS_INIT to soc_early_init_hook because SYS_INIT is legacy.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2025-05-06 10:50:31 +02:00
Sebastian Bøe
8007e2481c soc: nrf53: Port SYS_INIT nrf53_cpunet_init to soc_late_init_hook
Port SYS_INIT nrf53_cpunet_init to soc_late_init_hook as SYS_INIT are
legacy.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2025-05-06 10:50:31 +02:00
Sebastian Bøe
5d9f5543b9 soc: nrf53: Port SYS_INIT rtc_pretick_init to soc_late_init_hook
Port the SYS_INIT for rtc_pretick_init to use soc_late_init_hook as
SYS_INIT's are legacy.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2025-05-06 10:50:31 +02:00
Sebastian Bøe
5da0748612 soc: nrf53: Port SYS_INIT to soc_early_init_hook
Port the nordicsemi_nrf53_init to use soc_early_init_hook instead of
SYS_INIT as SYS_INIT is legacy.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2025-05-06 10:50:31 +02:00
Duy Nguyen
2aa071c7ad drivers: pinctrl: Support pinctrl driver for Renesas RX
Intial support of pinctrl driver for Renesas RX MCU
family.
This support base on using Renesas RX driver package in
hal_renesas layer

Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
Signed-off-by: Phi Tran <phi.tran.jg@bp.renesas.com>
2025-05-02 09:18:16 +02:00
Duy Nguyen
ad42e4d87d driver: timer: Support for RX system timer
This commit add a system timer driver for Renesas RX using the
CMT peripheral. The driver supports both system ticks and
high-resolution cycle counting
- Configures CMT0 as the system tick timer
- Configures CMT1 as a free-running cycle timer for precise
  time tracking
- Handles timer overflows to maintain a continuous cycle count.
- Implements sys_clock_cycle_get_32() and sys_clock_cycle_get_64()
  for  high-resolution timing
- Supports Zephyr tickless kernel mode by tracking elapsed cycles
- Enables interrupt-based tick announcement using CMT0

Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
Signed-off-by: Yuichi Nakada <yuichi.nakada.sx@renesas.com>
2025-05-02 09:18:16 +02:00
Duy Nguyen
2f0715262d drivers: clock: Support clock control driver RX MCU
Initial support of clock control driver for RX MCU

Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
Signed-off-by: Tran Van Quy <quy.tran.pz@renesas.com>
2025-05-02 09:18:16 +02:00
Duy Nguyen
d4d2b09cac soc: renesas: Add support for RX62N MCU
The qemu-system-rx is based on RX62N, this commit added
support for the RX62N SOC layer. MCU is using RXv1 core and
system timer running at 6MHz

Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
2025-05-02 09:18:16 +02:00
Duy Nguyen
dc470f782a goc: renesas: rx: Initial support for RX130 SOC
Minimal SOC layer support for Renesas RX SOC
This SOC is using Renesas RXv1 core

Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
2025-05-02 09:18:16 +02:00
Martin Jäger
70947968d4 soc: stm32: common: wkup_pins: fix log output
Remove newline in log output and simplify log message.

Signed-off-by: Martin Jäger <martin@libre.solar>
2025-05-02 09:15:59 +02:00
Lin Yu-Cheng
1e71a79ba1 soc : realtek: ec: rts5912: add soc rts5915 config
Add the config for user to chose rts5915

Signed-off-by: Lin Yu-Cheng <lin_yu_cheng@realtek.com>
2025-05-02 07:20:13 +02:00
Alvis Sun
7e23f8b408 soc: add npck soc driver
For npck3m8k:
1. Update code ram from 320KB to 416KB (0x1005_8000~0x100B_FFFF).
2. Update data ram from 32KB to 64KB.
3. Move fiudiv from hfcbcd1 to hfcbcd2 register

Signed-off-by: Alvis Sun <yfsun@nuvoton.com>
Signed-off-by: Mulin Chao <mlchao@nuvoton.com>
2025-05-02 07:19:55 +02:00
Ofir Shemesh
999b19d6ce soc: nxp: imxrt: fix incorrect flexram partition function call
Replace incorrect call to memc_flexram_dt_partition() with
flexram_dt_partition() to resolve build error on
IMXRT10xx and IMXRT11xx.

Signed-off-by: Ofir Shemesh <ofirshemesh777@gmail.com>
2025-05-02 01:17:13 +02:00
Martin Jäger
bb0e580be4 soc: stm32g0x: add poweroff implementation
Same implementation as stm32c0x and stm32l4x. This is required
for wake-up from sleep.

Signed-off-by: Martin Jäger <martin@libre.solar>
2025-05-02 01:17:02 +02:00
Hake Huang
c10e6eaf07 soc: mimxrt11xx: update the frdmram api
flexram api change to misc.

fixes: #89150

Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
2025-05-02 01:16:37 +02:00
Derek Snell
26423f2020 soc: nxp: mcxn: configure CPU1 TrustZone access level
Configures AHBSC MASTER_SEC_LEVEL register for the cpu1 before cpu1 is
enabled.  By default, this gives CPU1 secure and privileged access to
the rest of the SOC, same as CPU0.

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2025-05-02 01:16:26 +02:00
Axel Le Bourhis
dc52ec7d32 soc: nxp: rw: fix wrong dependency on kconfigs
Use `defaut y if` instead of `depends on` as the related Kconfig
should be user configurable even when standby mode is not used.

Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
2025-05-01 18:16:57 +02:00
Martin Meyer
010d7d1b9a soc: raspberrypi: common: reformat pinctrl include
Apply clang-format on source files.

Signed-off-by: Martin Meyer <meyer.m90@gmail.com>
2025-05-01 13:42:17 +02:00
Martin Meyer
5d39cc1eea drivers: pinctrl: rp2040: extend pin override config
Add a device-tree property to configure the override
functionalities of RP2040 GPIO pins.

Signed-off-by: Martin Meyer <meyer.m90@gmail.com>
2025-05-01 13:42:17 +02:00
Titan Chen
2ede51b3e9 drivers: gpio: rts5912 support new features
add support new features for get/set configuration:
1. slew rate
2. output driving current
3. schmitt trigger
4. multi-function select

testing by blinky sample.

20250326: remove check interrupt mask to avoid interrupt disable.

Signed-off-by: Titan Chen <titan.chen@realtek.com>
2025-04-30 07:51:46 +02:00
Adib Taraben
e92fb10971 drivers: hwinfo: add nxp mcxn reset_cause implementation
Implementation is specific to the NXP MCXN series.
Code mostly copied from hwinfo_mcux_rcm driver.

Signed-off-by: Adib Taraben <theadib@gmail.com>
2025-04-29 20:07:25 -04:00
Tim Lin
f7d381fef1 drivers/i2c: Add I2C driver of it51xxx
Implement the functions of I2C host and target.
I2CM: supports nine hosts and each one able located at I2C interface
      0~12.
      supports two 32 bytes dedicated FIFO mode for read and write.
I2CS: supports three targets and each one able located at I2C
      interface 0~8.
      supports 16 bytes dedicated FIFO mode that only supports write or
      read mode and the maximum buffer size is 256 bytes.
      support non-FIFO write to shared FIFO read mode. The maximum
      shared FIFO size for read is 256 bytes.
The APIs test include: i2c_write(), i2c_read(), i2c_burst_read(),
                       i2c_burst_write(), i2c_write_read()

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2025-04-29 16:48:06 +02:00
Swift Tian
92fa83fc47 soc: ambiq: add common cache handling for apollo5x soc
The buf_in_nocache function is to be used by various device drivers
to check if buffer is in noncacheable region.
The cacheable DMA buffer shall be put into section .ambiq_dma_buff
due to certain restrictions of the SoC.

Signed-off-by: Swift Tian <swift.tian@ambiq.com>
2025-04-29 13:00:42 +02:00
Henrik Brix Andersen
02af629ff9 soc: neorv32: bump supported version to v1.11.3
Bump the supported NEORV32 SoC version to v1.11.3 (needed for Zephyr PWM
support).

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2025-04-29 13:00:17 +02:00
Daniel Leung
92ebb2eb69 kernel: remove kernel/internal/smp.h
There is no need for kernel/internal/smp.h as SOF does not call
z_sched_ipi(). Actually... git log over there has no mention of
z_sched_ipi() anywhere, just arch_sched_ipi().

And include <ksched.h> for source using z_sched_ipi() since
they are using scheduling functions, and would be the correct
file to include.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2025-04-29 02:42:09 +02:00
Robert Hancock
3385861753 soc: xlnx: zynqmp: Add sys_arch_reboot implementation
This platform was previously using a default sys_arch_reboot
implementation which did nothing. Add an implementation which uses the
CRL_APB_RESET_CTRL register to initiate a soft reset (SRST) of the
device.

Signed-off-by: Robert Hancock <robert.hancock@calian.com>
2025-04-29 02:42:00 +02:00
Sadik Ozer
f9ce25fd05 soc: Add the MAX32657 SoC
MAX32657 is Cortex-M33 based Analog Devices MCU.
It supports ARM TrustZone security model.
There will be two boards of this MCU Secure and Non-Secure

This commit defines Secure version of peripherals.

Basic feature of MAX32657 device:
- Core is Cortex-M33
- 50MHz IPO clock
- There are 54 interrupt vectors
- 1MB flash & 256 SRAM
- MAX32657 has:
   - 1 x UART
   - 1 x I2C/I3C
   - 1 x SPI
   - 6 x TIMER
   - 1 x RTC
   - 1 x WDT
   - 1 x TRNG

Signed-off-by: Sadik Ozer <sadik.ozer@analog.com>
2025-04-28 16:40:10 +02:00
Benjamin Cabé
047b11f0d1 soc: bflb: rename bouffalolab_bflb soc family to bflb
For simplicity/consistency with many other soc families, rename the
bouffalolab_bflb soc family to the simpler bflb.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-04-28 13:40:55 +02:00
Benjamin Cabé
2e881018ac boards: dts: soc: bflb: use proper folder names
Folders should be named after the vendor prefix

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-04-28 13:40:55 +02:00