Merge tag 'for-5.15/parisc' of git://git.kernel.org/pub/scm/linux/kernel/git/deller...
[linux-2.6-microblaze.git] / arch / arm / boot / dts / at91-kizbox3_common.dtsi
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * at91-kizbox3.dts - Device Tree Include file for Overkiz Kizbox 3
4  * family SoC boards
5  *
6  * Copyright (C) 2018 Overkiz SAS
7  *
8  * Authors: Dorian Rocipon <d.rocipon@overkiz.com>
9  *          Kevin Carli <k.carli@overkiz.com>
10  *          Mickael Gardet <m.gardet@overkiz.com>
11  */
12 /dts-v1/;
13 #include "sama5d2.dtsi"
14 #include "sama5d2-pinfunc.h"
15 #include <dt-bindings/gpio/gpio.h>
16 #include <dt-bindings/mfd/atmel-flexcom.h>
17 #include <dt-bindings/pinctrl/at91.h>
18 #include <dt-bindings/pwm/pwm.h>
19
20 / {
21         model = "Overkiz Kizbox3";
22         compatible = "overkiz,kizbox3", "atmel,sama5d2", "atmel,sama5";
23
24         aliases {
25                 serial0 = &uart0;
26                 serial1 = &uart1;
27                 serial2 = &uart2;
28                 serial3 = &uart3;
29                 serial4 = &uart4;
30                 serial5 = &uart5;
31                 serial6 = &uart8;
32         };
33
34         chosen {
35                 bootargs = "ubi.mtd=ubi";
36                 stdout-path = "serial1:115200n8";
37         };
38
39         clocks {
40                 slow_xtal {
41                         clock-frequency = <32768>;
42                 };
43
44                 main_xtal {
45                         clock-frequency = <12000000>;
46                 };
47         };
48
49         vdd_adc_vddana: supply_3v3_ana {
50                 compatible = "regulator-fixed";
51                 regulator-name = "adc-vddana";
52                 regulator-min-microvolt = <3300000>;
53                 regulator-max-microvolt = <3300000>;
54                 regulator-always-on;
55         };
56
57         vdd_adc_vref: supply_3v3_ref {
58                 compatible = "regulator-fixed";
59                 regulator-name = "adc-vref";
60                 regulator-min-microvolt = <3300000>;
61                 regulator-max-microvolt = <3300000>;
62                 regulator-always-on;
63         };
64
65         led-controller-1 {
66                 compatible = "pwm-leds";
67                 pinctrl-names = "default";
68                 pinctrl-0 = <&pinctrl_pwm0_pwm_h0
69                              &pinctrl_pwm0_pwm_h1
70                              &pinctrl_pwm0_pwm_h2
71                              &pinctrl_pwm0_pwm_h3>;
72                 status = "disabled";
73
74                 led-1 {
75                         label = "pwm:red:user";
76                         pwms = <&pwm0 0 10000000 0>;
77                         max-brightness = <255>;
78                         linux,default-trigger = "default-on";
79                         status = "disabled";
80                 };
81
82                 led-2 {
83                         label = "pwm:green:user";
84                         pwms = <&pwm0 1 10000000 0>;
85                         max-brightness = <255>;
86                         linux,default-trigger = "default-on";
87                         status = "disabled";
88                 };
89
90                 led-3 {
91                         label = "pwm:blue:user";
92                         pwms = <&pwm0 2 10000000 0>;
93                         max-brightness = <255>;
94                         status = "disabled";
95                 };
96
97                 led-4 {
98                         label = "pwm:white:user";
99                         pwms = <&pwm0 3 10000000 0>;
100                         max-brightness = <255>;
101                         status = "disabled";
102                 };
103         };
104 };
105
106 &ebi {
107         status = "okay";
108 };
109
110 &nand_controller {
111         status = "okay";
112
113         nand@3 {
114                 pinctrl-0 = <&pinctrl_ebi_nand_addr>;
115                 pinctrl-names = "default";
116                 reg = <0x3 0x0 0x800000>;
117
118                 atmel,rb = <0>;
119                 nand-bus-width = <8>;
120                 nand-ecc-mode = "hw";
121                 nand-ecc-strength = <4>;
122                 nand-ecc-step-size = <512>;
123                 nand-on-flash-bbt;
124                 label = "atmel_nand";
125
126                 partitions {
127                         compatible = "fixed-partitions";
128                         #address-cells = <1>;
129                         #size-cells = <1>;
130
131                         bootstrap@0 {
132                                 label = "bootstrap";
133                                 reg = <0x0 0x20000>;
134                         };
135
136                         u-boot@20000 {
137                                 label = "u-boot";
138                                 reg = <0x20000 0x140000>;
139                         };
140
141                         u-boot-factory@160000 {
142                                 label = "u-boot-factory";
143                                 reg = <0x160000 0x140000>;
144                         };
145
146                         ubi@2A0000 {
147                                 label = "ubi";
148                                 reg = <0x2A0000 0x7D60000>;
149                         };
150                 };
151
152         };
153 };
154
155 &rtc {
156         status = "okay";
157 };
158
159 &pioA {
160         pinctrl_ebi_nand_addr: ebi-addr-1 {
161                 pinmux = <PIN_PA0__D0>,
162                         <PIN_PA1__D1>,
163                         <PIN_PA2__D2>,
164                         <PIN_PA3__D3>,
165                         <PIN_PA4__D4>,
166                         <PIN_PA5__D5>,
167                         <PIN_PA6__D6>,
168                         <PIN_PA7__D7>,
169                         <PIN_PA8__NWE_NANDWE>,
170                         <PIN_PA9__NCS3>,
171                         <PIN_PA10__A21_NANDALE>,
172                         <PIN_PA11__A22_NANDCLE>,
173                         <PIN_PA21__NANDRDY>;
174                 bias-disable;
175         };
176
177         pinctrl_usart {
178                 pinctrl_usart_0: usart0-0 {
179                         pinmux = < PIN_PB26__URXD0>, <PIN_PB27__UTXD0>;
180                         bias-disable;
181                 };
182                 pinctrl_usart_1: usart1-0 {
183                         pinmux = < PIN_PD2__URXD1>, <PIN_PD3__UTXD1>;
184                         bias-disable;
185                 };
186                 pinctrl_usart_2: usart2-0 {
187                         pinmux = < PIN_PD4__URXD2>, <PIN_PD5__UTXD2>;
188                         bias-disable;
189                 };
190                 pinctrl_usart_3: usart3-0 {
191                         pinmux = < PIN_PC12__URXD3>, <PIN_PC13__UTXD3>;
192                         bias-disable;
193                 };
194                 pinctrl_usart_4: usart4-0 {
195                         pinmux = < PIN_PB3__URXD4>, <PIN_PB4__UTXD4>;
196                         bias-disable;
197                 };
198                 pinctrl_flx0_default: flx0_usart_default {
199                         pinmux = <PIN_PB28__FLEXCOM0_IO0>, //TX
200                         <PIN_PB29__FLEXCOM0_IO1>; //RX
201                         bias-disable;
202                 };
203                 pinctrl_flx3_default: flx3_usart_default {
204                         pinmux = <PIN_PB22__FLEXCOM3_IO1>, //RX
205                         <PIN_PB23__FLEXCOM3_IO0>; //TX
206                         bias-disable;
207                 };
208         };
209
210         pinctrl_flx4_default: flx4_i2c6_default {
211                 pinmux = <PIN_PD12__FLEXCOM4_IO0>, //DATA
212                 <PIN_PD13__FLEXCOM4_IO1>; //CLK
213                 bias-disable;
214                 drive-open-drain = <1>;
215         };
216
217         pinctrl_pwm0 {
218                 pinctrl_pwm0_pwm_h0: pwm0_pwm_h0 {
219                         pinmux = <PIN_PA30__PWMH0>;
220                         bias-disable;
221                 };
222                 pinctrl_pwm0_pwm_h1: pwm0_pwmh1 {
223                         pinmux = <PIN_PB0__PWMH1>;
224                         bias-disable;
225                 };
226                 pinctrl_pwm0_pwm_h2: pwm0_pwm_h2 {
227                         pinmux = <PIN_PB5__PWMH2>;
228                         bias-disable;
229                 };
230                 pinctrl_pwm0_pwm_h3: pwm0_pwm_h3 {
231                         pinmux = <PIN_PB7__PWMH3>;
232                         bias-disable;
233                 };
234         };
235
236         pinctrl_adc {
237                 pinctrl_adc2: adc2 {
238                         pinmux = <PIN_PD21__GPIO>;
239                         bias-disable;
240                 };
241                 pinctrl_adc3: adc3 {
242                         pinmux = <PIN_PD22__GPIO>;
243                         bias-disable;
244                 };
245                 pinctrl_adc4: adc4 {
246                         pinmux = <PIN_PD23__GPIO>;
247                         bias-disable;
248                 };
249                 pinctrl_adc5: adc5 {
250                         pinmux = <PIN_PD24__GPIO>;
251                         bias-disable;
252                 };
253         };
254 };
255
256 &uart0 {
257         pinctrl-names = "default";
258         pinctrl-0 = <&pinctrl_usart_0>;
259         atmel,use-dma-rx;
260         atmel,use-dma-tx;
261         status = "disabled";
262 };
263
264 /* debug uart */
265 &uart1 {
266         pinctrl-names = "default";
267         pinctrl-0 = <&pinctrl_usart_1>;
268         atmel,use-dma-rx;
269         atmel,use-dma-tx;
270         status = "disabled";
271 };
272
273 &uart2 {
274         pinctrl-names = "default";
275         pinctrl-0 = <&pinctrl_usart_2>;
276         atmel,use-dma-rx;
277         atmel,use-dma-tx;
278         status = "disabled";
279 };
280
281 &uart3 {
282         pinctrl-names = "default";
283         pinctrl-0 = <&pinctrl_usart_3>;
284         atmel,use-dma-rx;
285         atmel,use-dma-tx;
286         status = "disabled";
287 };
288
289 &uart4 {
290         pinctrl-names = "default";
291         pinctrl-0 = <&pinctrl_usart_4>;
292         atmel,use-dma-rx;
293         atmel,use-dma-tx;
294         status = "disabled";
295 };
296
297 &flx0 {
298         atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
299         status = "disabled";
300
301         uart5: serial@200  {
302                 pinctrl-names = "default";
303                 pinctrl-0 = <&pinctrl_flx0_default>;
304                 atmel,use-dma-rx;
305                 atmel,use-dma-tx;
306                 status = "disabled";
307         };
308 };
309
310 &flx3 {
311         atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
312         status = "disabled";
313
314         uart8: serial@200 {
315                 pinctrl-names = "default";
316                 pinctrl-0 = <&pinctrl_flx3_default>;
317                 atmel,use-dma-rx;
318                 atmel,use-dma-tx;
319                 status = "disabled";
320         };
321 };
322
323 &flx4 {
324         atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
325         status = "disabled";
326
327         i2c6: i2c@600 {
328                 pinctrl-names = "default";
329                 pinctrl-0 = <&pinctrl_flx4_default>;
330                 status = "disabled";
331         };
332 };
333
334 &pwm0 {
335         status = "okay";
336 };
337
338 &shutdown_controller {
339         debounce-delay-us = <976>;
340         atmel,wakeup-rtc-timer;
341
342         input@0 {
343                 reg = <0>;
344         };
345 };
346
347 &watchdog {
348         status = "okay";
349 };
350
351 &adc {
352         pinctrl-names = "default";
353         pinctrl-0 = <&pinctrl_adc2
354                      &pinctrl_adc3
355                      &pinctrl_adc4
356                      &pinctrl_adc5>;
357
358         vddana-supply = <&vdd_adc_vddana>;
359         vref-supply = <&vdd_adc_vref>;
360         status = "disabled";
361 };
362
363 &securam {
364         export;
365
366         /* export overkiz u-boot mode/version and factory */
367         uboot@1400 {
368                 reg = <0x1400 0x20>;
369                 export;
370         };
371 };