1/*
2 * Copyright (c) 2019 Laird Connectivity
3 * Copyright (c) 2023 Nordic Semiconductor ASA
4 * Copyright (c) 2024 Ezurio
5 *
6 * SPDX-License-Identifier: Apache-2.0
7 */
8
9/dts-v1/;
10#include <nordic/nrf52840_qiaa.dtsi>
11#include <nordic/nrf52840_partition.dtsi>
12#include "bl654_dvk-pinctrl.dtsi"
13#include <zephyr/dt-bindings/input/input-event-codes.h>
14
15/ {
16	model = "Ezurio BL654 Dev Kit";
17	compatible = "ezurio,bl654_dvk";
18
19	chosen {
20		zephyr,console = &uart0;
21		zephyr,shell-uart = &uart0;
22		zephyr,uart-mcumgr = &uart0;
23		zephyr,bt-mon-uart = &uart0;
24		zephyr,bt-c2h-uart = &uart0;
25		zephyr,ieee802154 = &ieee802154;
26	};
27
28	leds {
29		compatible = "gpio-leds";
30		led1: led_1 {
31			gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
32			label = "Blue LED 1";
33		};
34		led2: led_2 {
35			gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
36			label = "Blue LED 2";
37		};
38		led3: led_3 {
39			gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>;
40			label = "Blue LED 3";
41		};
42		led4: led_4 {
43			gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>;
44			label = "Blue LED 4";
45		};
46	};
47
48	buttons {
49		compatible = "gpio-keys";
50		button1: button_1 {
51			gpios = <&gpio0 11 GPIO_PULL_UP>;
52			label = "Push button switch 1 (SW1)";
53			zephyr,code = <INPUT_KEY_0>;
54		};
55		button2: button_2 {
56			gpios = <&gpio0 12 GPIO_PULL_UP>;
57			label = "Push button switch 2 (SW2)";
58			zephyr,code = <INPUT_KEY_1>;
59		};
60		button3: button_3 {
61			gpios = <&gpio0 24 GPIO_PULL_UP>;
62			label = "Push button switch 3 (SW9)";
63			zephyr,code = <INPUT_KEY_2>;
64		};
65		button4: button_4 {
66			gpios = <&gpio0 25 GPIO_PULL_UP>;
67			label = "Push button switch 4 (SW10)";
68			zephyr,code = <INPUT_KEY_3>;
69		};
70	};
71
72	/* These aliases are provided for compatibility with samples */
73	aliases {
74		led0 = &led1;
75		led1 = &led2;
76		led2 = &led3;
77		led3 = &led4;
78		sw0 = &button1;
79		sw1 = &button2;
80		sw2 = &button3;
81		sw3 = &button4;
82		mcuboot-button0 = &button1;
83		mcuboot-led0 = &led1;
84		watchdog0 = &wdt0;
85		bbram0 = &extrtc0;
86	};
87};
88
89&reg1 {
90	regulator-initial-mode = <NRF5X_REG_MODE_DCDC>;
91};
92
93&adc {
94	status = "okay";
95};
96
97&uicr {
98	gpio-as-nreset;
99};
100
101&gpiote {
102	status = "okay";
103};
104
105&gpio0 {
106	status = "okay";
107};
108
109&gpio1 {
110	status = "okay";
111};
112
113&uart0 {
114	compatible = "nordic,nrf-uart";
115	current-speed = <115200>;
116	status = "okay";
117	pinctrl-0 = <&uart0_default>;
118	pinctrl-1 = <&uart0_sleep>;
119	pinctrl-names = "default", "sleep";
120};
121
122&i2c0 {
123	compatible = "nordic,nrf-twi";
124	status = "okay";
125
126	pinctrl-0 = <&i2c0_default>;
127	pinctrl-1 = <&i2c0_sleep>;
128	pinctrl-names = "default", "sleep";
129	dac0: mcp4725@60 {
130		/* MCP4725 not populated at factory */
131		compatible = "microchip,mcp4725";
132		reg = <0x60>;
133		#io-channel-cells = <1>;
134		status = "disabled";
135	};
136
137	extrtc0: mcp7940n@6f {
138		compatible = "microchip,mcp7940n";
139		reg = <0x6f>;
140		status = "okay";
141	};
142};
143
144&pwm0 {
145	status = "okay";
146	pinctrl-0 = <&pwm0_default>;
147	pinctrl-1 = <&pwm0_sleep>;
148	pinctrl-names = "default", "sleep";
149};
150
151&spi0 {
152	compatible = "nordic,nrf-spi";
153	/* Cannot be used together with i2c0. */
154	/* status = "okay"; */
155	cs-gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
156	pinctrl-0 = <&spi0_default>;
157	pinctrl-1 = <&spi0_sleep>;
158	pinctrl-names = "default", "sleep";
159};
160
161&spi1 {
162	compatible = "nordic,nrf-spi";
163	status = "okay";
164	cs-gpios = <&gpio0 17 GPIO_ACTIVE_LOW>;
165	pinctrl-0 = <&spi1_default>;
166	pinctrl-1 = <&spi1_sleep>;
167	pinctrl-names = "default", "sleep";
168	mx25r6435f@0 {
169		compatible = "jedec,spi-nor";
170		reg = <0>;
171		spi-max-frequency = <80000000>;
172		jedec-id = [c2 28 17];
173		size = <67108864>;
174		wp-gpios = <&gpio0 22 0>;
175		hold-gpios = <&gpio0 23 0>;
176	};
177};
178
179&ieee802154 {
180	status = "okay";
181};
182
183zephyr_udc0: &usbd {
184	compatible = "nordic,nrf-usbd";
185	status = "okay";
186};
187