Commit Graph

120 Commits

Author SHA1 Message Date
Krzysztof Chruściński 7b3acdb5c0 dts: common: nordic: nrf54l20: Adjust RAM size to 511k
Last 1k is used for saving VPR context and shall not be exposed.
Limiting RAM to 511k.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-10-16 16:33:48 +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
Grzegorz Swiderski 365e9d63d0 dts: bindings: Update Nordic owned memory bindings
This concerns both `nordic,owned-memory` and `nordic,owned-partitions`.

Introduce a property named `nordic,access`, which is meant to replace
the `owner-id` and `perm-*` properties. It allows for describing how
multiple domains should access a single memory region, possibly with
different permissions per owner, but without having to create more than
one DT node for this purpose.

This change is also motivated by updated memory protection requirements
on the nRF54H20, which mandate that a given memory region must only be
reserved by one domain, even if multiple domains can have access to it.
This restriction is now described in the binding itself.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2024-10-15 04:11:21 -04: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
Sebastian Głąb 5b607ed5c7 dts: arm: nordic: Define power states for nrf54h20/cpuapp
Add definition of low power states 'idle' and 's2ram'
for nrf54h20/cpuapp.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2024-10-01 10:45:34 +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
Ivan Iushkov e35781419b dts: nordic: Add Channel Sounding support to nrf-radio
- Added `cs-supported` property to nrf-radio devicetree
- Added `HAS_HW_NRF_RADIO_CS` Kconfig option which is set if
`cs-supported` property is enabled
- Enabled `cs-supported` property for nrf54-series devices
- Disabled `cs-supported` on nrf54l15bsim because it is not
yet supported

Signed-off-by: Ivan Iushkov <ivan.iushkov@nordicsemi.no>
2024-09-26 03:32:03 -04:00
Karsten Koenig 43f9488045 dts: bindings: arm: nordic: Add TDDCONF sources
For nrf54h20 a range of combinations exist to configure the test and
debug domains data sources and sinks. Expose them in DTS to allow
configuring them. Also drop the previous style which was too rigid to
extend to cover all cases cleanly. The old style was only used in a
single sample application so far.

Signed-off-by: Karsten Koenig <karsten.koenig@nordicsemi.no>
2024-09-25 12:00:04 +01:00
Jacob Winther dcc1d0e49c boards: nrf52840 common uf2 partition
Common uf2 partition configurations to avoid duplication in boards.

There appears to be a bit of confusion about exactly what a proper
UF2 partition map looks like for the nrf52840, so common dts
configurations should help to avoid confusion.

Configuration for SoftDevice v6 and v7 provided as thats what was
fouond in use in tree already.

Signed-off-by: Jacob Winther <jacob@9.nz>
2024-09-23 18:10:08 -04:00
Krzysztof Chruściński ac1cc17ae9 dts: nordic: nrf-uarte: Add frame-timeout-supported property
Add property which indicates that UARTE support frame timeout
feature. Property is added to nrf54h20, nrf9280, nrf54l20 and
nrf54l15.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-09-23 10:04:25 +02:00
Jacob Winther b211e1b3a3 boards: nrf52840 common partition dtsi
Add common default flash partition layout for nrf52840 as many boards
have used identical flash layouts.

The default flash layout was updated to remove scrach in 2022 (9a84258)
but almost all boards were still using the previous layout, so this
updates them to the new layout with allows for larger applications.

This commit also incorporates feeedback from @nordicjm in PR #77791 to
change slot0 to 0x00077000 and slot1 to 0x00075000: "If you use swap
using move, you need a sector for the data to be moved up by, and you
need space for the swap status fields, which is about a sector, so by
making the changes here you get the full 0x65000 for an image, without
these changes you get 0x64000.

Signed-off-by: Jacob Winther <jacob@9.nz>
2024-09-12 17:06:34 -04:00
Krzysztof Chruściński b7b25fe09c dts: nordic: nrf-uarte: Add endtx-stoptx-supported property
Add information to the device tree if UARTE instance has a HW feature
which is the ENDTX_STOPTX short.

Add this property to all instances in nrf54hl15, nrf54l20, nrf9280
and nrf54h20.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-09-11 20:14:30 -04:00
Marek Matej 7ad79a838b dts: espressif: Partition tables
Add general purpose partition tables to prevent
putting copied version of the same table into the
every ESP32 board dts.

Signed-off-by: Marek Matej <marek.matej@espressif.com>
2024-09-09 18:42:01 -04: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 3e5a66d43d dts: Add nordic,nrf-tddconf node
Add node which configures trace and debug on nrf54h20.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-09-06 11:31:27 -04:00
Krzysztof Chruściński f2ec240b20 dts: nordic: Add nrf-tbm (trace buffer monitor) node
Add new binding and a node to nrf54h20. Update Kconfig and nrfx_config
to include nrfx_tbm driver when node with that compatible is enabled.

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
Bjarki Arge Andreasen fbebb5dce5 dts: bindings: add nrf-fll16m and nrf-lfclk bindings
Add bindings for nrf-fll16m and nrf-lfclk and update in-tree nodes
and boards to use them in place of the fixed-clock binding.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2024-09-05 17:00:24 -04:00
Andrzej Głąbek 9ab7fc90cd dts: nordic: nrf54h20: Add nodes representing HFXO and LFXO
The HFXO and LFXO oscillators have properties which need to be
specified in the devicetree. These properties are used by clock
controllers, which get these properties from the devicetree.

The BICR also contains these properties. For now, the properties
are duplicated in the bicr node in the devicetree.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2024-09-05 17:00:24 -04:00
Andrzej Głąbek b0316c2c1d dts: nordic: nrf54h20: Add references to clock controllers
Add references to clock controllers so users can obtain
those for particular peripherals with DT macros like
DT_CLOCK_CTRL()

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2024-09-05 17:00:24 -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
Jordan Yates 51c0cb9f5c dts: common: nordic: default memory partitioning
Add default memory partitioning for the nRF53 and nRF91 series devices.
As these partitions refer to TF-M and the TF-M layouts cannot be
modified, use the partitioning scheme from TF-M.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2024-09-04 12:52:31 +02:00
Karol Lasończyk ad3ab05259 dts: Add missing PDM entries to nRF54L15 device
Add PDM instances in nRF54L15.

Signed-off-by: Karol Lasończyk <karol.lasonczyk@nordicsemi.no>
2024-08-29 12:02:35 +02:00
Karol Lasończyk 85c292ac59 soc: nordic: Move DCDC configuration to DT for nRF54L15
Moving configuration for nRF54L15 device from kconfig to dts.

Signed-off-by: Karol Lasończyk <karol.lasonczyk@nordicsemi.no>
2024-08-23 15:49:52 +01: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 746133a24a dts: nordic: nrf54h20: add nordic,clockpin-enable settings
Define which signals require CLOCKPIN enablement at SoC dts files.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-08-12 12:58:58 +02:00
Grzegorz Swiderski 79b0154f5e dts: nordic: Remove cpu property from VPR nodes
It's a superfluous value which used to be required by tooling, but now
we can remove it.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2024-08-07 19:01:55 -04:00
Grzegorz Swiderski fa2240ba31 dts: nordic: nrf54h20: Fix PPR CLIC address
Between SoC revisions, the address was moved from 0x5F909000 in the
global domain, to 0xF0000000 in PPR's private address space.

Move the corresponding DT node out of `cpuppr_vpr` range to a separate
bus node, which is considered inaccessible to all cores but `cpuppr`.
This is expressed by selectively leaving out the `simple-bus` compatible
and `ranges` property, i.e., they're only set in `nrf54h20_cpuppr.dtsi`.

This lets the interrupt controller node remain visible at system level,
for the purpose of describing IRQ mappings between cores in devicetree.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2024-08-07 19:01:55 -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 d8c84309e0 dts: nordic: nrf54h20: define cpuflpr VEVIF RX instance
Define the FLPR VEVIF instance (used to receive _tasks_).

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

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-08-06 14:32:40 +02:00
Gerard Marull-Paretas b5522411e3 dts: nordic: nrf54h20: define cpuflpr_vpr coprocessor
Add a new entry for the FLPR co-processor instance.

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 7c011741fa dts: nordic: nrf54h20: set clocks for uart120 instance
UARTE120 is clocked by HFSFLL120 instance.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-08-06 14:32:40 +02:00
Gerard Marull-Paretas 2552978df3 dts: nordic: nrf54h20: define hsfll120 instance
HSFLL120 is a clock used by fast peripherals, and it is controlled by
the system controller. From an application perspective, it is a fixed
clock. Note that it has multiple outputs (clk_main @ 320MHz, and
clk_main2|4 which provide the main clock divided by 2 and 4,
respectivelu). Only the main frequency is represented for now.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-08-06 14:32:40 +02:00
Gerard Marull-Paretas c2cbbd7238 dts: nordic: nrf54h20: fix uarte120 IRQ
It's 230, not 229.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-08-06 14:32:40 +02:00
Rubin Gerritsen 893c4ed4f9 modules: hal_nordic: Support EGU130 driver instance
Adds the glue code to enable this.

Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
2024-07-27 15:15:07 +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
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
Karol Lasończyk 15fa37d356 dts: Update SAADC compatible and expand nRF54H20 dtsi
Adds full description of the adc node and support for memory regions.

Signed-off-by: Karol Lasończyk <karol.lasonczyk@nordicsemi.no>
2024-06-11 11:37:59 +01:00
Grzegorz Swiderski 742c728c7e dts: nordic: Add RESETINFO
Add devicetree nodes for the Reset Information registers on nRF54H20,
along with a new binding.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2024-06-06 10:03:15 +02:00
Gerard Marull-Paretas 8f27e49495 dts: common: nordic: nrf54h20: define can120
Define CAN120 instance.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-05-30 05:20:50 -07:00
Gerard Marull-Paretas 8e46f3c656 dts: common: nordic: nrf54h20: add CANPLL
Define CANPLL, an AUXPLL IP instance used by the CAN IP. PLL settings
are hardcoded in SoC files, as this PLL should not be configured by the
application. It is meant to always run at 80 MHz.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-05-29 08:30:42 -07:00
Gerard Marull-Paretas b88a1f744a dts: common: nordic: nrf54h20: define hfxo
Define HFXO (High Frequency Crystal Oscillator). This clock is managed
by system controller, from an application point of view it is a fixed
clock.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-05-29 08:30:42 -07:00
Sebastian Bøe 90332b9a0b dts: nordic: 54l: Change the peripheral address map for ns
Define peripherals with the 0x4000_0000 address range when building
for non-secure.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2024-05-24 18:00:47 -04:00
Sebastian Bøe 2c19d3ea92 dts: nordic: 54l: Don't define UICR for the non-secure domain
Don't define UICR for the non-secure domain as it is hardware fixed to
secure.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2024-05-24 18:00:47 -04:00
Sebastian Bøe 50aaaa30c2 dts: nordic: 54l: Don't define wdt30 for the non-secure domain
Don't define wdt30 for the non-secure domain as it is hardware fixed
to secure.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2024-05-24 18:00:47 -04:00