]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/gnu/dts/arm/at91-sam9x60ek.dts
dts: Update our copy to be in sync with Linux 5.7
[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         gpio_keys {
546                 pinctrl_key_gpio_default: pinctrl_key_gpio {
547                         atmel,pins = <AT91_PIOD 18 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
548                 };
549         };
550 }; /* pinctrl */
551
552 &pmc {
553         atmel,osc-bypass;
554 };
555
556 &pwm0 {
557         pinctrl-names = "default";
558         pinctrl-0 = <&pinctrl_pwm0_0 &pinctrl_pwm0_1 &pinctrl_pwm0_2 &pinctrl_pwm0_3>;
559         status = "disabled"; /* Conflict with leds. */
560 };
561
562 &sdmmc0 {
563         bus-width = <4>;
564         pinctrl-names = "default";
565         pinctrl-0 = <&pinctrl_sdmmc0_default>;
566         status = "okay";
567         cd-gpios = <&pioA 23 GPIO_ACTIVE_LOW>;
568         disable-wp;
569 };
570
571 &qspi {
572         pinctrl-names = "default";
573         pinctrl-0 = <&pinctrl_qspi>;
574         status = "okay"; /* Conflict with i2s. */
575
576         flash@0 {
577                 #address-cells = <1>;
578                 #size-cells = <1>;
579                 compatible = "jedec,spi-nor";
580                 reg = <0>;
581                 spi-max-frequency = <80000000>;
582                 m25p,fast-read;
583
584                 at91bootstrap@0 {
585                         label = "qspi: at91bootstrap";
586                         reg = <0x0 0x40000>;
587                 };
588
589                 bootloader@40000 {
590                         label = "qspi: bootloader";
591                         reg = <0x40000 0xc0000>;
592                 };
593
594                 bootloaderenvred@100000 {
595                         label = "qspi: bootloader env redundant";
596                         reg = <0x100000 0x40000>;
597                 };
598
599                 bootloaderenv@140000 {
600                         label = "qspi: bootloader env";
601                         reg = <0x140000 0x40000>;
602                 };
603
604                 dtb@180000 {
605                         label = "qspi: device tree";
606                         reg = <0x180000 0x80000>;
607                 };
608
609                 kernel@200000 {
610                         label = "qspi: kernel";
611                         reg = <0x200000 0x600000>;
612                 };
613         };
614 };
615
616 &shutdown_controller {
617         atmel,shdwc-debouncer = <976>;
618         status = "okay";
619
620         input@0 {
621                 reg = <0>;
622         };
623 };
624
625 &tcb0 {
626         timer0: timer@0 {
627                 compatible = "atmel,tcb-timer";
628                 reg = <0>;
629         };
630
631         timer1: timer@1 {
632                 compatible = "atmel,tcb-timer";
633                 reg = <1>;
634         };
635 };
636
637 &usb1 {
638         num-ports = <3>;
639         atmel,vbus-gpio = <0
640                            &pioD 15 GPIO_ACTIVE_HIGH
641                            &pioD 16 GPIO_ACTIVE_HIGH>;
642         status = "okay";
643 };
644
645 &usb2 {
646         status = "okay";
647 };
648
649 &watchdog {
650         status = "okay";
651 };
652