1/*
2 * Copyright (c) 2021 Nordic Semiconductor ASA
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7/dts-v1/;
8#include <nordic/nrf5340_cpunet_qkaa.dtsi>
9#include "thingy53_nrf5340_cpunet-pinctrl.dtsi"
10#include <zephyr/dt-bindings/input/input-event-codes.h>
11
12/ {
13	model = "Nordic Thingy53 NRF5340 Network";
14	compatible = "nordic,thingy53-nrf5340-cpunet";
15
16	chosen {
17		zephyr,console = &uart0;
18		zephyr,shell-uart = &uart0;
19		zephyr,uart-mcumgr = &uart0;
20		zephyr,bt-mon-uart = &uart0;
21		zephyr,bt-c2h-uart = &uart0;
22		zephyr,bt-hci-ipc = &ipc0;
23		nordic,802154-spinel-ipc = &ipc0;
24		zephyr,sram = &sram1;
25		zephyr,flash = &flash1;
26		zephyr,code-partition = &slot0_partition;
27		zephyr,ieee802154 = &ieee802154;
28	};
29
30	buttons {
31		compatible = "gpio-keys";
32		button0: button_0 {
33			gpios = <&gpio1 14 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
34			label = "Push button 1";
35			zephyr,code = <INPUT_KEY_0>;
36		};
37		button1: button_1 {
38			gpios = <&gpio1 13 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
39			label = "Push button 2";
40			zephyr,code = <INPUT_KEY_1>;
41		};
42	};
43
44	leds {
45		compatible = "gpio-leds";
46		red_led: led_1 {
47			gpios = <&gpio1 8 (GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)>;
48			label = "RGB red LED";
49		};
50		green_led: led_2 {
51			gpios = <&gpio1 6 (GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)>;
52			label = "RGB green LED";
53		};
54		blue_led: led_3 {
55			gpios = <&gpio1 7 (GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)>;
56			label = "RGB blue LED";
57		};
58	};
59
60	nrf_radio_fem: fem {
61		compatible = "nordic,nrf21540-fem";
62		rx-en-gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>;
63		mode-gpios  = <&gpio1 12 GPIO_ACTIVE_HIGH>;
64		pdn-gpios   = <&gpio1 10 GPIO_ACTIVE_HIGH>;
65		tx-en-gpios = <&gpio0 30 GPIO_ACTIVE_HIGH>;
66		spi-if = <&nrf_radio_fem_spi>;
67		supply-voltage-mv = <3000>;
68	};
69
70	edge_connector: connector {
71		compatible = "nordic-thingy53-edge-connector";
72		#gpio-cells = <2>;
73		gpio-map-mask = <0xffffffff 0xffffffc0>;
74		gpio-map-pass-thru = <0 0x3f>;
75		gpio-map = <5 0 &gpio1 1 0>,    /* P5, P1.01/GRANT */
76			   <6 0 &gpio1 0 0>,    /* P6, P1.00/REQ */
77			   <8 0 &gpio0 5 0>,	/* P8, P0.05/AIN1 */
78			   <9 0 &gpio0 4 0>,	/* P9, P0.04/AIN0 */
79			   <15 0 &gpio0 8 0>,	/* P15, P0.08/TRACEDATA3 */
80			   <16 0 &gpio0 9 0>,	/* P16, P0.09/TRACEDATA2 */
81			   <17 0 &gpio0 10 0>,	/* P17, P0.10/TRACEDATA1 */
82			   <18 0 &gpio0 11 0>,	/* P18, P0.11/TRACEDATA0 */
83			   <19 0 &gpio0 12 0>;	/* P19, P0.12/TRACECLK */
84	};
85
86	aliases {
87		sw0 = &button0;
88		sw1 = &button1;
89		led0 = &red_led;
90		led1 = &green_led;
91		led2 = &blue_led;
92		watchdog0 = &wdt;
93	};
94};
95
96&gpiote {
97	status = "okay";
98};
99
100&gpio0 {
101	status = "okay";
102};
103
104&gpio1 {
105	status = "okay";
106};
107
108&uart0 {
109	compatible = "nordic,nrf-uarte";
110	status = "disabled";
111	current-speed = <115200>;
112	pinctrl-0 = <&uart0_default>;
113	pinctrl-1 = <&uart0_sleep>;
114	pinctrl-names = "default", "sleep";
115};
116
117/* Disabled by default as shares same GPIO lines as SPI peripherals on application core */
118fem_spi: &spi0 {
119	status = "disabled";
120	cs-gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
121	pinctrl-0 = <&spi0_default>;
122	pinctrl-1 = <&spi0_sleep>;
123	pinctrl-names = "default", "sleep";
124
125	nrf_radio_fem_spi: nrf21540_fem_spi@0 {
126		compatible = "nordic,nrf21540-fem-spi";
127		status = "disabled";
128		reg = <0>;
129		spi-max-frequency = <8000000>;
130	};
131};
132
133&radio {
134	/* Uncomment to enable SPI interface for FEM */
135	/* fem = <&nrf_radio_fem>; */
136};
137
138&flash1 {
139
140	partitions {
141		compatible = "fixed-partitions";
142		#address-cells = <1>;
143		#size-cells = <1>;
144
145		boot_partition: partition@0 {
146			label = "mcuboot";
147			reg = <0x00000000 0xc000>;
148		};
149		slot0_partition: partition@c000 {
150			label = "image-0";
151			reg = <0x0000C000 0x12000>;
152		};
153		slot1_partition: partition@1e000 {
154			label = "image-1";
155			reg = <0x0001E000 0x12000>;
156		};
157		scratch_partition: partition@30000 {
158			label = "image-scratch";
159			reg = <0x00030000 0xa000>;
160		};
161		storage_partition: partition@3a000 {
162			label = "storage";
163			reg = <0x0003a000 0x6000>;
164		};
165	};
166};
167
168&ieee802154 {
169	status = "okay";
170};
171
172/* Include default shared RAM configuration file */
173#include <common/nordic/nrf5340_shared_sram_partition.dtsi>
174