1/*
2 * Copyright (c) 2018-2020 Nordic Semiconductor ASA
3 * Copyright (c) 2017 Linaro Limited
4 *
5 * SPDX-License-Identifier: Apache-2.0
6 */
7
8/dts-v1/;
9#include <nordic/nrf52840_qiaa.dtsi>
10#include <nordic/nrf52840_partition.dtsi>
11#include "nrf9160dk_nrf52840-pinctrl.dtsi"
12
13/ {
14	model = "Nordic nRF9160 DK NRF52840";
15	compatible = "nordic,nrf9160-dk-nrf52840";
16
17	chosen {
18		zephyr,console = &uart0;
19		zephyr,shell-uart = &uart0;
20		zephyr,uart-mcumgr = &uart0;
21		zephyr,bt-mon-uart = &uart0;
22		zephyr,ieee802154 = &ieee802154;
23	};
24
25	interface_to_nrf9160: gpio-interface {
26		compatible = "nordic,nrf9160dk-nrf52840-interface";
27		#gpio-cells = <2>;
28		gpio-map-mask = <0xf 0>;
29		gpio-map-pass-thru = <0 0xffffffff>;
30		gpio-map = <0 0 &gpio0 17 0>,
31			   <1 0 &gpio0 20 0>,
32			   <2 0 &gpio0 15 0>,
33			   <3 0 &gpio0 22 0>,
34			   <4 0 &gpio1  4 0>,
35			   <5 0 &gpio1  2 0>,
36			   <6 0 &gpio1 13 0>,
37			   <7 0 &gpio1 11 0>,
38			   <8 0 &gpio1 15 0>;
39	};
40
41	reset_input: gpio-reset {
42		compatible = "nordic,nrf9160dk-nrf52840-reset";
43		/*
44		 * This line is specified as active high for compatibility
45		 * with the previously used Kconfig-based configuration.
46		 */
47		gpios = <&interface_to_nrf9160 5
48			(GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)>;
49		status = "disabled";
50	};
51
52	board-control {
53		vcom0_pins_routing: switch-nrf91-uart1 {
54			compatible = "nordic,nrf9160dk-optional-routing";
55			control-gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
56			status = "okay";
57		};
58
59		vcom2_pins_routing: switch-nrf91-uart2 {
60			compatible = "nordic,nrf9160dk-optional-routing";
61			/*
62			 * Two pins (P1.12 and P0.12) need to be driven for
63			 * this switch.
64			 */
65			control-gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>,
66					<&gpio0 12 GPIO_ACTIVE_HIGH>;
67			status = "okay";
68		};
69
70		led1_pin_routing: switch-nrf91-led1 {
71			compatible = "nordic,nrf9160dk-optional-routing";
72			control-gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
73			status = "okay";
74		};
75
76		led2_pin_routing: switch-nrf91-led2 {
77			compatible = "nordic,nrf9160dk-optional-routing";
78			control-gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
79			status = "okay";
80		};
81
82		led3_pin_routing: switch-nrf91-led3 {
83			compatible = "nordic,nrf9160dk-optional-routing";
84			control-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
85			status = "okay";
86		};
87
88		led4_pin_routing: switch-nrf91-led4 {
89			compatible = "nordic,nrf9160dk-optional-routing";
90			control-gpios = <&gpio1 3 GPIO_ACTIVE_LOW>;
91			status = "okay";
92		};
93
94		switch1_pin_routing: switch-nrf91-switch1 {
95			compatible = "nordic,nrf9160dk-optional-routing";
96			control-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
97			status = "okay";
98		};
99
100		switch2_pin_routing: switch-nrf91-switch2 {
101			compatible = "nordic,nrf9160dk-optional-routing";
102			control-gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
103			status = "okay";
104		};
105
106		button1_pin_routing: switch-nrf91-button1 {
107			compatible = "nordic,nrf9160dk-optional-routing";
108			control-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
109			status = "okay";
110		};
111
112		button2_pin_routing: switch-nrf91-button2 {
113			compatible = "nordic,nrf9160dk-optional-routing";
114			control-gpios = <&gpio0 26 GPIO_ACTIVE_LOW>;
115			status = "okay";
116		};
117
118		nrf_interface_pins_0_2_routing: switch-nrf-if0-2-ctrl {
119			compatible = "nordic,nrf9160dk-optional-routing";
120			control-gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
121			status = "disabled";
122		};
123
124		nrf_interface_pins_3_5_routing: switch-nrf-if3-5-ctrl {
125			compatible = "nordic,nrf9160dk-optional-routing";
126			control-gpios = <&gpio0 24 GPIO_ACTIVE_HIGH>;
127			status = "disabled";
128		};
129
130		nrf_interface_pins_6_8_routing: switch-nrf-if6-8-ctrl {
131			compatible = "nordic,nrf9160dk-optional-routing";
132			control-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
133			status = "disabled";
134		};
135	};
136
137	aliases {
138		watchdog0 = &wdt0;
139	};
140};
141
142&reg1 {
143	regulator-initial-mode = <NRF5X_REG_MODE_DCDC>;
144};
145
146&uicr {
147	gpio-as-nreset;
148};
149
150&gpiote {
151	status = "okay";
152};
153
154&gpio0 {
155	status = "okay";
156};
157
158&gpio1 {
159	status = "okay";
160};
161
162/* The nRF52840 SoC does not have any connection to the any of the LEDs,
163 * buttons, switches and Arduino pin headers on the nRF9160 DK board.
164 */
165
166&uart0 {
167	compatible = "nordic,nrf-uarte";
168	current-speed = <115200>;
169	status = "okay";
170	pinctrl-0 = <&uart0_default>;
171	pinctrl-1 = <&uart0_sleep>;
172	pinctrl-names = "default", "sleep";
173};
174
175&ieee802154 {
176	status = "okay";
177};
178