Commit graph

230 commits

Author SHA1 Message Date
Sebastian Głąb
2b4f64522e modules: hal_nordic: nrfx: Add mising UARTE23/24 Kconfigs
Add UARTE23 and UARTE24 missing Kconfig options and their
translation to NRFX configuration macros.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2025-06-13 10:31:17 -04:00
Sebastian Głąb
c0a28ab561 drivers: spi: Support spim23 and spim24 instances
Extend SPI driver with possibility to use
- spim23, spim24,
- spis23, spis24.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2025-06-13 10:31:17 -04:00
Krzysztof Chruściński
1dc42fc227 soc: nordic: nrf54h: Allow using NFCT pins as gpios on cpurad
NFCT is by default assigned to application so DT node does
not need to be enabled or reserved in DT to have access to
NFCT registers. On cpurad NFCT must be reserved to enable
register access and then antenna pins can be configured as
gpios.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-06-12 11:46:21 +02:00
Krzysztof Chruściński
2d82970710 soc: nordic: common: Fix HAS_HW_NRF_NFCT condition
Include nordic,nrf-nfct-v2 compatible in the option.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-06-12 11:46:21 +02:00
Jakub Zymelka
f87f2dc9b2 soc: nordic: common: poweroff: Set VPR to remain in its reset state
CM33 must write MEMCONF.POWER[VPR].RET = 0 before entering System OFF.
This bit drives the vprSavedCtx input to VPR. Forcing it low will
disable the Hibernate wake feature in VPR, so that VPR will remain
in its reset state when waking from OFF.

Signed-off-by: Jakub Zymelka <jakub.zymelka@nordicsemi.no>
2025-06-12 11:34:10 +02:00
Tomasz Chyrowicz
5e54100551 boards: nrf54h20_iron: Allow radio updates
Add necessary changes to provide a simple, updateable radio image.

Signed-off-by: Tomasz Chyrowicz <tomasz.chyrowicz@nordicsemi.no>
2025-06-12 11:33:10 +02:00
Adam Kondraciuk
fa55c30e46 soc: nordic_nrf: add support for TDM
Add Kconfig options for TDM130 and TDM131.

Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
2025-06-02 13:29:10 +02:00
Marcin Szymczyk
b5ca5b4147 soc: nordic: nrf54l: fix ordering in Kconfig
Application cores should be next to eachother.

Signed-off-by: Marcin Szymczyk <marcin.szymczyk@nordicsemi.no>
2025-05-29 15:16:52 +01:00
Karol Lasończyk
22ffe4f531 soc: drivers: nrf: Add support for UARTE23 and UARTE24
Extends configuration to support instances used in new SOCs.

Signed-off-by: Karol Lasończyk <karol.lasonczyk@nordicsemi.no>
2025-05-27 10:29:41 +02:00
Krzysztof Chruściński
80b9040146 soc: nordic: dmm: Add lock around sys_heap operations
sys_heap alloc and free are not thread safe so lock is needed to
prevent data corruption.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-05-23 15:31:25 +02:00
Jamie McCrae
270f5d6771 soc: nordic: Use proper devicetree entries for clock frequency
Sets the SYS_CLOCK_HW_CYCLES_PER_SEC Kconfig from devicetree
entries. Also fixes invalid configuration on nrf54h20 whereby it
attempts to take the clock frequency from a peripheral that does
not exist

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2025-05-23 14:04:32 +02:00
Sebastian Bøe
d949932234 cpuconf: Boot the radiocore from the app in soc_late_init_hook
Boot the radiocore from the app in soc_late_init_hook.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2025-05-22 16:17:35 +02:00
Sebastian Bøe
c0c4170c42 soc: nrf54: Port SYS_INIT to use soc_early_init_hook
Port SYS_INIT to use soc_early_init_hook as SYS_INITs are legacy.

Due to moving dmm_init() from PRE_KERNEL_1 SYS_INIT to
soc_early_init_hook(), the DMM test is also updated to ensure that
its setup function runs before dmm_init().

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
Signed-off-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
2025-05-22 16:17:35 +02:00
Krzysztof Chruściński
08d327d595 soc: nordic: nrf54h: Fix s2ram
Cache was not enabled when s2ram did not completed which
lead to system malfunction. Always power up cache when
returning from s2ram function.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-05-20 16:08:39 +01:00
Marcin Szymczyk
fe1b0e31b7 soc: nordic: allow setting VPR_LAUNCHER support for out of tree SoCs
Make the compilation of vpr_launcher dependent on sysbuild Kconfig
that can be set by SoC.

Signed-off-by: Marcin Szymczyk <marcin.szymczyk@nordicsemi.no>
2025-05-20 15:24:58 +02:00
Bjarki Arge Andreasen
9dfeaf2054 soc: nordic: nrf54h: gpd: select PINCTRL
Select PINCTRL if SOC_NRF54H20_GPD is selected as it is dependent
on it.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-05-14 16:27:10 +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
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
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
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
Michal Kozikowski
9a6f116a6a soc: nordic: nrf54h: Disable GPD for MCUBoot
Disable GPD for MCUBoot build, as it cannot be
reinitialized later in application (SDFW does not
support reinitialization).

Also, remove the GPD disabling from the mcumgr sample
for nRF54H20 iron board app - it was the reinitialization
that caused problems.

Signed-off-by: Michal Kozikowski <michal.kozikowski@nordicsemi.no>
2025-04-25 14:06:08 +02:00
Michal Kozikowski
ea6e6c66a1 boards: nordic: nrf54h20dk iron board MCUBoot support
Provide proper adaptions as bootloader ROM offset, flash load
offset and dts definitions for the nRF54H20 iron board to make it
ready for the MCUBoot bootloader.

Signed-off-by: Michal Kozikowski <michal.kozikowski@nordicsemi.no>
2025-04-18 17:46:40 +02:00
Jamie McCrae
b59d6d3c2d soc: nordic: Add missing flash runner config
Adds missing qualifiers for grouping flash runner configuration

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2025-04-18 10:41:08 +02:00
Krzysztof Chruściński
a36b154fd1 soc: nordic: nrf54h: power: Enable cache as early as possible
Add nrf_cache_power_up and nrf_cache_power_down functions. In case of
s2ram power up cache as early as possible, before restoring ARM core
registers. It improves restore time from 180 us to 33 us.

As a minor optimization nrf_memconf_ramblock_control_mask_enable_set is
used which allows to control ram blocks for icache and dcache in a
single register write.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-04-09 15:24:02 +02:00
Andrzej Głąbek
4dded19ad7 soc: nordic: Disable cache for soft peripheral RAM region in nRF54H/nRF92
Add an entry for the RAM region assigned to soft peripherals that will
disable caching for that region. Without this, communication with the
FLPR coprocessor cannot be performed correctly.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2025-04-08 16:11:31 +02:00
Krzysztof Chruściński
4b1691531b soc: nordic: nrf54h: Change PM_DEVICE_RUNTIME default
nrf54h20 device requires device runtime PM to be enabled when
device PM is in use.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-04-03 11:07:55 +02:00
Krzysztof Chruściński
02644b28e3 soc: nordic: nrf54: Indicate presence of DWT
ARM Cortex-M33 cores in nrf54h20 and nrf54l series have DWT.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-04-01 22:14:44 +02:00
Nikodem Kastelik
c3646a34fd soc: nordic: add option for forcing RAM power on reboot
RAM power configuration is preserved through soft reset,
meaning that there is a risk of accessing powered off RAM blocks
when booting in different application (i.e. bootloader).
Add option to force all RAM blocks to be powered on
before triggering soft reset to prevent this from happening.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2025-04-01 16:28:08 +02:00
Håkon Amundsen
1fac1b917f boards: nordic: add 'iron' board variant
This is needed for next generation Secure Domain firmware.

Signed-off-by: Håkon Amundsen <haakon.amundsen@nordicsemi.no>
2025-04-01 11:54:30 +02:00
Adam Kondraciuk
5aa0827960 soc: nordic: Add nRF54L09 FLPR
Add nrF54L09 FLPR core support.

Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
2025-03-28 08:34:23 +01:00
Nikodem Kastelik
d8506af12a soc: nordic: add support for SPIS120 instance
It is defined as spis120 rather than spi120,
because spi120 is already used for SPIM120 hardware instance,
but their base address is different.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2025-03-22 13:38:34 +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
Ł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
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
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
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
Adam Kondraciuk
d9c5c8d825 soc: nordic: nrf54l: Fix num of irq for nRF54L09
Change number of IRQ parameter for nRF54L09 devices.

Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
2025-03-13 16:54:06 +00:00
Adam Kondraciuk
2055f7d595 soc: nordic: nrf54h: Add SCB retention for s2ram
For the Suspend to RAM procedures the SCB content
also needs to be retained.

Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
2025-03-12 19:03:17 +01:00
Krzysztof Chruściński
7249fac80d soc: nordic: nrf54h: Add option to use NFCT pins as GPIOs
Protection circuit must be disabled to use NFCT antenna pins
as GPIOs. It can be done by adding nfct-pins-as-gpios to nfct
node in the devicetree in cpuapp. Node must be disabled as
NFCT is not used. In legacy platforms same property was added
to uicr node because that information was stored in UICR. In
nrf54h20 it is not part of UICR so property is part of nfct
node.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-03-12 14:04:57 +00:00
Krzysztof Chruściński
1dfe3cba99 soc: nordic: common: vpr: Update custom idle
VPR (FLPR) on nRF54L series has fixed issue with sleeping so
custom CPU idle function does not need to be used there.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-03-12 09:53:42 +01:00
Krzysztof Chruściński
074215a30f drivers: clock_control: nrf: Move NRF_PERIPH_GET_FREQUENCY
Move macro from nrf_clock_control.h to soc_nrf_common.h. Clock control
header fetches many dependencies (e.g. onoff.h) so move macro to more
low level header.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-03-07 19:52:10 +01:00
Krzysztof Chruściński
3fdc8c8bd4 soc: nordic: nrf54l: Explicitly include autoconf.h
Include configuration file for cases when this file is complied
in special builds (e.g. TFM).

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-03-07 19:52:10 +01:00
Krzysztof Chruściński
163f9ba0b9 soc: nordic: nrf54l: Setup power and clock only on secure build
Setup regulators and oscillators only on cpuapp secure target.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-03-07 19:52:10 +01:00
Adam Kondraciuk
50c21f1591 soc: nordic: nrf54l: Fix num of irq for nRF54L20
Change number of IRQ parameter for nRF54L20 devices.

Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
2025-02-18 13:31:26 +01:00
Rafal Dyla
2e44835b21 modules: hal_nordic: Adding SWEXT service
Adding support for SWEXT (SWitch EXTernal) peripheral.

Signed-off-by: Rafal Dyla <rafal.dyla@nordicsemi.no>
2025-02-14 19:39:36 +00:00