1/*
2 * Copyright (c) 2018 Nordic Semiconductor ASA
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#include <arm/armv8-m.dtsi>
8#include <nordic/nrf_common.dtsi>
9
10/ {
11	cpus {
12		#address-cells = <1>;
13		#size-cells = <0>;
14
15		cpu@0 {
16			device_type = "cpu";
17			compatible = "arm,cortex-m33f";
18			reg = <0>;
19			#address-cells = <1>;
20			#size-cells = <1>;
21
22			mpu: mpu@e000ed90 {
23				compatible = "arm,armv8m-mpu";
24				reg = <0xe000ed90 0x40>;
25			};
26		};
27	};
28
29	chosen {
30		zephyr,flash-controller = &flash_controller;
31	};
32
33	soc {
34		sram0: memory@20000000 {
35			compatible = "mmio-sram";
36		};
37
38		peripheral@50000000 {
39			#address-cells = <1>;
40			#size-cells = <1>;
41			ranges = <0x0 0x50000000 0x10000000>;
42
43			/* Common nRF91 peripherals description. */
44			#include "nrf91_peripherals.dtsi"
45		};
46
47		/* Additional Secure peripherals */
48		cryptocell: crypto@50840000 {
49			compatible = "nordic,cryptocell", "arm,cryptocell-310";
50			reg = <0x50840000 0x1000>, <0x50841000 0x1000>;
51			reg-names = "wrapper", "core";
52			interrupts = <64 NRF_DEFAULT_IRQ_PRIORITY>;
53			status = "disabled";
54		};
55
56		ctrlap: ctrlap@50006000 {
57			compatible = "nordic,nrf-ctrlapperi";
58			reg = <0x50006000 0x1000>;
59			status = "okay";
60		};
61
62		/*
63		 * GPIOTE0 is always accessible as a secure peripheral,
64		 * so we give it the 'gpiote' label for use when building
65		 * code for this target.
66		 */
67		 gpiote: gpiote0: gpiote@5000d000 {
68			compatible = "nordic,nrf-gpiote";
69			reg = <0x5000d000 0x1000>;
70			interrupts = <13 5>;
71			status = "disabled";
72			instance = <0>;
73		};
74
75		/* Additional Non-Secure GPIOTE instance */
76		gpiote1: gpiote@40031000 {
77			compatible = "nordic,nrf-gpiote";
78			reg = <0x40031000 0x1000>;
79			interrupts = <49 5>;
80			status = "disabled";
81			instance = <1>;
82		};
83
84		spu: spu@50003000 {
85			compatible = "nordic,nrf-spu";
86			reg = <0x50003000 0x1000>;
87			interrupts = <3 NRF_DEFAULT_IRQ_PRIORITY>;
88			status = "okay";
89		};
90
91		ficr: ficr@ff0000 {
92			compatible = "nordic,nrf-ficr";
93			reg = <0xff0000 0x1000>;
94			#nordic,ficr-cells = <1>;
95			status = "okay";
96		};
97
98		uicr: uicr@ff8000 {
99			compatible = "nordic,nrf-uicr";
100			reg = <0xff8000 0x1000>;
101			status = "okay";
102		};
103	};
104};
105
106&nvic {
107	arm,num-irq-priority-bits = <3>;
108};
109
110&systick {
111	/* Use RTC for system clock, instead of SysTick. */
112	status = "disabled";
113};
114