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