Merge tag 'wireless-2022-07-13' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-microblaze.git] / arch / arm / boot / dts / at91-sam9x60ek.dts
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3  * at91-sam9x60ek.dts - Device Tree file for Microchip SAM9X60-EK board
4  *
5  * Copyright (C) 2019 Microchip Technology Inc. and its subsidiaries
6  *
7  * Author: Sandeep Sheriker M <sandeepsheriker.mallikarjun@microchip.com>
8  */
9 /dts-v1/;
10 #include "sam9x60.dtsi"
11 #include <dt-bindings/input/input.h>
12
13 / {
14         model = "Microchip SAM9X60-EK";
15         compatible = "microchip,sam9x60ek", "microchip,sam9x60", "atmel,at91sam9";
16
17         aliases {
18                 i2c0 = &i2c0;
19                 i2c1 = &i2c1;
20                 serial1 = &uart1;
21         };
22
23         chosen {
24                 stdout-path = "serial0:115200n8";
25         };
26
27         clocks {
28                 slow_xtal {
29                         clock-frequency = <32768>;
30                 };
31
32                 main_xtal {
33                         clock-frequency = <24000000>;
34                 };
35         };
36
37         regulators: regulators {
38                 compatible = "simple-bus";
39                 #address-cells = <1>;
40                 #size-cells = <0>;
41
42                 vdd_1v8: fixed-regulator-vdd_1v8@0 {
43                         compatible = "regulator-fixed";
44                         regulator-name = "VDD_1V8";
45                         regulator-min-microvolt = <1800000>;
46                         regulator-max-microvolt = <1800000>;
47                         regulator-always-on;
48                         status = "okay";
49                 };
50
51                 vdd_1v15: fixed-regulator-vdd_1v15@1 {
52                         compatible = "regulator-fixed";
53                         regulator-name = "VDD_1V15";
54                         regulator-min-microvolt = <1150000>;
55                         regulator-max-microvolt = <1150000>;
56                         regulator-always-on;
57                         status = "okay";
58                 };
59
60                 vdd1_3v3: fixed-regulator-vdd1_3v3@2 {
61                         compatible = "regulator-fixed";
62                         regulator-name = "VDD1_3V3";
63                         regulator-min-microvolt = <3300000>;
64                         regulator-max-microvolt = <3300000>;
65                         regulator-always-on;
66                         status = "okay";
67                 };
68
69                 vdd2_3v3: regulator-fixed-vdd2_3v3@3 {
70                         compatible = "regulator-fixed";
71                         regulator-name = "VDD2_3V3";
72                         regulator-min-microvolt = <3300000>;
73                         regulator-max-microvolt = <3300000>;
74                         regulator-always-on;
75                         status = "okay";
76                 };
77         };
78
79         gpio_keys {
80                 compatible = "gpio-keys";
81                 pinctrl-names = "default";
82                 pinctrl-0 = <&pinctrl_key_gpio_default>;
83                 status = "okay";
84
85                 sw1 {
86                         label = "SW1";
87                         gpios = <&pioD 18 GPIO_ACTIVE_LOW>;
88                         linux,code=<KEY_PROG1>;
89                         wakeup-source;
90                 };
91         };
92
93         leds {
94                 compatible = "gpio-leds";
95                 pinctrl-names = "default";
96                 pinctrl-0 = <&pinctrl_gpio_leds>;
97                 status = "okay"; /* Conflict with pwm0. */
98
99                 red {
100                         label = "red";
101                         gpios = <&pioB 11 GPIO_ACTIVE_HIGH>;
102                 };
103
104                 green {
105                         label = "green";
106                         gpios = <&pioB 12 GPIO_ACTIVE_HIGH>;
107                 };
108
109                 blue {
110                         label = "blue";
111                         gpios = <&pioB 13 GPIO_ACTIVE_HIGH>;
112                         linux,default-trigger = "heartbeat";
113                 };
114         };
115 };
116
117 &adc {
118         vddana-supply = <&vdd1_3v3>;
119         vref-supply = <&vdd1_3v3>;
120         pinctrl-names = "default";
121         pinctrl-0 = <&pinctrl_adc_default &pinctrl_adtrg_default>;
122         status = "okay";
123 };
124
125 &can0 {
126         pinctrl-names = "default";
127         pinctrl-0 = <&pinctrl_can0_rx_tx>;
128         status = "disabled"; /* Conflict with dbgu. */
129 };
130
131 &can1 {
132         pinctrl-names = "default";
133         pinctrl-0 = <&pinctrl_can1_rx_tx>;
134         status = "okay";
135 };
136
137 &classd {
138         pinctrl-names = "default";
139         pinctrl-0 = <&pinctrl_classd_default>;
140         atmel,pwm-type = "diff";
141         atmel,non-overlap-time = <10>;
142         status = "okay";
143 };
144
145 &dbgu {
146         pinctrl-names = "default";
147         pinctrl-0 = <&pinctrl_dbgu>;
148         status = "okay"; /* Conflict with can0. */
149 };
150
151 &ebi {
152         pinctrl-names = "default";
153         pinctrl-0 = <&pinctrl_ebi_addr_nand &pinctrl_ebi_data_0_7>;
154         status = "okay";
155
156         nand_controller: nand-controller {
157                 pinctrl-names = "default";
158                 pinctrl-0 = <&pinctrl_nand_oe_we &pinctrl_nand_cs &pinctrl_nand_rb>;
159                 status = "okay";
160
161                 nand@3 {
162                         reg = <0x3 0x0 0x800000>;
163                         rb-gpios = <&pioD 5 GPIO_ACTIVE_HIGH>;
164                         cs-gpios = <&pioD 4 GPIO_ACTIVE_HIGH>;
165                         nand-bus-width = <8>;
166                         nand-ecc-mode = "hw";
167                         nand-ecc-strength = <8>;
168                         nand-ecc-step-size = <512>;
169                         nand-on-flash-bbt;
170                         label = "atmel_nand";
171
172                         partitions {
173                                 compatible = "fixed-partitions";
174                                 #address-cells = <1>;
175                                 #size-cells = <1>;
176
177                                 at91bootstrap@0 {
178                                         label = "at91bootstrap";
179                                         reg = <0x0 0x40000>;
180                                 };
181
182                                 uboot@40000 {
183                                         label = "u-boot";
184                                         reg = <0x40000 0xc0000>;
185                                 };
186
187                                 ubootenvred@100000 {
188                                         label = "U-Boot Env Redundant";
189                                         reg = <0x100000 0x40000>;
190                                 };
191
192                                 ubootenv@140000 {
193                                         label = "U-Boot Env";
194                                         reg = <0x140000 0x40000>;
195                                 };
196
197                                 dtb@180000 {
198                                         label = "device tree";
199                                         reg = <0x180000 0x80000>;
200                                 };
201
202                                 kernel@200000 {
203                                         label = "kernel";
204                                         reg = <0x200000 0x600000>;
205                                 };
206
207                                 rootfs@800000 {
208                                         label = "rootfs";
209                                         reg = <0x800000 0x1f800000>;
210                                 };
211                         };
212                 };
213         };
214 };
215
216 &flx0 {
217         atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
218         status = "okay";
219
220         i2c0: i2c@600 {
221                 compatible = "microchip,sam9x60-i2c";
222                 reg = <0x600 0x200>;
223                 interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
224                 #address-cells = <1>;
225                 #size-cells = <0>;
226                 clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
227                 pinctrl-names = "default";
228                 pinctrl-0 = <&pinctrl_flx0_default>;
229                 atmel,fifo-size = <16>;
230                 i2c-analog-filter;
231                 i2c-digital-filter;
232                 i2c-digital-filter-width-ns = <35>;
233                 status = "okay";
234
235                 eeprom@53 {
236                         compatible = "atmel,24c02";
237                         reg = <0x53>;
238                         pagesize = <16>;
239                         status = "okay";
240                 };
241         };
242 };
243
244 &flx4 {
245         atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_SPI>;
246         status = "disabled";
247
248         spi0: spi@400 {
249                 compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
250                 reg = <0x400 0x200>;
251                 interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
252                 clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
253                 clock-names = "spi_clk";
254                 pinctrl-names = "default";
255                 pinctrl-0 = <&pinctrl_flx4_default>;
256                 atmel,fifo-size = <16>;
257                 #address-cells = <1>;
258                 #size-cells = <0>;
259                 status = "disabled";
260         };
261 };
262
263 &flx5 {
264         atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
265         status = "okay";
266
267         uart1: serial@200 {
268                 compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
269                 reg = <0x200 0x200>;
270                 interrupts = <14 IRQ_TYPE_LEVEL_HIGH 7>;
271                 dmas = <&dma0
272                         (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
273                          AT91_XDMAC_DT_PERID(10))>,
274                        <&dma0
275                         (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
276                          AT91_XDMAC_DT_PERID(11))>;
277                 dma-names = "tx", "rx";
278                 clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
279                 clock-names = "usart";
280                 pinctrl-0 = <&pinctrl_flx5_default>;
281                 pinctrl-names = "default";
282                 atmel,use-dma-rx;
283                 atmel,use-dma-tx;
284                 status = "okay";
285         };
286 };
287
288 &flx6 {
289         atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
290         status = "okay";
291
292         i2c1: i2c@600 {
293                 compatible = "microchip,sam9x60-i2c";
294                 reg = <0x600 0x200>;
295                 interrupts = <9 IRQ_TYPE_LEVEL_HIGH 7>;
296                 #address-cells = <1>;
297                 #size-cells = <0>;
298                 clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
299                 pinctrl-names = "default";
300                 pinctrl-0 = <&pinctrl_flx6_default>;
301                 atmel,fifo-size = <16>;
302                 i2c-analog-filter;
303                 i2c-digital-filter;
304                 i2c-digital-filter-width-ns = <35>;
305                 status = "okay";
306
307                 gpio_exp: mcp23008@20 {
308                         compatible = "microchip,mcp23008";
309                         reg = <0x20>;
310                 };
311         };
312 };
313
314 &gpbr {
315         status = "okay";
316 };
317
318 &i2s {
319         pinctrl-names = "default";
320         pinctrl-0 = <&pinctrl_i2s_default>;
321         #sound-dai-cells = <0>;
322         status = "disabled"; /* Conflict with QSPI. */
323 };
324
325 &macb0 {
326         phy-mode = "rmii";
327         #address-cells = <1>;
328         #size-cells = <0>;
329         pinctrl-names = "default";
330         pinctrl-0 = <&pinctrl_macb0_rmii>;
331         status = "okay";
332
333         ethernet-phy@0 {
334                 reg = <0x0>;
335         };
336 };
337
338 &pinctrl {
339         adc {
340                 pinctrl_adc_default: adc_default {
341                         atmel,pins = <AT91_PIOB 15 AT91_PERIPH_A AT91_PINCTRL_NONE>;
342                 };
343
344                 pinctrl_adtrg_default: adtrg_default {
345                         atmel,pins = <AT91_PIOB 18 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
346                 };
347         };
348
349         dbgu {
350                 pinctrl_dbgu: dbgu-0 {
351                         atmel,pins = <AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
352                                       AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_NONE>;
353                 };
354         };
355
356         i2s {
357                 pinctrl_i2s_default: i2s {
358                         atmel,pins =
359                                 <AT91_PIOB 19 AT91_PERIPH_B AT91_PINCTRL_NONE           /* I2SCK */
360                                  AT91_PIOB 20 AT91_PERIPH_B AT91_PINCTRL_NONE           /* I2SWS */
361                                  AT91_PIOB 21 AT91_PERIPH_B AT91_PINCTRL_NONE           /* I2SDIN */
362                                  AT91_PIOB 22 AT91_PERIPH_B AT91_PINCTRL_NONE           /* I2SDOUT */
363                                  AT91_PIOB 23 AT91_PERIPH_B AT91_PINCTRL_NONE>;         /* I2SMCK */
364                 };
365         };
366
367         qspi {
368                 pinctrl_qspi: qspi {
369                         atmel,pins =
370                                 <AT91_PIOB 19 AT91_PERIPH_A AT91_PINCTRL_SLEWRATE_DIS
371                                  AT91_PIOB 20 AT91_PERIPH_A AT91_PINCTRL_SLEWRATE_DIS
372                                  AT91_PIOB 21 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_SLEWRATE_DIS)
373                                  AT91_PIOB 22 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_SLEWRATE_DIS)
374                                  AT91_PIOB 23 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_SLEWRATE_DIS)
375                                  AT91_PIOB 24 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_SLEWRATE_DIS)>;
376                 };
377         };
378
379         nand {
380                 pinctrl_nand_oe_we: nand-oe-we-0 {
381                         atmel,pins =
382                                 <AT91_PIOD 0 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
383                                  AT91_PIOD 1 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
384                 };
385
386                 pinctrl_nand_rb: nand-rb-0 {
387                         atmel,pins =
388                                 <AT91_PIOD 5 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
389                 };
390
391                 pinctrl_nand_cs: nand-cs-0 {
392                         atmel,pins =
393                                 <AT91_PIOD 4 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
394                 };
395         };
396
397         ebi {
398                 pinctrl_ebi_data_0_7: ebi-data-lsb-0 {
399                         atmel,pins =
400                                 <AT91_PIOD 6 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
401                                  AT91_PIOD 7 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
402                                  AT91_PIOD 8 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
403                                  AT91_PIOD 9 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
404                                  AT91_PIOD 10 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
405                                  AT91_PIOD 11 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
406                                  AT91_PIOD 12 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
407                                  AT91_PIOD 13 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
408                 };
409
410                 pinctrl_ebi_data_0_15: ebi-data-msb-0 {
411                         atmel,pins =
412                                 <AT91_PIOD 6 AT91_PERIPH_A AT91_PINCTRL_NONE
413                                  AT91_PIOD 7 AT91_PERIPH_A AT91_PINCTRL_NONE
414                                  AT91_PIOD 8 AT91_PERIPH_A AT91_PINCTRL_NONE
415                                  AT91_PIOD 9 AT91_PERIPH_A AT91_PINCTRL_NONE
416                                  AT91_PIOD 10 AT91_PERIPH_A AT91_PINCTRL_NONE
417                                  AT91_PIOD 11 AT91_PERIPH_A AT91_PINCTRL_NONE
418                                  AT91_PIOD 12 AT91_PERIPH_A AT91_PINCTRL_NONE
419                                  AT91_PIOD 13 AT91_PERIPH_A AT91_PINCTRL_NONE
420                                  AT91_PIOD 14 AT91_PERIPH_A AT91_PINCTRL_NONE
421                                  AT91_PIOD 15 AT91_PERIPH_A AT91_PINCTRL_NONE
422                                  AT91_PIOD 16 AT91_PERIPH_A AT91_PINCTRL_NONE
423                                  AT91_PIOD 17 AT91_PERIPH_A AT91_PINCTRL_NONE
424                                  AT91_PIOD 18 AT91_PERIPH_A AT91_PINCTRL_NONE
425                                  AT91_PIOD 19 AT91_PERIPH_A AT91_PINCTRL_NONE
426                                  AT91_PIOD 20 AT91_PERIPH_A AT91_PINCTRL_NONE
427                                  AT91_PIOD 21 AT91_PERIPH_A AT91_PINCTRL_NONE>;
428                 };
429
430                 pinctrl_ebi_addr_nand: ebi-addr-0 {
431                         atmel,pins =
432                                 <AT91_PIOD 2 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
433                                  AT91_PIOD 3 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
434                 };
435         };
436
437         flexcom {
438                 pinctrl_flx0_default: flx0_twi {
439                         atmel,pins =
440                                 <AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
441                                  AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
442                 };
443
444                 pinctrl_flx4_default: flx4_spi {
445                         atmel,pins =
446                                 <AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_NONE
447                                  AT91_PIOA 12 AT91_PERIPH_A AT91_PINCTRL_NONE
448                                  AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_NONE
449                                  AT91_PIOA 14 AT91_PERIPH_A AT91_PINCTRL_NONE>;
450                 };
451
452                 pinctrl_flx5_default: flx_uart {
453                         atmel,pins =
454                                 <AT91_PIOA 7 AT91_PERIPH_C AT91_PINCTRL_NONE
455                                  AT91_PIOA 8 AT91_PERIPH_B AT91_PINCTRL_NONE
456                                  AT91_PIOA 21 AT91_PERIPH_B AT91_PINCTRL_NONE
457                                  AT91_PIOA 22 AT91_PERIPH_B AT91_PINCTRL_NONE>;
458                 };
459
460                 pinctrl_flx6_default: flx6_twi {
461                         atmel,pins =
462                                 <AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
463                                  AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
464                 };
465         };
466
467         classd {
468                 pinctrl_classd_default: classd {
469                         atmel,pins =
470                                 <AT91_PIOA 24 AT91_PERIPH_C AT91_PINCTRL_PULL_UP
471                                  AT91_PIOA 25 AT91_PERIPH_C AT91_PINCTRL_PULL_DOWN
472                                  AT91_PIOA 26 AT91_PERIPH_C AT91_PINCTRL_PULL_UP
473                                  AT91_PIOA 27 AT91_PERIPH_C AT91_PINCTRL_PULL_DOWN>;
474                 };
475         };
476
477         can0 {
478                 pinctrl_can0_rx_tx: can0_rx_tx {
479                         atmel,pins =
480                                 <AT91_PIOA 9 AT91_PERIPH_B AT91_PINCTRL_NONE    /* CANRX0 */
481                                  AT91_PIOA 10 AT91_PERIPH_B AT91_PINCTRL_NONE   /* CANTX0 */
482                                  AT91_PIOD 20 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN   /* Enable CAN0 mux */
483                                  AT91_PIOD 21 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN>; /* Enable CAN Transceivers */
484                 };
485         };
486
487         can1 {
488                 pinctrl_can1_rx_tx: can1_rx_tx {
489                         atmel,pins =
490                                 <AT91_PIOA 6 AT91_PERIPH_B AT91_PINCTRL_NONE    /* CANRX1 RXD1 */
491                                  AT91_PIOA 5 AT91_PERIPH_B AT91_PINCTRL_NONE    /* CANTX1 TXD1 */
492                                  AT91_PIOD 19 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN   /* Enable CAN1 mux */
493                                  AT91_PIOD 21 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN>; /* Enable CAN Transceivers */
494                 };
495         };
496
497         macb0 {
498                 pinctrl_macb0_rmii: macb0_rmii-0 {
499                         atmel,pins =
500                                 <AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PB0 periph A */
501                                  AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PB1 periph A */
502                                  AT91_PIOB 2 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PB2 periph A */
503                                  AT91_PIOB 3 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PB3 periph A */
504                                  AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PB4 periph A */
505                                  AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PB5 periph A */
506                                  AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PB6 periph A */
507                                  AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PB7 periph A */
508                                  AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PB9 periph A */
509                                  AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB10 periph A */
510                 };
511         };
512
513         pwm0 {
514                 pinctrl_pwm0_0: pwm0_0 {
515                         atmel,pins = <AT91_PIOB 11 AT91_PERIPH_B AT91_PINCTRL_NONE>;
516                 };
517
518                 pinctrl_pwm0_1: pwm0_1 {
519                         atmel,pins = <AT91_PIOB 12 AT91_PERIPH_B AT91_PINCTRL_NONE>;
520                 };
521
522                 pinctrl_pwm0_2: pwm0_2 {
523                         atmel,pins = <AT91_PIOB 13 AT91_PERIPH_B AT91_PINCTRL_NONE>;
524                 };
525
526                 pinctrl_pwm0_3: pwm0_3 {
527                         atmel,pins = <AT91_PIOB 14 AT91_PERIPH_B AT91_PINCTRL_NONE>;
528                 };
529         };
530
531         sdmmc0 {
532                 pinctrl_sdmmc0_default: sdmmc0 {
533                         atmel,pins =
534                                 <AT91_PIOA 17 AT91_PERIPH_A (AT91_PINCTRL_DRIVE_STRENGTH_HI)                            /* PA17 CK  periph A with pullup */
535                                  AT91_PIOA 16 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)     /* PA16 CMD periph A with pullup */
536                                  AT91_PIOA 15 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)     /* PA15 DAT0 periph A */
537                                  AT91_PIOA 18 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)     /* PA18 DAT1 periph A with pullup */
538                                  AT91_PIOA 19 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)     /* PA19 DAT2 periph A with pullup */
539                                  AT91_PIOA 20 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)>;   /* PA20 DAT3 periph A with pullup */
540                 };
541                 pinctrl_sdmmc0_cd: sdmmc0_cd {
542                         atmel,pins =
543                                 <AT91_PIOA 23 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
544                 };
545         };
546
547         sdmmc1 {
548                 pinctrl_sdmmc1_default: sdmmc1 {
549                         atmel,pins =
550                                 <AT91_PIOA 13 AT91_PERIPH_B (AT91_PINCTRL_DRIVE_STRENGTH_HI)                            /* PA13 CK periph B */
551                                  AT91_PIOA 12 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)     /* PA12 CMD periph B with pullup */
552                                  AT91_PIOA 11 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)     /* PA11 DAT0 periph B with pullup */
553                                  AT91_PIOA  2 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)     /* PA2 DAT1 periph B with pullup */
554                                  AT91_PIOA  3 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)     /* PA3 DAT2 periph B with pullup */
555                                  AT91_PIOA  4 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)>;   /* PA4 DAT3 periph B with pullup */
556                 };
557         };
558
559         gpio_keys {
560                 pinctrl_key_gpio_default: pinctrl_key_gpio {
561                         atmel,pins = <AT91_PIOD 18 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
562                 };
563         };
564
565         usb0 {
566                 pinctrl_usba_vbus: usba_vbus {
567                         atmel,pins = <AT91_PIOB 16 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
568                 };
569         };
570
571         usb1 {
572                 pinctrl_usb_default: usb_default {
573                         atmel,pins = <AT91_PIOD 15 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
574                                       AT91_PIOD 16 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
575                 };
576         };
577
578         leds {
579                 pinctrl_gpio_leds: gpio_leds {
580                         atmel,pins = <AT91_PIOB 11 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
581                                       AT91_PIOB 12 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
582                                       AT91_PIOB 13 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
583                 };
584         };
585 }; /* pinctrl */
586
587 &pwm0 {
588         pinctrl-names = "default";
589         pinctrl-0 = <&pinctrl_pwm0_0 &pinctrl_pwm0_1 &pinctrl_pwm0_2 &pinctrl_pwm0_3>;
590         status = "disabled"; /* Conflict with leds. */
591 };
592
593 &sdmmc0 {
594         bus-width = <4>;
595         pinctrl-names = "default";
596         pinctrl-0 = <&pinctrl_sdmmc0_default &pinctrl_sdmmc0_cd>;
597         status = "okay";
598         cd-gpios = <&pioA 23 GPIO_ACTIVE_LOW>;
599         disable-wp;
600 };
601
602 &sdmmc1 {
603         bus-width = <4>;
604         pinctrl-names = "default";
605         pinctrl-0 = <&pinctrl_sdmmc1_default>;
606         no-1-8-v;
607         non-removable;
608         status = "disabled"; /* Conflict with flx4. */
609 };
610
611 &qspi {
612         pinctrl-names = "default";
613         pinctrl-0 = <&pinctrl_qspi>;
614         status = "okay"; /* Conflict with i2s. */
615
616         flash@0 {
617                 #address-cells = <1>;
618                 #size-cells = <1>;
619                 compatible = "jedec,spi-nor";
620                 reg = <0>;
621                 spi-max-frequency = <80000000>;
622                 spi-tx-bus-width = <4>;
623                 spi-rx-bus-width = <4>;
624                 m25p,fast-read;
625
626                 at91bootstrap@0 {
627                         label = "qspi: at91bootstrap";
628                         reg = <0x0 0x40000>;
629                 };
630
631                 bootloader@40000 {
632                         label = "qspi: bootloader";
633                         reg = <0x40000 0xc0000>;
634                 };
635
636                 bootloaderenvred@100000 {
637                         label = "qspi: bootloader env redundant";
638                         reg = <0x100000 0x40000>;
639                 };
640
641                 bootloaderenv@140000 {
642                         label = "qspi: bootloader env";
643                         reg = <0x140000 0x40000>;
644                 };
645
646                 dtb@180000 {
647                         label = "qspi: device tree";
648                         reg = <0x180000 0x80000>;
649                 };
650
651                 kernel@200000 {
652                         label = "qspi: kernel";
653                         reg = <0x200000 0x600000>;
654                 };
655         };
656 };
657
658 &rtt {
659         atmel,rtt-rtc-time-reg = <&gpbr 0x0>;
660         status = "okay";
661 };
662
663 &shutdown_controller {
664         debounce-delay-us = <976>;
665         status = "okay";
666
667         input@0 {
668                 reg = <0>;
669         };
670 };
671
672 &tcb0 {
673         timer0: timer@0 {
674                 compatible = "atmel,tcb-timer";
675                 reg = <0>;
676         };
677
678         timer1: timer@1 {
679                 compatible = "atmel,tcb-timer";
680                 reg = <1>;
681         };
682 };
683
684 &usb0 {
685         atmel,vbus-gpio = <&pioB 16 GPIO_ACTIVE_HIGH>;
686         pinctrl-names = "default";
687         pinctrl-0 = <&pinctrl_usba_vbus>;
688         status = "okay";
689 };
690
691 &usb1 {
692         num-ports = <3>;
693         atmel,vbus-gpio = <0
694                            &pioD 15 GPIO_ACTIVE_HIGH
695                            &pioD 16 GPIO_ACTIVE_HIGH>;
696         pinctrl-names = "default";
697         pinctrl-0 = <&pinctrl_usb_default>;
698         status = "okay";
699 };
700
701 &usb2 {
702         status = "okay";
703 };
704
705 &watchdog {
706         status = "okay";
707 };
708