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