]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/gnu/dts/arm/at91-sam9x60ek.dts
THIS BRANCH IS OBSOLETE, PLEASE READ:
[FreeBSD/FreeBSD.git] / sys / gnu / dts / arm / 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
12 / {
13         model = "Microchip SAM9X60-EK";
14         compatible = "microchip,sam9x60ek", "microchip,sam9x60", "atmel,at91sam9";
15
16         aliases {
17                 i2c0 = &i2c0;
18                 i2c1 = &i2c1;
19                 serial1 = &uart1;
20         };
21
22         chosen {
23                 stdout-path = "serial0:115200n8";
24         };
25
26         clocks {
27                 slow_xtal {
28                         clock-frequency = <32768>;
29                 };
30
31                 main_xtal {
32                         clock-frequency = <24000000>;
33                 };
34         };
35
36         regulators: regulators {
37                 compatible = "simple-bus";
38                 #address-cells = <1>;
39                 #size-cells = <0>;
40
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                 };
49
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                 };
58
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                 };
67
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         };
77
78         gpio_keys {
79                 compatible = "gpio-keys";
80                 pinctrl-names = "default";
81                 pinctrl-0 = <&pinctrl_key_gpio_default>;
82                 status = "okay";
83
84                 sw1 {
85                         label = "SW1";
86                         gpios = <&pioD 18 GPIO_ACTIVE_LOW>;
87                         linux,code=<0x104>;
88                         wakeup-source;
89                 };
90         };
91
92         leds {
93                 compatible = "gpio-leds";
94                 status = "okay"; /* Conflict with pwm0. */
95
96                 red {
97                         label = "red";
98                         gpios = <&pioB 11 GPIO_ACTIVE_HIGH>;
99                 };
100
101                 green {
102                         label = "green";
103                         gpios = <&pioB 12 GPIO_ACTIVE_HIGH>;
104                 };
105
106                 blue {
107                         label = "blue";
108                         gpios = <&pioB 13 GPIO_ACTIVE_HIGH>;
109                         linux,default-trigger = "heartbeat";
110                 };
111         };
112 };
113
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";
120 };
121
122 &can0 {
123         pinctrl-names = "default";
124         pinctrl-0 = <&pinctrl_can0_rx_tx>;
125         status = "disabled"; /* Conflict with dbgu. */
126 };
127
128 &can1 {
129         pinctrl-names = "default";
130         pinctrl-0 = <&pinctrl_can1_rx_tx>;
131         status = "okay";
132 };
133
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";
140 };
141
142 &dbgu {
143         pinctrl-names = "default";
144         pinctrl-0 = <&pinctrl_dbgu>;
145         status = "okay"; /* Conflict with can0. */
146 };
147
148 &ebi {
149         pinctrl-names = "default";
150         pinctrl-0 = <&pinctrl_ebi_addr_nand &pinctrl_ebi_data_0_7>;
151         status = "okay";
152
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";
157
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";
168
169                         partitions {
170                                 compatible = "fixed-partitions";
171                                 #address-cells = <1>;
172                                 #size-cells = <1>;
173
174                                 at91bootstrap@0 {
175                                         label = "at91bootstrap";
176                                         reg = <0x0 0x40000>;
177                                 };
178
179                                 uboot@40000 {
180                                         label = "u-boot";
181                                         reg = <0x40000 0xc0000>;
182                                 };
183
184                                 ubootenvred@100000 {
185                                         label = "U-Boot Env Redundant";
186                                         reg = <0x100000 0x40000>;
187                                 };
188
189                                 ubootenv@140000 {
190                                         label = "U-Boot Env";
191                                         reg = <0x140000 0x40000>;
192                                 };
193
194                                 dtb@180000 {
195                                         label = "device tree";
196                                         reg = <0x180000 0x80000>;
197                                 };
198
199                                 kernel@200000 {
200                                         label = "kernel";
201                                         reg = <0x200000 0x600000>;
202                                 };
203
204                                 rootfs@800000 {
205                                         label = "rootfs";
206                                         reg = <0x800000 0x1f800000>;
207                                 };
208                         };
209                 };
210         };
211 };
212
213 &flx0 {
214         atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
215         status = "okay";
216
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";
231
232                 eeprom@53 {
233                         compatible = "atmel,24c32";
234                         reg = <0x53>;
235                         pagesize = <16>;
236                         size = <128>;
237                         status = "okay";
238                 };
239         };
240 };
241
242 &flx4 {
243         atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_SPI>;
244         status = "disabled";
245
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         };
259 };
260
261 &flx5 {
262         atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
263         status = "okay";
264
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         };
284 };
285
286 &flx6 {
287         atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
288         status = "okay";
289
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";
304
305                 gpio_exp: mcp23008@20 {
306                         compatible = "microchip,mcp23008";
307                         reg = <0x20>;
308                 };
309         };
310 };
311
312 &i2s {
313         pinctrl-names = "default";
314         pinctrl-0 = <&pinctrl_i2s_default>;
315         #sound-dai-cells = <0>;
316         status = "disabled"; /* Conflict with QSPI. */
317 };
318
319 &macb0 {
320         phy-mode = "rmii";
321         #address-cells = <1>;
322         #size-cells = <0>;
323         pinctrl-names = "default";
324         pinctrl-0 = <&pinctrl_macb0_rmii>;
325         status = "okay";
326
327         ethernet-phy@0 {
328                 reg = <0x0>;
329         };
330 };
331
332 &pinctrl {
333         atmel,mux-mask = <
334                          /*     A       B       C       */
335                          0xFFFFFE7F 0xC0E0397F 0xEF00019D       /* pioA */
336                          0x03FFFFFF 0x02FC7E68 0x00780000       /* pioB */
337                          0xffffffff 0xF83FFFFF 0xB800F3FC       /* pioC */
338                          0x003FFFFF 0x003F8000 0x00000000       /* pioD */
339                          >;
340
341         adc {
342                 pinctrl_adc_default: adc_default {
343                         atmel,pins = <AT91_PIOB 15 AT91_PERIPH_A AT91_PINCTRL_NONE>;
344                 };
345
346                 pinctrl_adtrg_default: adtrg_default {
347                         atmel,pins = <AT91_PIOB 18 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
348                 };
349         };
350
351         dbgu {
352                 pinctrl_dbgu: dbgu-0 {
353                         atmel,pins = <AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
354                                       AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_NONE>;
355                 };
356         };
357
358         i2s {
359                 pinctrl_i2s_default: i2s {
360                         atmel,pins =
361                                 <AT91_PIOB 19 AT91_PERIPH_B AT91_PINCTRL_NONE           /* I2SCK */
362                                  AT91_PIOB 20 AT91_PERIPH_B AT91_PINCTRL_NONE           /* I2SWS */
363                                  AT91_PIOB 21 AT91_PERIPH_B AT91_PINCTRL_NONE           /* I2SDIN */
364                                  AT91_PIOB 22 AT91_PERIPH_B AT91_PINCTRL_NONE           /* I2SDOUT */
365                                  AT91_PIOB 23 AT91_PERIPH_B AT91_PINCTRL_NONE>;         /* I2SMCK */
366                 };
367         };
368
369         qspi {
370                 pinctrl_qspi: qspi {
371                         atmel,pins =
372                                 <AT91_PIOB 19 AT91_PERIPH_A AT91_PINCTRL_SLEWRATE_DIS
373                                  AT91_PIOB 20 AT91_PERIPH_A AT91_PINCTRL_SLEWRATE_DIS
374                                  AT91_PIOB 21 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_SLEWRATE_DIS)
375                                  AT91_PIOB 22 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_SLEWRATE_DIS)
376                                  AT91_PIOB 23 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_SLEWRATE_DIS)
377                                  AT91_PIOB 24 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_SLEWRATE_DIS)>;
378                 };
379         };
380
381         nand {
382                 pinctrl_nand_oe_we: nand-oe-we-0 {
383                         atmel,pins =
384                                 <AT91_PIOD 0 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
385                                  AT91_PIOD 1 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
386                 };
387
388                 pinctrl_nand_rb: nand-rb-0 {
389                         atmel,pins =
390                                 <AT91_PIOD 5 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
391                 };
392
393                 pinctrl_nand_cs: nand-cs-0 {
394                         atmel,pins =
395                                 <AT91_PIOD 4 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
396                 };
397         };
398
399         ebi {
400                 pinctrl_ebi_data_0_7: ebi-data-lsb-0 {
401                         atmel,pins =
402                                 <AT91_PIOD 6 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
403                                  AT91_PIOD 7 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
404                                  AT91_PIOD 8 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
405                                  AT91_PIOD 9 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
406                                  AT91_PIOD 10 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
407                                  AT91_PIOD 11 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
408                                  AT91_PIOD 12 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
409                                  AT91_PIOD 13 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
410                 };
411
412                 pinctrl_ebi_data_0_15: ebi-data-msb-0 {
413                         atmel,pins =
414                                 <AT91_PIOD 6 AT91_PERIPH_A AT91_PINCTRL_NONE
415                                  AT91_PIOD 7 AT91_PERIPH_A AT91_PINCTRL_NONE
416                                  AT91_PIOD 8 AT91_PERIPH_A AT91_PINCTRL_NONE
417                                  AT91_PIOD 9 AT91_PERIPH_A AT91_PINCTRL_NONE
418                                  AT91_PIOD 10 AT91_PERIPH_A AT91_PINCTRL_NONE
419                                  AT91_PIOD 11 AT91_PERIPH_A AT91_PINCTRL_NONE
420                                  AT91_PIOD 12 AT91_PERIPH_A AT91_PINCTRL_NONE
421                                  AT91_PIOD 13 AT91_PERIPH_A AT91_PINCTRL_NONE
422                                  AT91_PIOD 14 AT91_PERIPH_A AT91_PINCTRL_NONE
423                                  AT91_PIOD 15 AT91_PERIPH_A AT91_PINCTRL_NONE
424                                  AT91_PIOD 16 AT91_PERIPH_A AT91_PINCTRL_NONE
425                                  AT91_PIOD 17 AT91_PERIPH_A AT91_PINCTRL_NONE
426                                  AT91_PIOD 18 AT91_PERIPH_A AT91_PINCTRL_NONE
427                                  AT91_PIOD 19 AT91_PERIPH_A AT91_PINCTRL_NONE
428                                  AT91_PIOD 20 AT91_PERIPH_A AT91_PINCTRL_NONE
429                                  AT91_PIOD 21 AT91_PERIPH_A AT91_PINCTRL_NONE>;
430                 };
431
432                 pinctrl_ebi_addr_nand: ebi-addr-0 {
433                         atmel,pins =
434                                 <AT91_PIOD 2 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
435                                  AT91_PIOD 3 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
436                 };
437         };
438
439         flexcom {
440                 pinctrl_flx0_default: flx0_twi {
441                         atmel,pins =
442                                 <AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
443                                  AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
444                 };
445
446                 pinctrl_flx4_default: flx4_spi {
447                         atmel,pins =
448                                 <AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_NONE
449                                  AT91_PIOA 12 AT91_PERIPH_A AT91_PINCTRL_NONE
450                                  AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_NONE
451                                  AT91_PIOA 14 AT91_PERIPH_A AT91_PINCTRL_NONE>;
452                 };
453
454                 pinctrl_flx5_default: flx_uart {
455                         atmel,pins =
456                                 <AT91_PIOA 7 AT91_PERIPH_C AT91_PINCTRL_NONE
457                                  AT91_PIOA 8 AT91_PERIPH_B AT91_PINCTRL_NONE
458                                  AT91_PIOA 21 AT91_PERIPH_B AT91_PINCTRL_NONE
459                                  AT91_PIOA 22 AT91_PERIPH_B AT91_PINCTRL_NONE>;
460                 };
461
462                 pinctrl_flx6_default: flx6_twi {
463                         atmel,pins =
464                                 <AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
465                                  AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
466                 };
467         };
468
469         classd {
470                 pinctrl_classd_default: classd {
471                         atmel,pins =
472                                 <AT91_PIOA 24 AT91_PERIPH_C AT91_PINCTRL_PULL_UP
473                                  AT91_PIOA 25 AT91_PERIPH_C AT91_PINCTRL_PULL_UP
474                                  AT91_PIOA 26 AT91_PERIPH_C AT91_PINCTRL_PULL_UP
475                                  AT91_PIOA 27 AT91_PERIPH_C AT91_PINCTRL_PULL_UP>;
476                 };
477         };
478
479         can0 {
480                 pinctrl_can0_rx_tx: can0_rx_tx {
481                         atmel,pins =
482                                 <AT91_PIOA 9 AT91_PERIPH_B AT91_PINCTRL_NONE    /* CANRX0 */
483                                  AT91_PIOA 10 AT91_PERIPH_B AT91_PINCTRL_NONE   /* CANTX0 */
484                                  AT91_PIOD 20 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN   /* Enable CAN0 mux */
485                                  AT91_PIOD 21 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN>; /* Enable CAN Transceivers */
486                 };
487         };
488
489         can1 {
490                 pinctrl_can1_rx_tx: can1_rx_tx {
491                         atmel,pins =
492                                 <AT91_PIOA 6 AT91_PERIPH_B AT91_PINCTRL_NONE    /* CANRX1 RXD1 */
493                                  AT91_PIOA 5 AT91_PERIPH_B AT91_PINCTRL_NONE    /* CANTX1 TXD1 */
494                                  AT91_PIOD 19 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN   /* Enable CAN1 mux */
495                                  AT91_PIOD 21 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN>; /* Enable CAN Transceivers */
496                 };
497         };
498
499         macb0 {
500                 pinctrl_macb0_rmii: macb0_rmii-0 {
501                         atmel,pins =
502                                 <AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PB0 periph A */
503                                  AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PB1 periph A */
504                                  AT91_PIOB 2 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PB2 periph A */
505                                  AT91_PIOB 3 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PB3 periph A */
506                                  AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PB4 periph A */
507                                  AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PB5 periph A */
508                                  AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PB6 periph A */
509                                  AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PB7 periph A */
510                                  AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PB9 periph A */
511                                  AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB10 periph A */
512                 };
513         };
514
515         pwm0 {
516                 pinctrl_pwm0_0: pwm0_0 {
517                         atmel,pins = <AT91_PIOB 11 AT91_PERIPH_B AT91_PINCTRL_NONE>;
518                 };
519
520                 pinctrl_pwm0_1: pwm0_1 {
521                         atmel,pins = <AT91_PIOB 12 AT91_PERIPH_B AT91_PINCTRL_NONE>;
522                 };
523
524                 pinctrl_pwm0_2: pwm0_2 {
525                         atmel,pins = <AT91_PIOB 13 AT91_PERIPH_B AT91_PINCTRL_NONE>;
526                 };
527
528                 pinctrl_pwm0_3: pwm0_3 {
529                         atmel,pins = <AT91_PIOB 14 AT91_PERIPH_B AT91_PINCTRL_NONE>;
530                 };
531         };
532
533         sdmmc0 {
534                 pinctrl_sdmmc0_default: sdmmc0 {
535                         atmel,pins =
536                                 <AT91_PIOA 17 AT91_PERIPH_A (AT91_PINCTRL_DRIVE_STRENGTH_HI)                            /* PA17 CK  periph A with pullup */
537                                  AT91_PIOA 16 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)     /* PA16 CMD periph A with pullup */
538                                  AT91_PIOA 15 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)     /* PA15 DAT0 periph A */
539                                  AT91_PIOA 18 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)     /* PA18 DAT1 periph A with pullup */
540                                  AT91_PIOA 19 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)     /* PA19 DAT2 periph A with pullup */
541                                  AT91_PIOA 20 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)>;   /* PA20 DAT3 periph A with pullup */
542                 };
543         };
544
545         sdmmc1 {
546                 pinctrl_sdmmc1_default: sdmmc1 {
547                         atmel,pins =
548                                 <AT91_PIOA 13 AT91_PERIPH_B (AT91_PINCTRL_DRIVE_STRENGTH_HI)                            /* PA13 CK periph B */
549                                  AT91_PIOA 12 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)     /* PA12 CMD periph B with pullup */
550                                  AT91_PIOA 11 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)     /* PA11 DAT0 periph B with pullup */
551                                  AT91_PIOA  2 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)     /* PA2 DAT1 periph B with pullup */
552                                  AT91_PIOA  3 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)     /* PA3 DAT2 periph B with pullup */
553                                  AT91_PIOA  4 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)>;   /* PA4 DAT3 periph B with pullup */
554                 };
555         };
556
557         gpio_keys {
558                 pinctrl_key_gpio_default: pinctrl_key_gpio {
559                         atmel,pins = <AT91_PIOD 18 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
560                 };
561         };
562 }; /* pinctrl */
563
564 &pmc {
565         atmel,osc-bypass;
566 };
567
568 &pwm0 {
569         pinctrl-names = "default";
570         pinctrl-0 = <&pinctrl_pwm0_0 &pinctrl_pwm0_1 &pinctrl_pwm0_2 &pinctrl_pwm0_3>;
571         status = "disabled"; /* Conflict with leds. */
572 };
573
574 &sdmmc0 {
575         bus-width = <4>;
576         pinctrl-names = "default";
577         pinctrl-0 = <&pinctrl_sdmmc0_default>;
578         status = "okay";
579         cd-gpios = <&pioA 23 GPIO_ACTIVE_LOW>;
580         disable-wp;
581 };
582
583 &sdmmc1 {
584         bus-width = <4>;
585         pinctrl-names = "default";
586         pinctrl-0 = <&pinctrl_sdmmc1_default>;
587         no-1-8-v;
588         non-removable;
589         status = "disabled"; /* Conflict with flx4. */
590 };
591
592 &qspi {
593         pinctrl-names = "default";
594         pinctrl-0 = <&pinctrl_qspi>;
595         status = "okay"; /* Conflict with i2s. */
596
597         flash@0 {
598                 #address-cells = <1>;
599                 #size-cells = <1>;
600                 compatible = "jedec,spi-nor";
601                 reg = <0>;
602                 spi-max-frequency = <80000000>;
603                 spi-tx-bus-width = <4>;
604                 spi-rx-bus-width = <4>;
605                 m25p,fast-read;
606
607                 at91bootstrap@0 {
608                         label = "qspi: at91bootstrap";
609                         reg = <0x0 0x40000>;
610                 };
611
612                 bootloader@40000 {
613                         label = "qspi: bootloader";
614                         reg = <0x40000 0xc0000>;
615                 };
616
617                 bootloaderenvred@100000 {
618                         label = "qspi: bootloader env redundant";
619                         reg = <0x100000 0x40000>;
620                 };
621
622                 bootloaderenv@140000 {
623                         label = "qspi: bootloader env";
624                         reg = <0x140000 0x40000>;
625                 };
626
627                 dtb@180000 {
628                         label = "qspi: device tree";
629                         reg = <0x180000 0x80000>;
630                 };
631
632                 kernel@200000 {
633                         label = "qspi: kernel";
634                         reg = <0x200000 0x600000>;
635                 };
636         };
637 };
638
639 &shutdown_controller {
640         atmel,shdwc-debouncer = <976>;
641         status = "okay";
642
643         input@0 {
644                 reg = <0>;
645         };
646 };
647
648 &tcb0 {
649         timer0: timer@0 {
650                 compatible = "atmel,tcb-timer";
651                 reg = <0>;
652         };
653
654         timer1: timer@1 {
655                 compatible = "atmel,tcb-timer";
656                 reg = <1>;
657         };
658 };
659
660 &usb1 {
661         num-ports = <3>;
662         atmel,vbus-gpio = <0
663                            &pioD 15 GPIO_ACTIVE_HIGH
664                            &pioD 16 GPIO_ACTIVE_HIGH>;
665         status = "okay";
666 };
667
668 &usb2 {
669         status = "okay";
670 };
671
672 &watchdog {
673         status = "okay";
674 };
675