Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
[linux-2.6-microblaze.git] / arch / arm / boot / dts / at91-kizbox3-hs.dts
1 // 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         led-controller-1 {
19                 status = "okay";
20
21                 led-1 {
22                         status = "okay";
23                 };
24
25                 led-2 {
26                         status = "okay";
27                 };
28
29                 led-3 {
30                         status = "okay";
31                 };
32
33                 led-4 {
34                         status = "okay";
35                 };
36         };
37
38         led-controller-2  {
39                 compatible = "gpio-leds";
40                 pinctrl-names = "default";
41                 pinctrl-0 = <&pinctrl_led_red
42                              &pinctrl_led_white>;
43                 status = "okay";
44
45                 led-5 {
46                         label = "pio:red:user";
47                         gpios = <&pioA PIN_PB1 GPIO_ACTIVE_HIGH>;
48                         default-state = "off";
49                 };
50
51                 led-6 {
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";
286         uart8: serial@200 {
287                 status = "okay";
288         };
289 };
290
291 &flx4 {
292         status = "okay";
293
294         i2c6: i2c@600 {
295                 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 };