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