blob: 1b8f7b6f9e816a6927da12a9aef245db76f4ce84 [file] [log] [blame]
/*
* Copyright (c) 2024 Nordic Semiconductor ASA
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <mem.h>
#include <nordic/nrf_common.dtsi>
#include <zephyr/dt-bindings/misc/nordic-nrf-ficr-nrf54h20-enga.h>
/delete-node/ &sw_pwm;
/ {
#address-cells = <1>;
#size-cells = <1>;
cpus {
#address-cells = <1>;
#size-cells = <0>;
cpuapp: cpu@2 {
compatible = "arm,cortex-m33";
reg = <2>;
device_type = "cpu";
clock-frequency = <DT_FREQ_M(320)>;
};
cpurad: cpu@3 {
compatible = "arm,cortex-m33";
reg = <3>;
device_type = "cpu";
clock-frequency = <DT_FREQ_M(256)>;
};
cpuppr: cpu@d {
compatible = "nordic,vpr";
reg = <13>;
device_type = "cpu";
clock-frequency = <DT_FREQ_M(16)>;
riscv,isa = "rv32emc";
nordic,bus-width = <32>;
};
};
reserved-memory {
#address-cells = <1>;
#size-cells = <1>;
cpurad_uicr_ext: memory@e1ff000 {
reg = <0xe1ff000 DT_SIZE_K(2)>;
};
cpuapp_uicr_ext: memory@e1ff800 {
reg = <0xe1ff800 DT_SIZE_K(2)>;
};
};
clocks {
fll16m: fll16m {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <DT_FREQ_M(16)>;
};
};
soc {
#address-cells = <1>;
#size-cells = <1>;
mram1x: mram@e000000 {
compatible = "nordic,mram";
reg = <0xe000000 DT_SIZE_K(2048)>;
write-block-size = <16>;
};
cpuapp_uicr: uicr@fff8000 {
compatible = "nordic,nrf-uicr-v2";
reg = <0xfff8000 DT_SIZE_K(2)>;
domain = <2>;
ptr-ext-uicr = <&cpuapp_uicr_ext>;
};
cpurad_uicr: uicr@fffa000 {
compatible = "nordic,nrf-uicr-v2";
reg = <0xfffa000 DT_SIZE_K(2)>;
domain = <3>;
ptr-ext-uicr = <&cpurad_uicr_ext>;
};
ficr: ficr@fffe000 {
compatible = "nordic,nrf-ficr";
reg = <0xfffe000 DT_SIZE_K(2)>;
#nordic,ficr-cells = <1>;
};
cpuapp_ram0: sram@22000000 {
compatible = "mmio-sram";
reg = <0x22000000 DT_SIZE_K(32)>;
#address-cells = <1>;
#size-cells = <1>;
ranges = <0x0 0x22000000 0x8000>;
};
cpurad_ram0: sram@23000000 {
compatible = "mmio-sram";
reg = <0x23000000 DT_SIZE_K(64)>;
#address-cells = <1>;
#size-cells = <1>;
ranges = <0x0 0x23000000 0x10000>;
};
cpuapp_peripherals: peripheral@52000000 {
#address-cells = <1>;
#size-cells = <1>;
ranges = <0x0 0x52000000 0x1000000>;
cpuapp_hsfll: clock@d000 {
compatible = "nordic,nrf-hsfll";
#clock-cells = <0>;
reg = <0xd000 0x1000>;
clocks = <&fll16m>;
clock-frequency = <DT_FREQ_M(320)>;
nordic,ficrs =
<&ficr NRF_FICR_TRIM_APPLICATION_HSFLL_TRIM_VSUP>,
<&ficr NRF_FICR_TRIM_APPLICATION_HSFLL_TRIM_COARSE_0>,
<&ficr NRF_FICR_TRIM_APPLICATION_HSFLL_TRIM_FINE_0>;
nordic,ficr-names = "vsup", "coarse", "fine";
};
};
cpurad_peripherals: peripheral@53000000 {
#address-cells = <1>;
#size-cells = <1>;
ranges = <0x0 0x53000000 0x1000000>;
cpurad_hsfll: clock@d000 {
compatible = "nordic,nrf-hsfll";
#clock-cells = <0>;
reg = <0xd000 0x1000>;
clocks = <&fll16m>;
clock-frequency = <DT_FREQ_M(256)>;
nordic,ficrs =
<&ficr NRF_FICR_TRIM_RADIOCORE_HSFLL_TRIM_VSUP>,
<&ficr NRF_FICR_TRIM_RADIOCORE_HSFLL_TRIM_COARSE_1>,
<&ficr NRF_FICR_TRIM_RADIOCORE_HSFLL_TRIM_FINE_1>;
nordic,ficr-names = "vsup", "coarse", "fine";
};
};
global_peripherals: peripheral@5f000000 {
#address-cells = <1>;
#size-cells = <1>;
ranges = <0x0 0x5f000000 0x1000000>;
cpuppr_vpr: vpr@908000 {
compatible = "nordic,nrf-vpr-coprocessor";
reg = <0x908000 0x1000>;
status = "disabled";
cpu = <13>;
#address-cells = <1>;
#size-cells = <1>;
ranges = <0x0 0x908000 0x4000>;
cpuppr_clic: interrupt-controller@1000 {
compatible = "nordic,nrf-clic";
reg = <0x1000 0x3000>;
status = "disabled";
#interrupt-cells = <2>;
interrupt-controller;
#address-cells = <1>;
};
};
gpiote130: gpiote@934000 {
compatible = "nordic,nrf-gpiote";
reg = <0x934000 0x1000>;
status = "disabled";
instance = <130>;
};
gpio0: gpio@938000 {
compatible = "nordic,nrf-gpio";
reg = <0x938000 0x200>;
status = "disabled";
#gpio-cells = <2>;
gpio-controller;
gpiote-instance = <&gpiote130>;
ngpios = <12>;
port = <0>;
};
gpio1: gpio@938200 {
compatible = "nordic,nrf-gpio";
reg = <0x938200 0x200>;
status = "disabled";
#gpio-cells = <2>;
gpio-controller;
gpiote-instance = <&gpiote130>;
ngpios = <12>;
port = <1>;
};
gpio2: gpio@938400 {
compatible = "nordic,nrf-gpio";
reg = <0x938400 0x200>;
status = "disabled";
#gpio-cells = <2>;
gpio-controller;
gpiote-instance = <&gpiote130>;
ngpios = <12>;
port = <2>;
};
gpio6: gpio@938c00 {
compatible = "nordic,nrf-gpio";
reg = <0x938c00 0x200>;
status = "disabled";
#gpio-cells = <2>;
gpio-controller;
ngpios = <14>;
port = <6>;
};
gpio7: gpio@938e00 {
compatible = "nordic,nrf-gpio";
reg = <0x938e00 0x200>;
status = "disabled";
#gpio-cells = <2>;
gpio-controller;
ngpios = <8>;
port = <7>;
};
gpio9: gpio@939200 {
compatible = "nordic,nrf-gpio";
reg = <0x939200 0x200>;
status = "disabled";
#gpio-cells = <2>;
gpio-controller;
gpiote-instance = <&gpiote130>;
ngpios = <6>;
port = <9>;
};
grtc: grtc@99c000 {
compatible = "nordic,nrf-grtc";
reg = <0x99c000 0x1000>;
status = "disabled";
cc-num = <16>;
};
uart135: uart@9c6000 {
compatible = "nordic,nrf-uarte";
reg = <0x9c6000 0x1000>;
status = "disabled";
current-speed = <115200>;
interrupts = <454 NRF_DEFAULT_IRQ_PRIORITY>;
};
uart136: uart@9d5000 {
compatible = "nordic,nrf-uarte";
reg = <0x9d5000 0x1000>;
status = "disabled";
current-speed = <115200>;
interrupts = <469 NRF_DEFAULT_IRQ_PRIORITY>;
};
};
};
cpuapp_ppb: cpuapp-ppb-bus {
#address-cells = <1>;
#size-cells = <1>;
cpuapp_systick: timer@e000e010 {
compatible = "arm,armv8m-systick";
reg = <0xe000e010 0x10>;
status = "disabled";
};
cpuapp_nvic: interrupt-controller@e000e100 {
compatible = "arm,v8m-nvic";
reg = <0xe000e100 0xc00>;
arm,num-irq-priority-bits = <3>;
#interrupt-cells = <2>;
interrupt-controller;
#address-cells = <1>;
};
};
cpurad_ppb: cpurad-ppb-bus {
#address-cells = <1>;
#size-cells = <1>;
cpurad_systick: timer@e000e010 {
compatible = "arm,armv8m-systick";
reg = <0xe000e010 0x10>;
status = "disabled";
};
cpurad_nvic: interrupt-controller@e000e100 {
compatible = "arm,v8m-nvic";
reg = <0xe000e100 0xc00>;
arm,num-irq-priority-bits = <3>;
#interrupt-cells = <2>;
interrupt-controller;
#address-cells = <1>;
};
};
};