Commit Graph

72 Commits

Author SHA1 Message Date
Carles Cufi 5cb8d6c5b4 boards: nordic: Remove v0.8.0 of the nRF54H20 DK
The nRF54H20 Development Kit version 0.8.0 is no longer supported, given
that they should have all been replaced by 0.9.x.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2024-11-16 15:09:14 -05:00
Håkon Amundsen 26603cefaf dts: update memory map and remove ext-uicr
Extended UICR will not be used as its configurations will be merged
with the UICR registers in NVR.

Memory maps changes are needed to align with pre compiled
firmware.

Signed-off-by: Håkon Amundsen <haakon.amundsen@nordicsemi.no>
Signed-off-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
2024-10-27 16:20:25 +01:00
Dominik Kilian cbaafe209c boards: nordic: ipc: added dcache alignement
The nRF54 and nRF92 chips has data cache, which means
the ICMsg and ICBMsg must be configured to follow required
cache alignment of the shared memory.
The `dcache-alignement` needs to be defined for that.

Signed-off-by: Dominik Kilian <Dominik.Kilian@nordicsemi.no>
2024-10-24 03:45:35 +01:00
Nikodem Kastelik 478a40ad89 boards: nordic: nrf54hl: add retained_mem to supported features
Doc and .yaml descriptions shall mention retained_mem
in supported features on affected boards.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2024-10-18 08:17:53 -04:00
Grzegorz Swiderski 85b03949e4 boards: nordic: Flatten shared_ramxx_region nodes
Update the default memory maps for `nrf54h20dk` and `nrf9280pdk` to
remove the `shared_ram20_region` and `shared_ram3x_region` nodes,
because their child nodes no longer need to be grouped together:

  * IPC buffers in RAM20 are statically allocated.
  * DMA buffers in RAM3x have separate access owners.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2024-10-15 04:11:21 -04:00
Grzegorz Swiderski 13b1cfa5ec boards: nordic: Align with updated Nordic owned memory bindings
Apply the following changes to `nrf54h20dk` and `nrf9280pdk`:

* Convert `perm-*` properties to the newly introduced `nordic,access`,
  both in board files and tests.

* Redefine shared regions to specify multiple access owners per node,
  and ensure that each such region is reserved by one domain at a time.
  `cpuapp_cpurad_ram0x_region` is only enabled by Radiocore, while
  `cpuapp_cpucell_ram0x_region` is only enabled by Application core.

* Divide `shared_ram3x_region` so that each sub-region is owned by a
  different domain. Their addresses must be rounded down to fit the
  current UICR format.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2024-10-15 04:11:21 -04:00
Krzysztof Chruściński 01f2740015 boards: nordic: Do not enable hw-flow-control on console
Like in all other legacy boards, hw-flow-control should not be
enabled for console UART. With hw-flow-control sample stuck
during printing some initial information and sample appears to
be not working correctly unless com port is opened.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-10-15 04:05:36 -04:00
Benjamin Cabé 05d59f7207 boards: Set full_name for all boards
Full name was set based on the information available either in board
documentation or in Twister files.
Whenever applicable, vendor name was dropped from the full name so that
all boards have a consistent naming scheme.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-10-10 20:22:21 -04:00
Nikodem Kastelik e0860eb9a6 boards: nordic: nrf54h20dk: make RAM3x DMA region larger for cpurad
Some tests are failing on nrf54h20 cpurad in non-obvious manner
because of this memory region being too small.
Instead of adding overlays to each individual application,
make this region larger at expense of cpuapp equivalent.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2024-10-09 18:37:02 +01:00
Jonathan Nilsen d403d73ad7 boards: nordic: update custom JLink reset scheme for ADACv2
Version 2 of the ADAC interface implemented by secure domain firmware
changes the ADAC RESET command used in the custom reset handling in
the JLink support scripts. The command has been split into two
commands, RESET and START, and has different semantics from
the previous RESET command. The new RESET command resets both the
application and radio domains without starting the CPUs again, and the
START command must then be used to start the CPUs.

Update the JLink support scripts for nrf54h20dk/nrf54h20/cpuapp,
nrf54h20dk/nrf54h20/cpurad, nrf9280pdk/nrf9280/cpuapp and
nrf9280pdk/nrf9280/cpurad so that they read out the ADAC interface
version from the device and use the newer commands if ADAC version 2 is
detected. If the version is lower than 2, the legacy implementation is
used.

Also improve the CTRL-AP MAILBOX transaction implementation
to avoid the need for arbitrary sleeps or unnecessary polling of
the MAILBOX. This should improve stability when using the script.

Signed-off-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
2024-10-08 18:17:33 +01:00
Lukasz Stepnicki 022122d659 boards: nordic: ipc node added dcache alignement
dcache-alignement needs to be defined for ipc to have
consistent memory organization on both endpoints, when
shared memory is cacheable. nrf54h20 and nrf9280 are
using cacheable shared memory.
This is applied for ipc with icmsg backend.

Signed-off-by: Lukasz Stepnicki <lukasz.stepnicki@nordicsemi.no>
2024-10-08 06:00:07 -04:00
Gerard Marull-Paretas df9a84ea31 boards: nrf54h20dk: add board revision 0.9.0
Add a new revision for nRF54H20 DK: 0.9.0. This new hardware spin contains
the final nRF54H20 SoC. Treat it as the default, including twister.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-10-07 18:42:14 +02:00
Gerard Marull-Paretas 47212de9de boards: nrf54h20dk: introduce revision 0.8.0 (current)
The current DK is labeled as revision 0.8.0. Until now, no revisions were
needed, but a new hardware spin is coming, so we'll need to keep at least
two revisions in the near future until the final one becomes the default.
Prepare the board for that scenario. Note that the "old" nRF54H20 SoC is
now nRF54H20 EngB.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-10-07 18:42:14 +02:00
Gerard Marull-Paretas de70ebd66f boards: nordic: do not enable DMA_RAM21 region by default
This region is only required if certain fast peripherals make use of such
region for DMAing. It was now enabled on all builds, often resulting in:

```
[134/134] Linking C executable zephyr/zephyr.elf
Memory region         Used Size  Region Size  %age Used
           FLASH:       24372 B       248 KB      9.60%
             RAM:        4448 B       256 KB      1.70%
       DMA_RAM21:          0 GB        16 KB      0.00% <~~ Not used!
   DMA_RAM3x_APP:          40 B         4 KB      0.98%
        IDT_LIST:          0 GB        32 KB      0.00%
```

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-09-30 17:12:07 +01:00
Tomasz Moń 9815f43fd0 boards: nrf54h20dk: Allow running USB on radio core
Add the necessary entries but keep the usbhs disabled by default on
radio core (it is enabled by default on app core).

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2024-09-25 12:02:33 +01:00
Benjamin Cabé 9a16b93868 samples: hello_world: use zephyr:code-sample directive
Adds missing code-sample directive to the Hello World sample in
preparation for upcoming changes to the Zephyr documentation that will
be leveraging the provided description and metadata.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-09-16 10:05:18 +02:00
Tomasz Chyrowicz d65fdde059 boards: nrf54h20dk: Fix settings partition
Align settings and DFU partition definition with the values, specified
by the design documentation.

Signed-off-by: Tomasz Chyrowicz <tomasz.chyrowicz@nordicsemi.no>
2024-09-12 12:59:33 -04:00
Krzysztof Chruściński 46c2988a4c boards: nordic: nrf54h20dk: Add ETR buffer to the memory map
Add 4k ETR buffer to the memory map.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-09-06 11:31:27 -04:00
Andrzej Głąbek cd89d98e44 boards: nrf54h20dk: Add parameters of mounted HFXO and LFXO
These parameters will be used by the clock controller drivers.

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
Gerard Marull-Paretas 1c689fce18 dts: bindings: nordic,nrf-pinctrl: remove pinctrl nordic,clock-enable
Property is no longer used.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-08-12 12:58:58 +02:00
Gerard Marull-Paretas 371acf4ea4 boards: nrf54h20dk: add xip variant for cpuflpr
While executing from MRAM will likely never happen in practice for the
FLPR core, add such variant for testing.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-08-06 14:32:40 +02:00
Gerard Marull-Paretas e290dfe399 boards: nrf54h20dk: add cpuflpr target
Add a new board target to build for the FLPR core.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-08-06 14:32:40 +02:00
Gerard Marull-Paretas beb5d72548 boards: nrf54h20dk: add cpuapp/cpuflpr IPC configuration
Add IPC configuration to allow communicating between cpuapp and cpuflpr
cores.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-08-06 14:32:40 +02:00
Gerard Marull-Paretas dd58aa1351 boards: nrf54h20dk: add FLPR code partition in MRAM1X
Add a new 48K partition for FLPR in the MRAM1X region.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-08-06 14:32:40 +02:00
Gerard Marull-Paretas 6ba48daa6e boards: nrf54h20dk: shrink cpuapp slot0 partition
So that we have an extra 48K for the FLPR core.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-08-06 14:32:40 +02:00
Gerard Marull-Paretas 9e7b055f63 boards: nrf54h20: define FLPR memory layout within RAM21 region
Define the FLPR memory layout:

- 46K for code data
- 1K/1K for IPC between cpuapp/cpuflpr

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-08-06 14:32:40 +02:00
Gerard Marull-Paretas d838a1f069 boards: nrf54h20dk: push dma_fast_region area to the end of the region
So that we can use the first 48K for FLPR.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-08-06 14:32:40 +02:00
Gerard Marull-Paretas b57481ab18 boards, tests: nrf54h20: add nordic,clock-enable property
Applies to:

- UART/E (TXD)
- SPIM (SCK, MOSI)
- SPIS (SCK, MISO)
- TWIM (SDA, SCL)

Except fast-instances.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-08-06 14:32:40 +02:00
Gerard Marull-Paretas ac618678c7 boards: nrf54h20: extend and fix documentation
- Add PPR core information
- Fix flash/debugging information (nrfutil required now, debugging
  limited to app/radio core using JLink)

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-07-12 16:11:15 -04:00
Sebastian Głąb b99cf9f691 boards: nordic: nrf54h20dk: Counter and i2c are supported by cpuppr
Extend Twister configuration for nrf54h20dk/nrf54h20/cpuppr.
Add counter and i2c to the list of supported peripherals.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2024-06-24 12:41:47 -04:00
Sebastian Głąb a3e1e398bf boards: nordic: nrf54h20: Add ADC to the list of supported peripherals
ADC driver was aligned to nrf54h20 target.
Enable ADC Twister tests on that platform.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2024-06-14 15:36:17 +02:00
Maciej Perkowski 3137829e72 boards: nrf: Update nrf54h and nrf54l yamls to use sysbuild in twister
Nrf54h's and nrf54l's targets are the first targets complex enough
that a sysbuild must be used on every build for them. This information
is reflected in their yamls. These entries tell twister to always use
sysbuild for those targets.

Signed-off-by: Maciej Perkowski <Maciej.Perkowski@nordicsemi.no>
2024-06-13 16:46:25 -04:00
Nikodem Kastelik ea361f095c boards: nordic: nrf54h20dk: add DMA attribute to RAM21 & RAM3x
This attribute denotes that DMA operation
can be performed from a given region.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2024-06-13 12:02:33 -04: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 97c3a1e4be Bluetooth: drivers: hci: Get rid of Kconfig choice
The drivers should be independent after the move to the new HCI driver
API. Having them as a choice also has unexpected consequences with some
drivers being unexpectedly enabled.

Signed-off-by: Johan Hedberg <johan.hedberg@gmail.com>
2024-06-11 19:42:49 -04:00
Johann Fischer 37fc9e26f2 boards: add new test supported feature usbd
We have recently added a new platform where the USB controller is only
supported in the new USB device support. This forces us to introduce a
new supported feature tag to distinguish the dependency. Use "usbd",
which is also the prefix of the new device support.

There are many boards that already have new driver support, but we will
replace the "usb_device" feature when the old device support is
deprecated.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2024-06-11 11:38:09 +01:00
Karol Lasończyk a04b2ad093 boards: Enable adc node for nRF54H20 DK
Enables adc node to make it usable in tests/examples.

Signed-off-by: Karol Lasończyk <karol.lasonczyk@nordicsemi.no>
2024-06-11 11:37:59 +01:00
Karol Lasończyk bb4c92af7c boards: nordic: Add PWM support for LEDs on nRF54 DKs
Adds support for first possible LED to be connected with HW PWM.

Signed-off-by: Karol Lasończyk <karol.lasonczyk@nordicsemi.no>
2024-06-07 18:06:39 +01:00
Gerard Marull-Paretas 28ed877f53 boards: nordic: nrf54h20dk: add custom JLink reset scheme
A custom reset scheme is required for the nRF54H20 SoC so that debug
works out of the box. This magic will eventually be part of JLink.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-06-07 15:01:07 +02:00
Grzegorz Swiderski 1f05b22acb boards: nordic: nrf54h20dk: Add aliases for RESETINFO
Each local RESETINFO instance can be used in samples.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2024-06-06 10:03:15 +02:00
Nikodem Kastelik b1506dfda8 boards: nordic: nrf54h20: cpuppr: add SPI to supported features
SPI is now supported on nRF54H20 PPR CPU.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2024-06-05 14:42:50 +01:00
Nikodem Kastelik 8b8c0a7bf0 boards: nrf54h20dk: add ram21 memory region
This memory region is used for not only but also DMA transfers
of the fast peripherals.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2024-06-05 14:42:50 +01:00
Karol Lasończyk 955dbf47f8 tests: nordic: Enable I2C tests
Add i2c to supported peripheral to enable i2c testing.

Signed-off-by: Karol Lasończyk <karol.lasonczyk@nordicsemi.no>
2024-06-05 01:38:09 -07:00
Tomasz Chyrowicz 3929e3fbc9 boards: nrf54h20dk: Add default DFU partition
Define the default DFU partition.

Signed-off-by: Tomasz Chyrowicz <tomasz.chyrowicz@nordicsemi.no>
2024-06-04 13:41:01 +02:00
Gerard Marull-Paretas c0b0443f05 boards: nordic: nrf54h20dk: enable CAN
Enable canpll (required to clock CAN), and can120 instance, routed to
pins P9.4 and P9.5.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-05-30 05:20:50 -07:00
Johann Fischer 53adf6f490 boards: nrf54h20dk: enable USB device controller
Enable USB device controller.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2024-05-17 14:05:08 +01:00
Grzegorz Swiderski d651be5d70 boards: nrf54h20dk: Drop shared_ram20_region's compatible
Access to this region should no longer be requested via UICR, because it
will be statically reserved by secure domain firmware.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2024-05-16 14:02:47 +01:00
Sebastian Głąb faf6fd169c boards: nordic: nrf54h20dk: Add counter to the supported peripherals
Enable Twister tests for the counter driver for:
- nrf54h20/cpuapp;
- nrf54h20/cpurad.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2024-05-15 16:08:14 +02:00
Sebastian Głąb d2e08319bd boards: nordic: nrf54h20dk: Disable watchdog tests on Radio core
It is enough to test watchdog driver on the application core.
Otherwise, at least three samples/tests fail due to missing
overlay file for nrf54h20dk/nrf54h20/cpurad.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2024-05-15 14:57:48 +02:00
Sebastian Głąb c41438c496 boards: nordic: nrf54h20dk: Define alias watchdog0
Define alias watchdog0 for nrf54h20 Application core.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2024-05-15 14:57:48 +02:00