1/*
2 * Copyright (c) 2022 Raytac Corporation
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 "raytac_mdbt50q_db_40_nrf52840-pinctrl.dtsi"
11#include <zephyr/dt-bindings/input/input-event-codes.h>
12
13/ {
14	model = "Raytac MDBT50Q-DB-40_nRF52840";
15	compatible = "raytac,raytac-mdbt50q-db-40-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,bt-c2h-uart = &uart0;
23		zephyr,ieee802154 = &ieee802154;
24	};
25
26	leds {
27		compatible = "gpio-leds";
28		led0: led_0 {
29			gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
30			label = "Green LED 0";
31		};
32		led1: led_1 {
33			gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
34			label = "Red LED 1";
35		};
36		led2: led_2 {
37			gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
38			label = "Blue LED 2";
39		};
40	};
41
42	pwmleds {
43		compatible = "pwm-leds";
44		pwm_led0: pwm_led_0 {
45			pwms = <&pwm0 0 PWM_MSEC(20) PWM_POLARITY_INVERTED>;
46		};
47	};
48
49	buttons {
50		compatible = "gpio-keys";
51		button0: button_0 {
52			gpios = <&gpio0 11 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
53			label = "Push button switch 0";
54			zephyr,code = <INPUT_KEY_0>;
55		};
56		button1: button_1 {
57			gpios = <&gpio0 12 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
58			label = "Push button switch 1";
59			zephyr,code = <INPUT_KEY_1>;
60		};
61		button2: button_2 {
62			gpios = <&gpio0 24 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
63			label = "Push button switch 2";
64			zephyr,code = <INPUT_KEY_2>;
65		};
66		button3: button_3 {
67			gpios = <&gpio0 25 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
68			label = "Push button switch 3";
69			zephyr,code = <INPUT_KEY_3>;
70		};
71	};
72
73	/* These aliases are provided for compatibility with samples */
74	aliases {
75		led0 = &led0;
76		led1 = &led1;
77		led2 = &led2;
78		pwm-led0 = &pwm_led0;
79		sw0 = &button0;
80		sw1 = &button1;
81		sw2 = &button2;
82		sw3 = &button3;
83		bootloader-led0 = &led0;
84		mcuboot-button0 = &button0;
85		mcuboot-led0 = &led0;
86		watchdog0 = &wdt0;
87	};
88};
89
90&reg0 {
91	status = "okay";
92};
93
94&reg1 {
95	regulator-initial-mode = <NRF5X_REG_MODE_DCDC>;
96};
97
98&adc {
99	status = "okay";
100};
101
102&uicr {
103	gpio-as-nreset;
104};
105
106&gpiote {
107	status = "okay";
108};
109
110&gpio0 {
111	status = "okay";
112};
113
114&gpio1 {
115	status = "okay";
116};
117
118&uart0 {
119	compatible = "nordic,nrf-uarte";
120	status = "okay";
121	current-speed = <115200>;
122	pinctrl-0 = <&uart0_default>;
123	pinctrl-1 = <&uart0_sleep>;
124	pinctrl-names = "default", "sleep";
125};
126
127&uart1 {
128	compatible = "nordic,nrf-uarte";
129	status = "okay";
130	current-speed = <115200>;
131	pinctrl-0 = <&uart1_default>;
132	pinctrl-1 = <&uart1_sleep>;
133	pinctrl-names = "default", "sleep";
134};
135
136&i2c0 {
137	compatible = "nordic,nrf-twi";
138	status = "okay";
139	pinctrl-0 = <&i2c0_default>;
140	pinctrl-1 = <&i2c0_sleep>;
141	pinctrl-names = "default", "sleep";
142};
143
144&i2c1 {
145	compatible = "nordic,nrf-twi";
146	/* Cannot be used together with spi1. */
147	/* status = "okay"; */
148	pinctrl-0 = <&i2c1_default>;
149	pinctrl-1 = <&i2c1_sleep>;
150	pinctrl-names = "default", "sleep";
151};
152
153&pwm0 {
154	status = "okay";
155	pinctrl-0 = <&pwm0_default>;
156	pinctrl-1 = <&pwm0_sleep>;
157	pinctrl-names = "default", "sleep";
158};
159
160&spi0 {
161	compatible = "nordic,nrf-spi";
162	/* Cannot be used together with i2c0. */
163	/* status = "okay"; */
164	pinctrl-0 = <&spi0_default>;
165	pinctrl-1 = <&spi0_sleep>;
166	pinctrl-names = "default", "sleep";
167};
168
169&spi1 {
170	compatible = "nordic,nrf-spi";
171	status = "okay";
172	pinctrl-0 = <&spi1_default>;
173	pinctrl-1 = <&spi1_sleep>;
174	pinctrl-names = "default", "sleep";
175};
176
177&spi2 {
178	compatible = "nordic,nrf-spi";
179	status = "disabled";
180	pinctrl-0 = <&spi2_default>;
181	pinctrl-1 = <&spi2_sleep>;
182	pinctrl-names = "default", "sleep";
183};
184
185&qspi {
186	status = "okay";
187	pinctrl-0 = <&qspi_default>;
188	pinctrl-1 = <&qspi_sleep>;
189	pinctrl-names = "default", "sleep";
190};
191
192&ieee802154 {
193	status = "okay";
194};
195
196zephyr_udc0: &usbd {
197	compatible = "nordic,nrf-usbd";
198	status = "okay";
199};
200