diff --git a/dts/arm/nordic/nrf5340_cpunet.dtsi b/dts/arm/nordic/nrf5340_cpunet.dtsi new file mode 100644 index 00000000000..5b35525a50f --- /dev/null +++ b/dts/arm/nordic/nrf5340_cpunet.dtsi @@ -0,0 +1,261 @@ +/* + * Copyright (c) 2019 Nordic Semiconductor ASA + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include +#include +#include + +/ { + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu@1 { + device_type = "cpu"; + compatible = "arm,cortex-m33"; + reg = <1>; + #address-cells = <1>; + #size-cells = <1>; + + mpu: mpu@e000ed90 { + compatible = "arm,armv8m-mpu"; + reg = <0xe000ed90 0x40>; + arm,num-mpu-regions = <16>; + }; + }; + }; + + aliases { + flash-controller = &flash_controller; + rtc-0 = &rtc0; + rtc-1 = &rtc1; + uart-0 = &uart0; + gpio-0 = &gpio0; + gpio-1 = &gpio1; + gpiote-0 = &gpiote; + i2c-0 = &i2c0; + spi-0 = &spi0; + wdt-0 = &wdt; + timer-0 = &timer0; + timer-1 = &timer1; + timer-2 = &timer2; + }; + + flash_controller: flash-controller@41080000 { + compatible = "nordic,nrf53-flash-controller"; + reg = <0x41080000 0x1000>; + + #address-cells = <1>; + #size-cells = <1>; + + label="NRF_FLASH_DRV_NAME"; + + flash1: flash@1000000 { + compatible = "soc-nv-flash"; + label = "NRF_FLASH"; + erase-block-size = <2048>; + write-block-size = <4>; + }; + }; + + soc { + sram1: memory@21000000 { + compatible = "mmio-sram"; + }; + + clock: clock@41005000 { + compatible = "nordic,nrf-clock"; + reg = <0x41005000 0x1000>; + interrupts = <5 1>; + status = "okay"; + label = "CLOCK"; + }; + + dppic: dppic@4100f000 { + compatible = "nordic,nrf-dppic"; + reg = <0x4100f000 0x1000>; + status = "okay"; + label = "DPPIC"; + }; + + egu0: egu@41014000 { + compatible = "nordic,nrf-egu"; + reg = <0x41014000 0x1000>; + interrupts = <20 1>; + status = "okay"; + label = "EGU_0"; + }; + + ficr: ficr@1ff0000 { + compatible = "nordic,nrf-ficr"; + reg = <0x01ff0000 0x1000>; + status = "okay"; + }; + + gpio0: gpio@418c0500 { + compatible = "nordic,nrf-gpio"; + gpio-controller; + reg = <0x418c0500 0x300>; + #gpio-cells = <2>; + label = "GPIO_0"; + status = "disabled"; + }; + + gpio1: gpio@418c0800 { + compatible = "nordic,nrf-gpio"; + gpio-controller; + reg = <0x418c0800 0x300>; + #gpio-cells = <2>; + label = "GPIO_1"; + status = "disabled"; + }; + + gpiote: gpiote@4100a000 { + compatible = "nordic,nrf-gpiote"; + reg = <0x4100a000 0x1000>; + interrupts = <10 5>; + status = "disabled"; + label = "GPIOTE_0"; + }; + + i2c0: i2c@41013000 { + /* + * This i2c node can be TWIM or TWIS, + * for the user to pick: + * compatible = "nordic,nrf-twim" or + * "nordic,nrf-twis". + */ + #address-cells = <1>; + #size-cells = <0>; + reg = <0x41013000 0x1000>; + clock-frequency = ; + interrupts = <19 1>; + status = "disabled"; + label = "I2C_0"; + }; + + ipc: ipc@41012000 { + compatible = "nordic,nrf-ipc"; + reg = <0x41012000 0x1000>; + interrupts = <18 1>; + status = "okay"; + label = "IPC"; + }; + + power: power@41005000 { + compatible = "nordic,nrf-power"; + reg = <0x41005000 0x1000>; + interrupts = <5 1>; + status = "okay"; + }; + + rng: random@41009000 { + compatible = "nordic,nrf-rng"; + reg = <0x41009000 0x1000>; + interrupts = <9 0>; + status = "okay"; + label = "RNG"; + }; + + rtc0: rtc@41011000 { + compatible = "nordic,nrf-rtc"; + reg = <0x41011000 0x1000>; + interrupts = <17 1>; + status = "okay"; + label = "RTC_0"; + }; + + rtc1: rtc@41016000 { + compatible = "nordic,nrf-rtc"; + reg = <0x41016000 0x1000>; + interrupts = <22 1>; + status = "okay"; + label = "RTC_1"; + }; + + spi0: spi@41013000 { + /* + * This spi node can be SPIM or SPIS, + * for the user to pick: + * compatible = "nordic,nrf-spim" or + * "nordic,nrf-spis". + */ + #address-cells = <1>; + #size-cells = <0>; + reg = <0x41013000 0x1000>; + interrupts = <19 1>; + status = "disabled"; + label = "SPI_0"; + }; + + temp: temp@41010000 { + compatible = "nordic,nrf-temp"; + reg = <0x41010000 0x1000>; + interrupts = <16 1>; + status = "okay"; + label = "TEMP_0"; + }; + + timer0: timer@4100c000 { + compatible = "nordic,nrf-timer"; + status = "disabled"; + reg = <0x4100c000 0x1000>; + interrupts = <12 1>; + prescaler = <0>; + label = "TIMER0"; + }; + + timer1: timer@41018000 { + compatible = "nordic,nrf-timer"; + status = "disabled"; + reg = <0x41018000 0x1000>; + interrupts = <24 1>; + prescaler = <0>; + label = "TIMER1"; + }; + + timer2: timer@41019000 { + compatible = "nordic,nrf-timer"; + status = "disabled"; + reg = <0x41019000 0x1000>; + interrupts = <25 1>; + prescaler = <0>; + label = "TIMER2"; + }; + + uart0: uart@41013000 { + compatible = "nordic,nrf-uarte"; + reg = <0x41013000 0x1000>; + interrupts = <19 1>; + status = "disabled"; + label = "UART_0"; + }; + + uicr: uicr@1ff8000 { + compatible = "nordic,nrf-uicr"; + reg = <0x01ff8000 0x1000>; + status = "okay"; + }; + + vmc: vmc@41081000 { + compatible = "nordic,nrf-vmc"; + reg = <0x41081000 0x1000>; + status = "okay"; + }; + + wdt: watchdog@4100b000 { + compatible = "nordic,nrf-watchdog"; + reg = <0x4100b000 0x1000>; + interrupts = <11 1>; + status = "okay"; + label = "WDT"; + }; + }; +}; + +&nvic { + arm,num-irq-priority-bits = <3>; +}; diff --git a/dts/arm/nordic/nrf5340_cpunet_qkaa.dtsi b/dts/arm/nordic/nrf5340_cpunet_qkaa.dtsi new file mode 100644 index 00000000000..d57f517963b --- /dev/null +++ b/dts/arm/nordic/nrf5340_cpunet_qkaa.dtsi @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2019 Nordic Semiconductor ASA + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include +#include + +&flash1 { + reg = <0x01000000 DT_SIZE_K(256)>; +}; + +&sram1 { + reg = <0x21000000 DT_SIZE_K(64)>; +}; + +/ { + soc { + compatible = "nordic,nRF5340-CPU1-QKAA", "nordic,nRF5340-CPU1", "nordic,nRF53", "simple-bus"; + }; +};