blob: 0da1f0557eaf9cfeb077edd5af260a89d18b372e [file] [log] [blame]
Kamel Bouhara82822c62019-10-11 14:50:22 +02001// SPDX-License-Identifier: GPL-2.0
2/*
3 * at91-kizbox3-hs.dts - Device Tree file for Overkiz KIZBOX3-HS board
4 *
5 * Copyright (C) 2018 Overkiz SAS
6 *
7 * Authors: Dorian Rocipon <d.rocipon@overkiz.com>
8 * Kevin Carli <k.carli@overkiz.com>
9 * Mickael Gardet <m.gardet@overkiz.com>
10 */
11/dts-v1/;
12#include "at91-kizbox3_common.dtsi"
13
14/ {
15 model = "Overkiz KIZBOX3-HS";
16 compatible = "overkiz,kizbox3-hs", "atmel,sama5d2", "atmel,sama5";
17
18 pwm_leds {
19 status = "okay";
20
21 red {
22 status = "okay";
23 };
24
25 green {
26 status = "okay";
27 };
28
29 blue {
30 status = "okay";
31 };
32
33 white {
34 status = "okay";
35 };
36 };
37
38 leds {
39 compatible = "gpio-leds";
40 pinctrl-names = "default";
41 pinctrl-0 = <&pinctrl_led_red
42 &pinctrl_led_white>;
43 status = "okay";
44
45 red {
46 label = "pio:red:user";
47 gpios = <&pioA PIN_PB1 GPIO_ACTIVE_HIGH>;
48 default-state = "off";
49 };
50
51 white {
52 label = "pio:white:user";
53 gpios = <&pioA PIN_PB8 GPIO_ACTIVE_HIGH>;
54 default-state = "off";
55 };
56 };
57
58 gpio_keys {
59 compatible = "gpio-keys";
60 pinctrl-names = "default" , "default", "default",
61 "default", "default" ;
62 pinctrl-0 = <&pinctrl_key_gpio_default>;
63 pinctrl-1 = <&pinctrl_pio_rf &pinctrl_pio_wifi>;
64 pinctrl-2 = <&pinctrl_pio_io_boot
65 &pinctrl_pio_io_reset
66 &pinctrl_pio_io_test_radio>;
67 pinctrl-3 = <&pinctrl_pio_zbe_test_radio
68 &pinctrl_pio_zbe_rst>;
69 pinctrl-4 = <&pinctrl_pio_input>;
70
71 SW1 {
72 label = "SW1";
73 gpios = <&pioA PIN_PA29 GPIO_ACTIVE_LOW>;
74 linux,code = <0x101>;
75 wakeup-source;
76 };
77
78 SW2 {
79 label = "SW2";
80 gpios = <&pioA PIN_PA18 GPIO_ACTIVE_LOW>;
81 linux,code = <0x102>;
82 wakeup-source;
83 };
84
85 SW3 {
86 label = "SW3";
87 gpios = <&pioA PIN_PA22 GPIO_ACTIVE_LOW>;
88 linux,code = <0x103>;
89 wakeup-source;
90 };
91
92 SW7 {
93 label = "SW7";
94 gpios = <&pioA PIN_PA26 GPIO_ACTIVE_LOW>;
95 linux,code = <0x107>;
96 wakeup-source;
97 };
98
99 SW8 {
100 label = "SW8";
101 gpios = <&pioA PIN_PA24 GPIO_ACTIVE_LOW>;
102 linux,code = <0x108>;
103 wakeup-source;
104 };
105 };
106
107 gpios {
108 compatible = "gpio";
109 status = "okay";
110
111 rf_on {
112 label = "rf on";
113 gpio = <&pioA PIN_PC19 GPIO_ACTIVE_HIGH>;
114 output;
115 init-low;
116 };
117
118 wifi_on {
119 label = "wifi on";
120 gpio = <&pioA PIN_PC20 GPIO_ACTIVE_HIGH>;
121 output;
122 init-low;
123 };
124
125 zbe_test_radio {
126 label = "zbe test radio";
127 gpio = <&pioA PIN_PB21 GPIO_ACTIVE_HIGH>;
128 output;
129 init-low;
130 };
131
132 zbe_rst {
133 label = "zbe rst";
134 gpio = <&pioA PIN_PB25 GPIO_ACTIVE_HIGH>;
135 output;
136 init-low;
137 };
138
139 io_reset {
140 label = "io reset";
141 gpio = <&pioA PIN_PB30 GPIO_ACTIVE_HIGH>;
142 output;
143 init-low;
144 };
145
146 io_test_radio {
147 label = "io test radio";
148 gpio = <&pioA PIN_PC9 GPIO_ACTIVE_HIGH>;
149 output;
150 init-low;
151 };
152
153 io_boot_0 {
154 label = "io boot 0";
155 gpio = <&pioA PIN_PC11 GPIO_ACTIVE_HIGH>;
156 output;
157 init-low;
158 };
159
160 io_boot_1 {
161 label = "io boot 1";
162 gpio = <&pioA PIN_PC17 GPIO_ACTIVE_HIGH>;
163 output;
164 init-low;
165 };
166
167 verbose_bootloader {
168 label = "verbose bootloader";
169 gpio = <&pioA PIN_PB11 GPIO_ACTIVE_HIGH>;
170 input;
171 };
172
173 nail_bed_detection {
174 label = "nail bed detection";
175 gpio = <&pioA PIN_PB12 GPIO_ACTIVE_HIGH>;
176 input;
177 };
178
179 id_usba {
180 label = "id usba";
181 gpio = <&pioA PIN_PC0 GPIO_ACTIVE_LOW>;
182 input;
183 };
184 };
185};
186
187&pioA {
188 pinctrl_key_gpio_default: key_gpio_default {
189 pinmux= <PIN_PA22__GPIO>,
190 <PIN_PA24__GPIO>,
191 <PIN_PA26__GPIO>,
192 <PIN_PA29__GPIO>,
193 <PIN_PA18__GPIO>;
194 bias-disable;
195 };
196
197 pinctrl_gpio {
198 pinctrl_pio_rf: gpio_rf {
199 pinmux = <PIN_PC19__GPIO>;
200 bias-disable;
201 };
202 pinctrl_pio_wifi: gpio_wifi {
203 pinmux = <PIN_PC20__GPIO>;
204 bias-disable;
205 };
206 pinctrl_pio_io_boot: gpio_io_boot {
207 pinmux =
208 <PIN_PC11__GPIO>,
209 <PIN_PC17__GPIO>;
210 bias-disable;
211 };
212 pinctrl_pio_io_test_radio: gpio_io_test_radio {
213 pinmux = <PIN_PC9__GPIO>;
214 bias-disable;
215 };
216 pinctrl_pio_zbe_test_radio: gpio_zbe_test_radio {
217 pinmux = <PIN_PB21__GPIO>;
218 bias-disable;
219 };
220 pinctrl_pio_zbe_rst: gpio_zbe_rst {
221 pinmux = <PIN_PB25__GPIO>;
222 bias-disable;
223 };
224 /* stm32 reset must be open drain (internal pull up) */
225 pinctrl_pio_io_reset: gpio_io_reset {
226 pinmux = <PIN_PB30__GPIO>;
227 bias-disable;
228 drive-open-drain = <1>;
229 output-low;
230 };
231 pinctrl_pio_input: gpio_input {
232 pinmux =
233 <PIN_PB11__GPIO>,
234 <PIN_PB12__GPIO>,
235 <PIN_PC0__GPIO>;
236 bias-disable;
237 };
238 };
239
240 pinctrl_leds {
241 pinctrl_led_red: led_red {
242 pinmux = <PIN_PB1__GPIO>;
243 bias-disable;
244 };
245 pinctrl_led_white: led_white {
246 pinmux = <PIN_PB8__GPIO>;
247 bias-disable;
248 };
249 };
250};
251
252&adc {
253 status = "okay";
254};
255
256&uart0 {
257 status = "okay";
258};
259
260&uart1 {
261 status = "okay";
262};
263
264&uart2 {
265 status = "okay";
266};
267
268&uart3 {
269 status = "okay";
270};
271
272&uart4 {
273 status = "okay";
274};
275
276&flx0 {
277 status = "okay";
278
279 uart5: serial@200 {
280 status = "okay";
281 };
282};
283
284&flx3 {
285 status = "okay";
Tudor Ambarusf1f22122020-05-14 05:03:07 +0000286 uart8: serial@200 {
Kamel Bouhara82822c62019-10-11 14:50:22 +0200287 status = "okay";
288 };
289};
290
291&flx4 {
292 status = "okay";
293
Tudor Ambarusf1f22122020-05-14 05:03:07 +0000294 i2c6: i2c@600 {
Kamel Bouhara82822c62019-10-11 14:50:22 +0200295 status = "okay";
296 };
297};
298
299&usb0 {
300 status = "okay";
301};
302
303&usb1 {
304 status = "okay";
305};
306
307&usb2 {
308 status = "okay";
309};