1/*
2 * Copyright (c) 2017 Linaro Limited
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7/dts-v1/;
8#include <nordic/nrf52840_qiaa.dtsi>
9#include <nordic/nrf52840_partition.dtsi>
10#include "nrf52840_mdk-pinctrl.dtsi"
11#include <zephyr/dt-bindings/input/input-event-codes.h>
12
13/ {
14	model = "nRF52840-MDK Dev Kit";
15	compatible = "nordic,pca10056-dk";
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,bt-c2h-uart = &uart0;
23		zephyr,ieee802154 = &ieee802154;
24	};
25
26	leds {
27		compatible = "gpio-leds";
28		led0_green: led_0 {
29			gpios = <&gpio0 22 GPIO_ACTIVE_LOW>;
30			label = "Green LED 0";
31		};
32		led1_red: led_1 {
33			gpios = <&gpio0 23 GPIO_ACTIVE_LOW>;
34			label = "Red LED 1";
35		};
36		led2_blue: led_2 {
37			gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
38			label = "Blue LED 2";
39		};
40	};
41
42	pwmleds {
43		compatible = "pwm-leds";
44		pwm_led0_green: pwm_led_0 {
45			pwms = <&pwm0 0 PWM_MSEC(20) PWM_POLARITY_INVERTED>;
46			label = "Green PWM LED 0";
47		};
48		pwm_led1_red: pwm_led_1 {
49			pwms = <&pwm0 1 PWM_MSEC(20) PWM_POLARITY_INVERTED>;
50			label = "Red PWM LED 1";
51		};
52		pwm_led2_blue: pwm_led_2 {
53			pwms = <&pwm0 2 PWM_MSEC(20) PWM_POLARITY_INVERTED>;
54			label = "Blue PWM LED 2";
55		};
56	};
57
58	buttons {
59		compatible = "gpio-keys";
60		button0: button_0 {
61			gpios = <&gpio1 0 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
62			label = "Push button switch 0";
63			zephyr,code = <INPUT_KEY_0>;
64		};
65	};
66
67	/* These aliases are provided for compatibility with samples */
68	aliases {
69		sw0 = &button0;
70		led0 = &led0_green;
71		led1 = &led1_red;
72		led2 = &led2_blue;
73		led0-green = &led0_green;
74		led1-red   = &led1_red;
75		led1-blue  = &led2_blue;
76		pwm-led0 = &pwm_led0_green;
77		pwm-led1 = &pwm_led1_red;
78		pwm-led2 = &pwm_led2_blue;
79		green-pwm-led = &pwm_led0_green;
80		red-pwm-led = &pwm_led1_red;
81		blue-pwm-led = &pwm_led2_blue;
82		watchdog0 = &wdt0;
83	};
84};
85
86&reg1 {
87	regulator-initial-mode = <NRF5X_REG_MODE_DCDC>;
88};
89
90&adc {
91	status = "okay";
92};
93
94&uicr {
95	gpio-as-nreset;
96};
97
98&gpiote {
99	status = "okay";
100};
101
102&gpio0 {
103	status = "okay";
104};
105
106&gpio1 {
107	status = "okay";
108};
109
110&uart0 {
111	compatible = "nordic,nrf-uart";
112	current-speed = <115200>;
113	status = "okay";
114	pinctrl-0 = <&uart0_default>;
115	pinctrl-1 = <&uart0_sleep>;
116	pinctrl-names = "default", "sleep";
117};
118
119&i2c0 {
120	compatible = "nordic,nrf-twi";
121	status = "okay";
122	pinctrl-0 = <&i2c0_default>;
123	pinctrl-1 = <&i2c0_sleep>;
124	pinctrl-names = "default", "sleep";
125};
126
127&i2c1 {
128	compatible = "nordic,nrf-twi";
129	status = "okay";
130	pinctrl-0 = <&i2c1_default>;
131	pinctrl-1 = <&i2c1_sleep>;
132	pinctrl-names = "default", "sleep";
133};
134
135&pwm0 {
136	status = "okay";
137	pinctrl-0 = <&pwm0_default>;
138	pinctrl-1 = <&pwm0_sleep>;
139	pinctrl-names = "default", "sleep";
140};
141
142&qspi {
143	status = "okay";
144	pinctrl-0 = <&qspi_default>;
145	pinctrl-1 = <&qspi_sleep>;
146	pinctrl-names = "default", "sleep";
147	mx25r64: mx25r6435f@0 {
148		compatible = "nordic,qspi-nor";
149		reg = <0>;
150		writeoc = "pp4io";
151		readoc = "read4io";
152		sck-frequency = <8000000>;
153		jedec-id = [c2 28 17];
154		sfdp-bfp = [
155			e5 20 f1 ff  ff ff ff 03  44 eb 08 6b  08 3b 04 bb
156			ee ff ff ff  ff ff 00 ff  ff ff 00 ff  0c 20 0f 52
157			10 d8 00 ff  23 72 f5 00  82 ed 04 cc  44 83 68 44
158			30 b0 30 b0  f7 c4 d5 5c  00 be 29 ff  f0 d0 ff ff
159		];
160		size = <67108864>;
161		has-dpd;
162		t-enter-dpd = <10000>;
163		t-exit-dpd = <35000>;
164	};
165};
166
167&ieee802154 {
168	status = "okay";
169};
170
171zephyr_udc0: &usbd {
172	compatible = "nordic,nrf-usbd";
173	status = "okay";
174};
175