Commit graph

5940 commits

Author SHA1 Message Date
Mahesh Mahadevan
8a3dc68996 soc: nxp_rw6xx: Add code to fire the GPIO callback
Call the API provided to fire a GPIO interrupt
if registered on wakeup from PM Mode 3.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-03-21 09:51:38 +01:00
Mahesh Mahadevan
419853f674 soc: nxp_rw6xx: Enable Power Domain Kconfig
Power Domains are used to re-enable peripherals
when exit Power Mode 3 (Standby).

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-03-21 09:51:38 +01:00
Mahesh Mahadevan
f5ab199bb3 soc: nxp_rw6xx: Do not enable unused clocks
Update the clock init code to gate off unused clocks.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-03-21 09:51:38 +01:00
Mahesh Mahadevan
1e492e8f91 soc: nxp_rw6xx: Add support for Power Mode 3
This maps to Zephyr power state Standby. In this power
state the OS Timer cannot be used as a wakeup source as
it will be powered off. Hence the counter is enabled
and RTC is used to keep track of system ticks and wakeup
the system.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-03-21 09:51:38 +01:00
Mahesh Mahadevan
15d8fd2ad3 soc: nxp_rw6xx: Update SYS_CLOCK_TICKS_PER_SEC for PM mode 3
Since the clock source when running in PM mode 3 is the
slower 1KHx clock, we adjust the SYS_CLOCK_TICKS_PER_SEC
value to get better accuracy.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-03-21 09:51:38 +01:00
Mahesh Mahadevan
8fde2b75d7 soc: nxp_rw6xx: Add support for XTAL32K clock
This clock is used for certain peripherals such
as RTC.
On certain RW612 boards such as rd_rw612_bga, XTAL32K
and ENET share pins. Add code to check if ENET and
XTAL32 are enabled at the same time.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-03-21 09:51:38 +01:00
Krzysztof Chruściński
37fe7504ce soc: nordic: nrf54h: power: Add idle tracing calls
Add calls to sys_trace_idle and sys_trace_idle_exit in nrf54h specific
idle states to allow measuring CPU load on nrf54h20 when power
management is enabled.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-03-20 17:14:52 +01:00
Declan Snyder
f013e20bc5 soc: nxp: Add missing resolve of system timer cfg
These socs were missing a config line to disable SYSTICK if the LPTMR is
configured for the system timer, similar to how other SOCs do this for
alternative system timers than systick.

This fixes build errors in the case where that lptmr kconfig is enabled.

Also, the LPTMR kconfig should be default no because it is a secondary
option for the system timer, being lower resolution than systick. This
also resolves build errors.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-03-20 17:14:28 +01:00
Nidhal BEN OTHMEN
9a82e95d72 soc: stm32wbax: hci_if: Re-write enable/disable IRQs
Migrate LINKLAYER_PLAT_EnableIRQ and LINKLAYER_PLAT_DisableIRQ
from linklayer_plat.c (hal/stm32 module).

Signed-off-by: Nidhal BEN OTHMEN <nidhal.benothmen@st.com>
2025-03-20 14:22:21 +01:00
Nidhal BEN OTHMEN
b357f81ce9 soc: stm32wbax: hci_if: Re-write enable/disable Radio IRQ with irq API
Migrate LINKLAYER_PLAT_EnableRadioIT and LINKLAYER_PLAT_DisableRadioIT
from linklayer_plat.c (hal/stm32 module) and adapt it using irq
Zephyr APIs.
Correct casting of irq type between using NVIC APIs or irq Zephyr APIs

Signed-off-by: Nidhal BEN OTHMEN <nidhal.benothmen@st.com>
2025-03-20 14:22:21 +01:00
Nidhal BEN OTHMEN
1b3feecfd8 soc: stm32wbax: hci_if: Increase the link layer thread priority
Increase the link layer thread priority to be more than the BLE CTRL
thread and more than the Zephyr BLE stack threads.

Signed-off-by: Nidhal BEN OTHMEN <nidhal.benothmen@st.com>
2025-03-20 14:22:21 +01:00
Nidhal BEN OTHMEN
43c00e5b6c soc: stm32wbax: hci_if: Clean code
Clean the code, rename some constants and variables for more
consistency.

Signed-off-by: Nidhal BEN OTHMEN <nidhal.benothmen@st.com>
2025-03-20 14:22:21 +01:00
Guillaume Gautier
a8ae1dcdcc soc: st: stm32: n6: set vddio voltage
Set VddIO 2 and 3 voltage to 1.8V

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-03-20 12:17:32 +01:00
Arunmani Alagarsamy
b578b06970 drivers: wifi: siwx91x: Add run time opermode
This commit enables the device to change its operating mode
at runtime.

Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
2025-03-20 12:17:22 +01:00
Sudan Landge
d7c629696d arch: arm: Add PXN support for Armv8.1-M
What is the change?
This commit adds support for Armv8.1-M MPU architecture's PXN attribute.
This includes support for configuring MPU regions with PXN via
custom mpu_config, devicetree and static mpu_config.
The existing MPU region attribute macros are updated to retain existing
behaviour with this change with an addition of REGION_RAM_ATTR_PXN to be
used if one needs to configure a RAM region with PXN MPU attribute.

Why do we need this change?
Armv8.1-M architecture introduced a new MPU region attribute called
Privilege eXecute Never (PXN).
If an MPU region is configured with the PXN attribute set and if the,
processor attempts to execute code in this region while at
privileged level, a Memory Management Fault exception is triggered.

This ensures that specific tasks are executed only in unprivileged mode
and helps in preventing secure privilege escalation attacks.

Signed-off-by: Sudan Landge <sudan.landge@arm.com>
2025-03-20 12:17:11 +01:00
Jordan Yates
65bc07c95e soc: st: stm32: build warning for STM32_ENABLE_DEBUG_SLEEP_STOP
Add a warning in the build system if both `CONFIG_PM` and
`STM32_ENABLE_DEBUG_SLEEP_STOP` are enabled at the same time. The first
is likely only enabled if the SoC is intended to be driven into low
power states to save power, while the later prevents the SoC from being
as low power as it can be.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-03-19 17:14:19 +01:00
Lin Yu-Cheng
2d541a0777 driver: input: add input driver for rts5912
Add input driver for Realtek rts5912.

Signed-off-by: Lin Yu-Cheng <lin_yu_cheng@realtek.com>
2025-03-19 17:11:23 +01:00
Marek Slowinski
9946c358fc soc: miv: polarfire: Increase NUM_IRQS to cover 1st and 2nd level irqs
It was detected by test_sw_isr_irq_parent_table_idx in arch.interrupt:

ASSERTION FAIL [table_idx < (186 - 0)]
@ WEST_TOPDIR/zephyr/arch/common/multilevel_irq.c:91
table_idx(186) < IRQ_TABLE_SIZE(186)

NUM_IRQS was previously set to the same value as MAX_IRQ_PER_AGGREGATOR
and it didn't take into account the number of 1st level interrupts
specified by 2ND_LVL_ISR_TBL_OFFSET. In the generated __sw_isr_table,
Level 2 interrupts start at the offset specified by 2ND_LVL_ISR_TBL_OFFSET.

For PolarFire SoC, upper interrupt sources for PLIC correspond to
Bus Error Unit and Fabric Interface. They are currently not used by
platforms in Zephyr, so the previous value of NUM_IRQS hasn't caused
issues for regular applications.

As it doesn't look like an explicit memory optimization, increase NUM_IRQS
to allow kernel interrupt tests to pass.

Note:

2ND_LVL_ISR_TBL_OFFSET=13 and NUM_IRQS=199 don't include additional
48 Local Interrupts supported by cores. In total, there are
64 bits in Machine Interrupt Pending Register (mip)
which can be used to configure 1st level interrupts.

As a further extension to the platform, values could be extended to
2ND_LVL_ISR_TBL_OFFSET=64 and NUM_IRQS=250. This commit increases
NUM_IRQS by a minimal value required to pass kernel interrupt tests.

Link: https://ww1.microchip.com/downloads/aemDocuments/documents/FPGA/ProductDocuments/ReferenceManuals/PolarFire_SoC_FPGA_MSS_Technical_Reference_Manual_VC.pdf

Signed-off-by: Marek Slowinski <mslowinski@antmicro.com>
2025-03-19 09:02:06 -04:00
Łukasz Stępnicki
2bac5eec84 nrfs: added audiopll service
Added configuration for new audio PLL service.
Pull in new service implementation in new hal nordic.

Signed-off-by: Łukasz Stępnicki <lukasz.stepnicki@nordicsemi.no>
2025-03-19 08:51:36 -04:00
Michał Stasiak
c3ca1aecb9 soc: nordic: enable west commands for nRF54L20 Enga cpuflpr
Enabled west flash and west erase for nRF54L20 PDK FLPR core.
Added missing reset qualifier for nRF54L20 and nRF54L09.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2025-03-19 10:57:18 +01:00
Michał Stasiak
ce8a66dd65 soc: nordic: nrf54: add nRF54L20 FLPR core
Added support for nRF54L20 FLPR core in soc dir.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2025-03-19 10:57:18 +01:00
Nhut Nguyen
33d9487efc drivers: pinctrl: Add support for RZ/A3UL
This is the initial commit to support pinctrl driver for Renesas RZ/A3UL

Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
Signed-off-by: Phuc Pham <phuc.pham.xr@bp.renesas.com>
2025-03-19 03:34:15 +01:00
Phuc Pham
e185b053f3 soc: renesas: Add support for Renesas RZ/A3UL
Add support for Renesas RZ/A3UL

Signed-off-by: Phuc Pham <phuc.pham.xr@bp.renesas.com>
Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
2025-03-19 03:34:15 +01:00
Mahesh Mahadevan
2b0912951b soc: imxrt5xx: Fix for USB Next
Fix to add support for USB Next Device Stack.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-03-19 01:24:35 +01:00
Amneesh Singh
4958a5fb6c soc: ti_k3: specify soc-specific ctrl partitions
The first two partitions in padconfig mmr regions need to be unlocked for
the pinctrl driver to be able to write. However, the base addresses for the
the registers can be different across SoCs and domains. Besides, currently
this is only done for M4 and that too not in the local (M4's) view.

This patch introduces a file specifying all ctrl partition base addresses
using ifdef directives for different SoCs and variants, and unlocking them
before the kernel and drivers initialize.

Signed-off-by: Amneesh Singh <a-singh7@ti.com>
2025-03-18 19:53:21 +01:00
Adrian Bieri
6f6a8d1a99 soc: nxp: imxrt: add config ADJUST_DCDC for RT10xx
There is a configuration of the DCDC in the clock_init for the RT10xx.
The RT11xx has a kconfig flag ADJUST_DCDC to enable or disable DCDC
adjust code. This flag is now also used for the RT10xx to be able to
enable or disable the DCDC adjust code.

Signed-off-by: Adrian Bieri <adrian.bieri@loepfe.com>
2025-03-18 16:44:50 +01:00
Aksel Skauge Mellbye
7dc6fb442f drivers: timer: silabs: Fix calculation of next tick
In the case where more than a full tick was unannounced when
sys_clock_set_timeout() was called, the timer driver would
subtract it from the next timeout. However, this is already
done by the caller through the elapsed() function in timeout.c,
leading to the timer interrupt firing too early.

With this fix, SYS_CLOCK_TICKS_PER_SEC can be increased to the
full speed of the low frequency timer. The underlying sleeptimer
API must be called with a timeout of at least 1, and will if needed
increase the value to the minimum value required by the hardware.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-03-18 16:42:42 +01:00
Aksel Skauge Mellbye
faf40c6a68 soc: silabs: Use configdefault for default values
Use configdefault to avoid weakening dependencies of defconfig
symbols.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-03-18 16:42:42 +01:00
Michał Stasiak
def5f8ee07 soc: nordic: allow use of TWIM frequency workaround
Added Kconfig options to allow use of TWIM frequency
workaround in NRFX for nRF52 and nRF53.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2025-03-18 16:41:48 +01:00
Raymond Lei
8199a247a6 boards/soc: nxp: MCXA, imxrt11xx: reconfigure clock source of lpspi
In spi loopback test, high bandrate is 16Mbps while some source of lpspi
are too low to support this bandrate. According the reference mannual,
to support 16Mbps, Input frequency at least should be 2*16MHz.
Update LPSPI input freq to maximum to get more accurate band rate
because band rate must be divisible by input freq.

Signed-off-by: Raymond Lei <raymond.lei@nxp.com>
2025-03-18 08:27:12 +01:00
Henrik Brix Andersen
4d6280a1a0 soc: neorv32: list NEORV32 v1.11.2 as currently supported version
List NEORV32 v1.11.2 as the currently supported version. No changes to the
in-tree drivers needed for the changes between v1.11.1 and v1.11.2.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2025-03-18 08:26:52 +01:00
The Nguyen
22b9a06327 soc: renesas: ra: enable wdt support on RA4M1
Add config to enable wdt after reset reflect wdt Kconfig value

Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
2025-03-18 08:26:40 +01:00
The Nguyen
b72b271682 soc: renesas: ra: allocate default NMI handler for Renesas RA SoC
Allocate NMI_Handler as default NMI handler for Renesas RA family

Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
2025-03-18 08:26:40 +01:00
Scott Worley
beab500c42 soc: microchip: mec5: Disable PM in mec174x, mec175x, and mech172x
We disable power management by removing select HAS_PM. At this time
these new SoC do not have any power management code. With HAS_PM
selected the zephyr test runner will choose PM tests which fail to
build.  PM support will be enabled in the future once we decide
which of the many Zephyr PM implementations we will support.

Signed-off-by: Scott Worley <scott.worley@microchip.com>
2025-03-17 20:58:52 -04:00
Henrik Brix Andersen
d6d0c1c4cd soc: neorv32: only allow reading frequency at runtime with a system clock
CONFIG_TIMER_READS_ITS_FREQUENCY_AT_RUNTIME depends on
CONFIG_SYS_CLOCK_EXISTS, so CONFIG_SOC_NEORV32_READ_FREQUENCY_AT_RUNTIME
needs to depend on CONFIG_SYS_CLOCK_EXISTS for selecting it.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2025-03-17 20:01:31 +01:00
TOKITA Hiroshi
cbcf36e1a7 dts: arm: renesas: ra: Remove old R7FA4M1AB3CFM configurations
Due to historical reasons, there were two implementations of
R7FA4M1AB3CFM. However, the migration has been completed,
so the old one is now being removed.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2025-03-17 16:24:42 +01:00
TOKITA Hiroshi
1ef5dfce63 boards: Migrate Renesas RA4M1 to the new configuration
Migrate to the new GPIO and Interrupt drivers based on FSP.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2025-03-17 16:24:42 +01:00
Andrew Davis
741a1a6e54 soc: ti: k3: am6x: m4: Adjust default RAT configuration
The current default RAT configuration puts the first 512MB of
address space on top of the first 512MB of DRAM. This DRAM
can include the carveout region assigned for IPC with the
host core, for instance the M4 on AM62 uses 0x9cc00000.

Split this first translation from 0x80000000 to 0x60000000 and
0xc0000000. Shrink the 0x40000000 translation and move down
to 0x70000000. This provides the same system IP coverage without
blocking access to the first 512MB of DRAM.

While here, fix typo with leading 0 for a couple BASE_ADDR
translations, no functional change.

Signed-off-by: Andrew Davis <afd@ti.com>
2025-03-17 13:55:59 +01:00
Nhut Nguyen
be6abc3208 drivers: pinctrl: Add support for RZ/T2L
This is the initial commit to support PINCTRL driver for Renesas RZ/T2L

Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
Signed-off-by: Hieu Nguyen <hieu.nguyen.ym@bp.renesas.com>
2025-03-17 09:26:13 +01:00
Hieu Nguyen
31397c2c76 soc: renesas: Add support for Renesas RZ/T2L
Add support for Renesas RZ/T2L

Signed-off-by: Hieu Nguyen <hieu.nguyen.ym@bp.renesas.com>
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
2025-03-17 09:26:13 +01:00
Robert Hancock
7a276208aa soc: xlnx: zynqmp: Enable I/D caches
On ZynqMP, the RPU Cortex-R5 cores come up by default without
instruction and data caches enabled. Enable them as part of
soc_early_init_hook when CONFIG_CACHE_MANAGEMENT is enabled.

Signed-off-by: Robert Hancock <robert.hancock@calian.com>
2025-03-17 02:20:50 +01:00
Chia-Yang Lin
bd365a0bae drivers: rtc: rts5912: add rtc driver
Add rtc driver for Realtek rts5912.

Signed-off-by: Chia-Yang Lin <cylin0708@realtek.com>
2025-03-15 06:43:46 +01:00
Gerard Marull-Paretas
c93860fae2 soc: nrf54l: fix LFXO INTCAP calculation formula
The formula has been changed in latest version of the PS, adjust code
accordingly.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2025-03-15 00:36:00 +01:00
Adrian Bonislawski
e7f2e1412d soc: intel_adsp: set MMU permissions for .cold* sections
This patch will set MMU permissions for .cold* sections
Fixes cold section execution if MMU is enabled

Signed-off-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
2025-03-15 00:35:13 +01:00
Anas Nashif
f29ae72d79 kernel: rename 'dumb' scheduler and simply call it 'simple'
Improve naming of the scheduler and call it what it is: simple. Using
'dumb' for the default scheduler algorithm in Zephyr is a bad idea.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-03-15 00:34:58 +01:00
Carles Cufi
3195165d86 soc: nordic: nRF54L: Move a few options from boards to the SoC definition
A few option defaults that were so far defined in the board _defconfig
files are actually entirely SoC family (nRF54L) dependant, so it makes
much more sense to have them defined at the SoC family level in order
for all boards based on these SoCs to automatically inherit them.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2025-03-14 17:56:01 +01:00
Author You
1ec7e525ee bluetooth: coex: increase BT_LONG_WQ stack to fix coex app hang
Currently, coex application is enable the mbedtls and PAS feature,
this causes BT_LONG_WQ thread to use more stack size.

Signed-off-by: Author You <author.you@nxp.com>
2025-03-14 17:55:30 +01:00
Maximilian Werner
1d8ef24642 soc: mcxc: fix soc-part-number in kconfig
The part numbers for MCXC141VLH and MCXC142VFM
have all been set to MCXC141VFM, which lead to
build errors.

Signed-off-by: Maximilian Werner <maximilian.werner96@gmail.com>
2025-03-14 17:54:49 +01:00
Camille BAUD
f67b321607 soc: Introduce Qingke V4C-based CH32V208 SoC
This introduces the only CH32 Serie Qingke V4C SoC, CH32V208

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-03-14 14:39:30 +01:00
Hoang Nguyen
da0c8e5842 drivers: pinctrl: Add support for RZ/N2L
This is the initial commit to support pinctrl driver for Renesas RZ/N2L

Signed-off-by: Hoang Nguyen <hoang.nguyen.jx@bp.renesas.com>
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
2025-03-14 09:23:50 +01:00