Commit graph

271 commits

Author SHA1 Message Date
Krzysztof Chruściński
b0afa1e571 soc: nordic: nrf54l: Add nrf54l09 enga SoC
Add nrf54l09 EngA SoC in soc, dts and hal_nordic.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-01-08 19:10:24 +01:00
Gerard Marull-Paretas
e41919abb3 dts: arm: nordic: nrf54l05/10/15: fix cpuapp_vevif_rx reg
The reg address was not equal to the one in the node name, producing
a build warning.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2024-12-12 16:20:31 +01:00
Rafał Kuźnia
401f784337 dts: nordic: Add dppic0 label to nRF53 and nRF91 devices
Added dppic0 node label, alongside the dppic to maintain backward
compatibility. The use of dppic0 is preferred.

Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>
2024-12-04 09:23:55 +01:00
Rafał Kuźnia
d890cfd818 soc: nordic: enable DPPI and PPIB nodes by default
The DPPI and PPIB peripheral nodes must be enabled to allow the
CONFIG_HAS_HW_NRF_DPPIC to be set. This change is consistent with what
was done on nRF5340 and does not introduce any additional memory
overhead, because there is no Zephyr driver behind the nrf-dppic and
nrf-ppib bindings.

Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>
2024-12-02 18:18:39 +01:00
Carles Cufi
e78832034f soc: nordic: Introduce the nRF54L05 and nRF54L10
These two new ICs are variants of the nRF54L15 with different memory
sizes:

- nRF54L05: 500KB RRAM, 96KB RAM
- nRF54L10: 1022KB RRAM, 192KB RAM
- nRF54L15: 1524KB RRAM, 256KB RAM

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2024-11-21 09:26:38 +01:00
Gerard Marull-Paretas
4e5df113c5 dts: nordic: remove clock-frequency from all i2c nodes
Device driver now defaults to I2C_BITRATE_STANDARD if not specified.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-10-29 09:27:05 -07:00
Carles Cufi
51c1e45301 soc: nordic: Remove the nRF54L15 EngA
The production version of the nRF54L15 SoC is now available, so remove
the initial Engineering A (EngA) preview version.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2024-10-21 01:46:39 +01:00
Nikodem Kastelik
d494769948 dts: nordic: refactor bindings helper symbols for SAADC
Split header files containing symbols denoting SAADC inputs
so that only supported inputs can be used for given device.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2024-10-16 09:59:16 +02:00
Bjarki Arge Andreasen
ffbda1b0f8 dts: common: nordic: adjust comparator nodes
Adjust comparator nodes of nrf SoCs to exclude the unused
io-channel-cells property and simplify the comment describing how
to configure the comparator hardware block as COMP or LPCOMP for
SoCs which support this.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2024-10-10 20:24:52 -04:00
Dominik Chat
70419bdee7 dts: nordic: nrf5340: Change nRF5340 IPC backend to icbmsg
Change the default IPC backend of nRF5340 to icbmsg.

Signed-off-by: Dominik Chat <dominik.chat@nordicsemi.no>
2024-10-04 10:46:18 +01:00
Gerard Marull-Paretas
9f0ebb64a6 drivers: i2c: nrfx_twim: simplify PM by using pm_device_driver_init
- Driver always initializes the device in the suspended state
- If CONFIG_PM_DEVICE_RUNTIME=n, device PM callback will be called with
  RESUME action, thus setting up pins to default state and enabling the
  peripheral

NOTE: when CONFIG_PM_DEVICE=n, the pinctrl sleep state will not be
available (-ENOENT) and so never applied, thus avoiding a pin
suspended->active transition.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-09-30 17:11:20 +01:00
Gerard Marull-Paretas
34c7abffa2 dts: arm: nordic: nrf5340: instantiate HF crystal oscillator
HFXO is represented as a child of the oscillators node. A new node is
created because it requires its own properties (see the binding for more
details).

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-09-20 11:08:39 +02:00
Gerard Marull-Paretas
41d433051f dts: arm: nordic: nrf5340: instantiate LF crystal oscillator
LFXO is represented as a child of the oscillators node. A new node is
created because it requires its own properties (see the binding for more
details).

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-09-20 11:08:39 +02:00
Gerard Marull-Paretas
f742741f72 dts: arm: nordic: nrf5340: adjust OSCILLATORS IP description
- Create a new compatible: nordic,nrf53x-oscillators, as other series,
  e.g. nRF54LX contain a similar but different IP (with PLL control,
  etc.)
- Adjust DT: use recommended node name, remove redundant status okay.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-09-20 11:08:39 +02:00
Alberto Escolar Piedras
1b4c47ab28 Revert "dts: nordic: nrf5340: Change nRF5340 IPC backend to icbmsg"
This reverts commit 518de763a6.

This commit switched nrf5340 devices to use the icbmsg
IPC backend.
Unfortunately this backend is not currently supported
in the nrf5340bsim target (it is not properly configured)
which results in a segfault during its initialization.
As this issue is currently blocking CI for all BT development
in Zephyr, let's revert this provisionally while we add
support for it.

See
https://github.com/zephyrproject-rtos/zephyr/issues/78099
for more info.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-09-06 17:51:39 -04:00
Krzysztof Chruściński
508434b2b2 dts: nordic: nrf54h20: Add stmesp nodes
Add nodes for STMESP peripherals.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-09-06 11:31:27 -04:00
Dominik Chat
518de763a6 dts: nordic: nrf5340: Change nRF5340 IPC backend to icbmsg
Change the default IPC backend of nRF5340 to icbmsg.

Signed-off-by: Dominik Chat <dominik.chat@nordicsemi.no>
2024-09-05 17:02:31 -04:00
Karol Lasończyk
f5fd5c06f5 dts: Add support for nRF54L20 SoC
Introduce nRF54L20 description in dts.

Signed-off-by: Karol Lasończyk <karol.lasonczyk@nordicsemi.no>
2024-09-04 07:02:19 -04:00
Karol Lasończyk
25e90e7bb0 dts: boards: Add nRF54L15 ENGA configuration
Add conditional DTS compilation in case of ENGA version.

Signed-off-by: Karol Lasończyk <karol.lasonczyk@nordicsemi.no>
2024-08-29 12:02:35 +02:00
Emanuele Di Santo
d4b1e1e302 dts: Add initial support for nRF9280 SiP
Add definition of the nRF9280 SiP with its Application,
Radio, and Peripheral Processor (PPR) cores and a basic set
of peripherals: GRTC, GPIOs, GPIOTE, and UARTs and few others.

Signed-off-by: Emanuele Di Santo <emdi@nordicsemi.no>
Co-authored-by: Andreas Moltumyr <andreas.moltumyr@nordicsemi.no>
2024-08-22 14:24:38 -04:00
Gerard Marull-Paretas
c2ddba98a0 dts: nordic: nrf54h20: define cpuflpr VEVIF TX instance
Define the FLPR VEVIF instance (used to send _tasks_).

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-08-06 14:32:40 +02:00
Gerard Marull-Paretas
d3ab37ceab dts: nordic: nrf54h20: define cpuflpr
Define the FLPR VPR CPU instance.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-08-06 14:32:40 +02:00
Gerard Marull-Paretas
d11db98d42 dts: bindings: regulator: add nordic,nrf91x-regulators
To describe nRF91X specific REGULATORS IP.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-08-06 09:17:10 +01:00
Gerard Marull-Paretas
7feacc62d1 dts: arm: nordic: nrf5340: instantiate regulators
Instantiate all available regulators: VREGMAIN, VREGRADIO and VREGH.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-08-06 09:17:10 +01:00
Gerard Marull-Paretas
8d6695030f dts: bindings: regulator: add nordic,nrf53x-regulators
nRF53X regulator IP is specific to that series, eg, not equal to nRF91X.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-08-06 09:17:10 +01:00
Gerard Marull-Paretas
af0353210c dts: arm: nordic: nrf52x: instantiate regulators
The SoC main supply is part of the POWER IP block. The POWER IP is a
kind of multi-purpose block, so each of its functions is described as a
child node in DT, like similar other MFD. This allows to have specific
properties, e.g. for DC/DC mode.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-08-06 09:17:10 +01:00
Piotr Koziar
c44106c726 dts: nrf54h20: add missing global dppic and ipct configs
Adds device tree configs for dppic and ipct connections
between the Radio core and the Global domains.

The connections are required by the radio driver.

Signed-off-by: Piotr Koziar <piotr.koziar@nordicsemi.no>
2024-07-30 18:26:35 +01:00
Vidar Lillebø
9b7c9ea720 dts: nordic: nrf54l15: Fix secure GPIOTE IRQn
Updates dts files to use the same GPIOTE interrupt lines as NRFX
for zephyr when TF-M is used.

Signed-off-by: Vidar Lillebø <vidar.lillebo@nordicsemi.no>
2024-07-27 15:13:00 +03:00
Jakub Zymelka
9473e3236d dts: nordic: Align boards dts to new VEVIF, BELLBOARD nomenclature
After changing the VEVIF and BELLBOARD names,
the dts for the individual boards must be aligned.

Signed-off-by: Jakub Zymelka <jakub.zymelka@nordicsemi.no>
2024-06-15 04:41:47 -04:00
Jakub Zymelka
c7b36517ec dts: nordic: nrf54l15: Add mbox VEVIF nodes
Add a mbox VEVIF nodes to be used for communicating FLPR -> APP.

Signed-off-by: Jakub Zymelka <jakub.zymelka@nordicsemi.no>
2024-06-15 04:41:47 -04:00
Rubin Gerritsen
768c45a11d Bluetooth: Controller: Clarify that it can be overridden out of tree
Nordic devices are commonly used with the nRF Connect SDK.
There the SoftDevice Controller is set as the default
Bluetooth Controller. To avoid confusion when reading DTS
and Kconfig files, clarify this by adding a note.

Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
2024-06-14 15:33:59 +02:00
Vidar Lillebø
6607c73425 nordic: dts: Fix grtc interrupt line for secure nRF54L
When TF-M is used, zephyr must use a different interrupt line for
GRTC.

Signed-off-by: Vidar Lillebø <vidar.lillebo@nordicsemi.no>
2024-06-12 14:20:42 +03:00
Johan Hedberg
6e584a4773 Bluetooth: drivers: Convert IPC driver to new API
Convert the ipc.c HCI driver to the new HCI driver API.

Signed-off-by: Johan Hedberg <johan.hedberg@gmail.com>
2024-06-11 19:42:49 -04:00
Johan Hedberg
44e0f5fee3 Bluetooth: controller: Update to new HCI driver API
Update the native controller to the new HCI driver API. The devicetree
node is placed under existing `radio` nodes, which seemed like the most
intuitive option.

Signed-off-by: Johan Hedberg <johan.hedberg@gmail.com>
2024-06-11 19:42:49 -04:00
Piotr Koziar
cd5d5a64f5 dts: nrf54h20: add grtc channel 15 to the pool.
Adds channel 15 to the pool of grtc channels available
for allocation (i.e. with 'z_nrf_grtc_timer_chan_alloc')
on nRF54H20.

The change is motivated by lack of available channels
for the nrf_802154_timestamper when building for nRF54H20.

Signed-off-by: Piotr Koziar <piotr.koziar@nordicsemi.no>
2024-06-10 15:00:01 +03:00
Sebastian Głąb
2f17c46fb1 drivers: wdt: nrf: Add WDT instances that exist in nrf54h20
Add WDT instances no. 010, 011, 131, 132.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2024-05-09 15:44:40 +02:00
Jakub Zymelka
5e4cb886f4 dts: nordic: Change IRQ number for GPIOTE instances for nRF54L15
Adjusting the interrupt numbers for individual cores
to match the definitions in nrfx.

Signed-off-by: Jakub Zymelka <jakub.zymelka@nordicsemi.no>
2024-04-25 12:43:58 +00:00
Grzegorz Swiderski
163cacbe4b dts: nordic: nrf54h20: Add SysCtrl VEVIF node
Add a VEVIF node to be used for communicating with SysCtrl (cpusys).
This is the only part of the SysCtrl VPR exposed to local domains.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2024-04-17 14:36:12 +02:00
Jakub Zymelka
bce52c8057 dts: add nRF54L15 FLPR core
Add nRF54L15 FLPR core support.

Signed-off-by: Jakub Zymelka <jakub.zymelka@nordicsemi.no>
2024-04-16 18:36:58 +01:00
Krzysztof Chruściński
8acc6a961a dts: common: nordic: nrf54: Add rx-delay property to SPI
Add rx-delay property to all SPI nodes.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-04-11 14:30:41 +02:00
Nikodem Kastelik
0401d063fa dts: nordic: add PWM instances for nRF54 Series
Add definitions of PWM peripheral instances so it can be utilized
on nRF54H20 and nRF54L15 devices.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2024-04-09 11:05:46 +02:00
Piotr Pryga
3140b9585b dts: nrf54h20: Add missing global dppic and ipcst configs
There were missing global dppic and ipct channels configuration
that allows to deliver events from global peripherlas like GRTC
to Radio domain.

Add missing configuration to nrf54h20 dtsi file.
Signed-off-by: Piotr Pryga <piotr.pryga@nordicsemi.no>
2024-03-21 15:24:06 +01:00
Piotr Pryga
e0a23663f6 dts: nrf54h20: move GRTC channels allocation to the SOC dtsi
The GRTC channels and irqs configuration for Radio domain
is SOC specific not board specific. Move the configuration
to SOC dtsi file.

Signed-off-by: Piotr Pryga <piotr.pryga@nordicsemi.no>
2024-03-21 15:24:06 +01:00
Piotr Pryga
6608ff810b boards: nordic: Add to GRTC missing child-owned-channels allocation
The child-owned-channels property of GRTC is used by nrfx_grtc
driver to exclude channels for common pool of channels allowed
for dynamic allocation. That is sort-of workaround for missing
property that allowes to remove some channels from the pool.

There are also not aligned GRTC IRQs for nRF54H20 and nRF54L15.
Only one of avaialbe IRQs was added to GRTC in DTS whereas
there should be two. That allows to find second IRQ by other
drivers that use GRTC peripehral.

Signed-off-by: Piotr Pryga <piotr.pryga@nordicsemi.no>
2024-03-21 09:15:27 +01:00
Mateusz Michalek
e0b748a6ce dts: arm: nordic: nrf54l15 write block size
write-block-size correction.

Signed-off-by: Mateusz Michalek <mateusz.michalek@nordicsemi.no>
2024-03-20 07:53:03 -05:00
Andrzej Głąbek
a8bb9fd1c1 dts: Remove support for nRF54H20 EngA
This was a preview revision of the SoC that will no longer
be supported.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2024-03-18 19:11:36 +00:00
Andrzej Głąbek
029081a3f7 dts: nordic: Add initial support for nRF54H20
Add definition of the nRF54H20 SoC with its Application, Radio,
and Peripheral Processor (PPR) cores and an initial set of
peripherals.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2024-03-18 19:11:36 +00:00
Gerard Marull-Paretas
624c87af16 dts: arm: nordic: keep NFCT disabled by default
Enabling peripherals at SoC dts files should not be done, unless there
are good reasons (e.g. always needed peripherals). NFCT node should
either be enabled at board level, or, at application level.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-03-12 09:48:22 +00:00
Gerard Marull-Paretas
dec5ab382f dts: nordic: nrf54h20_enga: add BELLBOARD nodes
Add nodes for APP/RAD BELLBOARD peripherals.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-03-05 16:50:36 +00:00
Gerard Marull-Paretas
b823bacecb dts: nordic: nrf54h20_enga: add PPR VEVIF nodes
Add a new nodes for PPR's VEVIF. In app cores, VEVIF registers are part
of the VPR peripheral, so it is exposed as a child node (since it
requires its own properties, eg #mbox-cells). In VPR, it's a CPU child
since it's not a memory-mapped peripheral, but used with CSRs.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-03-05 16:50:36 +00:00