Merge branch 'for-5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq
[linux-2.6-microblaze.git] / arch / arm / boot / dts / at91-sama5d2_xplained.dts
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3  * at91-sama5d2_xplained.dts - Device Tree file for SAMA5D2 Xplained board
4  *
5  *  Copyright (C) 2015 Atmel,
6  *                2015 Nicolas Ferre <nicolas.ferre@atmel.com>
7  */
8 /dts-v1/;
9 #include "sama5d2.dtsi"
10 #include "sama5d2-pinfunc.h"
11 #include <dt-bindings/mfd/atmel-flexcom.h>
12 #include <dt-bindings/gpio/gpio.h>
13 #include <dt-bindings/regulator/active-semi,8945a-regulator.h>
14
15 / {
16         model = "Atmel SAMA5D2 Xplained";
17         compatible = "atmel,sama5d2-xplained", "atmel,sama5d2", "atmel,sama5";
18
19         aliases {
20                 serial0 = &uart1;       /* DBGU */
21                 i2c0 = &i2c0;
22                 i2c1 = &i2c1;
23                 i2c2 = &i2c2;           /* XPRO EXT2 */
24         };
25
26         chosen {
27                 stdout-path = "serial0:115200n8";
28         };
29
30         clocks {
31                 slow_xtal {
32                         clock-frequency = <32768>;
33                 };
34
35                 main_xtal {
36                         clock-frequency = <12000000>;
37                 };
38         };
39
40         ahb {
41                 usb0: gadget@300000 {
42                         atmel,vbus-gpio = <&pioA PIN_PA31 GPIO_ACTIVE_HIGH>;
43                         pinctrl-names = "default";
44                         pinctrl-0 = <&pinctrl_usba_vbus>;
45                         status = "okay";
46                 };
47
48                 usb1: ohci@400000 {
49                         num-ports = <3>;
50                         atmel,vbus-gpio = <0 /* &pioA PIN_PB9 GPIO_ACTIVE_HIGH */
51                                            &pioA PIN_PB10 GPIO_ACTIVE_HIGH
52                                            0
53                                           >;
54                         pinctrl-names = "default";
55                         pinctrl-0 = <&pinctrl_usb_default>;
56                         status = "okay";
57                 };
58
59                 usb2: ehci@500000 {
60                         status = "okay";
61                 };
62
63                 sdmmc0: sdio-host@a0000000 {
64                         bus-width = <8>;
65                         pinctrl-names = "default";
66                         pinctrl-0 = <&pinctrl_sdmmc0_default>;
67                         non-removable;
68                         mmc-ddr-1_8v;
69                         status = "okay";
70                 };
71
72                 sdmmc1: sdio-host@b0000000 {
73                         bus-width = <4>;
74                         pinctrl-names = "default";
75                         pinctrl-0 = <&pinctrl_sdmmc1_default>;
76                         status = "okay"; /* conflict with qspi0 */
77                         vqmmc-supply = <&vdd_3v3_reg>;
78                         vmmc-supply = <&vdd_3v3_reg>;
79                 };
80
81                 apb {
82                         qspi0: spi@f0020000 {
83                                 pinctrl-names = "default";
84                                 pinctrl-0 = <&pinctrl_qspi0_default>;
85                                 status = "disabled"; /* conflict with sdmmc1 */
86
87                                 flash@0 {
88                                         #address-cells = <1>;
89                                         #size-cells = <1>;
90                                         compatible = "jedec,spi-nor";
91                                         reg = <0>;
92                                         spi-max-frequency = <80000000>;
93                                         spi-tx-bus-width = <4>;
94                                         spi-rx-bus-width = <4>;
95                                         m25p,fast-read;
96
97                                         at91bootstrap@00000000 {
98                                                 label = "at91bootstrap";
99                                                 reg = <0x00000000 0x00040000>;
100                                         };
101
102                                         bootloader@00040000 {
103                                                 label = "bootloader";
104                                                 reg = <0x00040000 0x000c0000>;
105                                         };
106
107                                         bootloaderenvred@00100000 {
108                                                 label = "bootloader env redundant";
109                                                 reg = <0x00100000 0x00040000>;
110                                         };
111
112                                         bootloaderenv@00140000 {
113                                                 label = "bootloader env";
114                                                 reg = <0x00140000 0x00040000>;
115                                         };
116
117                                         dtb@00180000 {
118                                                 label = "device tree";
119                                                 reg = <0x00180000 0x00080000>;
120                                         };
121
122                                         kernel@00200000 {
123                                                 label = "kernel";
124                                                 reg = <0x00200000 0x00600000>;
125                                         };
126
127                                         misc@00800000 {
128                                                 label = "misc";
129                                                 reg = <0x00800000 0x00000000>;
130                                         };
131                                 };
132                         };
133
134                         spi0: spi@f8000000 {
135                                 pinctrl-names = "default";
136                                 pinctrl-0 = <&pinctrl_spi0_default>;
137                                 status = "okay";
138
139                                 m25p80@0 {
140                                         compatible = "atmel,at25df321a";
141                                         reg = <0>;
142                                         spi-max-frequency = <50000000>;
143                                 };
144                         };
145
146                         macb0: ethernet@f8008000 {
147                                 pinctrl-names = "default";
148                                 pinctrl-0 = <&pinctrl_macb0_default &pinctrl_macb0_phy_irq>;
149                                 phy-mode = "rmii";
150                                 status = "okay";
151
152                                 ethernet-phy@1 {
153                                         reg = <0x1>;
154                                         interrupt-parent = <&pioA>;
155                                         interrupts = <PIN_PC9 IRQ_TYPE_LEVEL_LOW>;
156                                 };
157                         };
158
159                         tcb0: timer@f800c000 {
160                                 timer0: timer@0 {
161                                         compatible = "atmel,tcb-timer";
162                                         reg = <0>;
163                                 };
164
165                                 timer1: timer@1 {
166                                         compatible = "atmel,tcb-timer";
167                                         reg = <1>;
168                                 };
169                         };
170
171                         uart1: serial@f8020000 {
172                                 pinctrl-names = "default";
173                                 pinctrl-0 = <&pinctrl_uart1_default>;
174                                 atmel,use-dma-rx;
175                                 atmel,use-dma-tx;
176                                 status = "okay";
177                         };
178
179                         i2c0: i2c@f8028000 {
180                                 dmas = <0>, <0>;
181                                 pinctrl-names = "default", "gpio";
182                                 pinctrl-0 = <&pinctrl_i2c0_default>;
183                                 pinctrl-1 = <&pinctrl_i2c0_gpio>;
184                                 sda-gpios = <&pioA PIN_PD21 GPIO_ACTIVE_HIGH>;
185                                 scl-gpios = <&pioA PIN_PD22 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
186                                 i2c-sda-hold-time-ns = <350>;
187                                 status = "okay";
188
189                                 pmic@5b {
190                                         compatible = "active-semi,act8945a";
191                                         reg = <0x5b>;
192                                         active-semi,vsel-high;
193                                         status = "okay";
194
195                                         regulators {
196                                                 vdd_1v35_reg: REG_DCDC1 {
197                                                         regulator-name = "VDD_1V35";
198                                                         regulator-min-microvolt = <1350000>;
199                                                         regulator-max-microvolt = <1350000>;
200                                                         regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_FIXED>,
201                                                                                   <ACT8945A_REGULATOR_MODE_LOWPOWER>;
202                                                         regulator-initial-mode = <ACT8945A_REGULATOR_MODE_FIXED>;
203                                                         regulator-always-on;
204
205                                                         regulator-state-mem {
206                                                                 regulator-on-in-suspend;
207                                                                 regulator-suspend-min-microvolt=<1400000>;
208                                                                 regulator-suspend-max-microvolt=<1400000>;
209                                                                 regulator-changeable-in-suspend;
210                                                                 regulator-mode=<ACT8945A_REGULATOR_MODE_LOWPOWER>;
211                                                         };
212                                                 };
213
214                                                 vdd_1v2_reg: REG_DCDC2 {
215                                                         regulator-name = "VDD_1V2";
216                                                         regulator-min-microvolt = <1100000>;
217                                                         regulator-max-microvolt = <1300000>;
218                                                         regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_FIXED>,
219                                                                                   <ACT8945A_REGULATOR_MODE_LOWPOWER>;
220                                                         regulator-initial-mode = <ACT8945A_REGULATOR_MODE_FIXED>;
221                                                         regulator-always-on;
222
223                                                         regulator-state-mem {
224                                                                 regulator-off-in-suspend;
225                                                         };
226                                                 };
227
228                                                 vdd_3v3_reg: REG_DCDC3 {
229                                                         regulator-name = "VDD_3V3";
230                                                         regulator-min-microvolt = <3300000>;
231                                                         regulator-max-microvolt = <3300000>;
232                                                         regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_FIXED>,
233                                                                                   <ACT8945A_REGULATOR_MODE_LOWPOWER>;
234                                                         regulator-initial-mode = <ACT8945A_REGULATOR_MODE_FIXED>;
235                                                         regulator-always-on;
236
237                                                         regulator-state-mem {
238                                                                 regulator-off-in-suspend;
239                                                         };
240                                                 };
241
242                                                 vdd_fuse_reg: REG_LDO1 {
243                                                         regulator-name = "VDD_FUSE";
244                                                         regulator-min-microvolt = <2500000>;
245                                                         regulator-max-microvolt = <2500000>;
246                                                         regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_NORMAL>,
247                                                                                   <ACT8945A_REGULATOR_MODE_LOWPOWER>;
248                                                         regulator-initial-mode = <ACT8945A_REGULATOR_MODE_NORMAL>;
249                                                         regulator-always-on;
250
251                                                         regulator-state-mem {
252                                                                 regulator-off-in-suspend;
253                                                         };
254                                                 };
255
256                                                 vdd_3v3_lp_reg: REG_LDO2 {
257                                                         regulator-name = "VDD_3V3_LP";
258                                                         regulator-min-microvolt = <3300000>;
259                                                         regulator-max-microvolt = <3300000>;
260                                                         regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_NORMAL>,
261                                                                                   <ACT8945A_REGULATOR_MODE_LOWPOWER>;
262                                                         regulator-initial-mode = <ACT8945A_REGULATOR_MODE_NORMAL>;
263                                                         regulator-always-on;
264
265                                                         regulator-state-mem {
266                                                                 regulator-off-in-suspend;
267                                                         };
268                                                 };
269
270                                                 vdd_led_reg: REG_LDO3 {
271                                                         regulator-name = "VDD_LED";
272                                                         regulator-min-microvolt = <3300000>;
273                                                         regulator-max-microvolt = <3300000>;
274                                                         regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_NORMAL>,
275                                                                                   <ACT8945A_REGULATOR_MODE_LOWPOWER>;
276                                                         regulator-initial-mode = <ACT8945A_REGULATOR_MODE_NORMAL>;
277                                                         regulator-always-on;
278
279                                                         regulator-state-mem {
280                                                                 regulator-off-in-suspend;
281                                                         };
282                                                 };
283
284                                                 vdd_sdhc_1v8_reg: REG_LDO4 {
285                                                         regulator-name = "VDD_SDHC_1V8";
286                                                         regulator-min-microvolt = <1800000>;
287                                                         regulator-max-microvolt = <1800000>;
288                                                         regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_NORMAL>,
289                                                                                   <ACT8945A_REGULATOR_MODE_LOWPOWER>;
290                                                         regulator-initial-mode = <ACT8945A_REGULATOR_MODE_NORMAL>;
291                                                         regulator-always-on;
292
293                                                         regulator-state-mem {
294                                                                 regulator-off-in-suspend;
295                                                         };
296                                                 };
297                                         };
298
299                                         charger {
300                                                 compatible = "active-semi,act8945a-charger";
301                                                 pinctrl-names = "default";
302                                                 pinctrl-0 = <&pinctrl_charger_chglev &pinctrl_charger_lbo &pinctrl_charger_irq>;
303                                                 interrupt-parent = <&pioA>;
304                                                 interrupts = <PIN_PB13 IRQ_TYPE_EDGE_RISING>;
305
306                                                 active-semi,chglev-gpios = <&pioA PIN_PA12 GPIO_ACTIVE_HIGH>;
307                                                 active-semi,lbo-gpios = <&pioA PIN_PC8 GPIO_ACTIVE_LOW>;
308                                                 active-semi,input-voltage-threshold-microvolt = <6600>;
309                                                 active-semi,precondition-timeout = <40>;
310                                                 active-semi,total-timeout = <3>;
311                                                 status = "okay";
312                                         };
313                                 };
314                         };
315
316                         pwm0: pwm@f802c000 {
317                                 pinctrl-names = "default";
318                                 pinctrl-0 = <&pinctrl_pwm0_pwm2_default>;
319                                 status = "disabled"; /* conflict with leds */
320                         };
321
322                         flx0: flexcom@f8034000 {
323                                 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
324                                 status = "disabled"; /* conflict with ISC_D2 & ISC_D3 data pins */
325
326                                 uart5: serial@200 {
327                                         dmas = <0>, <0>;
328                                         pinctrl-names = "default";
329                                         pinctrl-0 = <&pinctrl_flx0_default>;
330                                         status = "okay";
331                                 };
332
333                                 i2c2: i2c@600 {
334                                         dmas = <0>, <0>;
335                                         pinctrl-names = "default", "gpio";
336                                         pinctrl-0 = <&pinctrl_flx0_default>;
337                                         pinctrl-1 = <&pinctrl_i2c2_gpio>;
338                                         sda-gpios = <&pioA PIN_PB28 GPIO_ACTIVE_HIGH>;
339                                         scl-gpios = <&pioA PIN_PB29 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
340                                         i2c-sda-hold-time-ns = <350>;
341                                         i2c-analog-filter;
342                                         i2c-digital-filter;
343                                         i2c-digital-filter-width-ns = <35>;
344                                         status = "disabled"; /* conflict with ISC_D2 & ISC_D3 data pins */
345                                 };
346                         };
347
348                         shdwc@f8048010 {
349                                 atmel,shdwc-debouncer = <976>;
350                                 atmel,wakeup-rtc-timer;
351
352                                 input@0 {
353                                         reg = <0>;
354                                 };
355                         };
356
357                         watchdog@f8048040 {
358                                 status = "okay";
359                         };
360
361                         i2s0: i2s@f8050000 {
362                                 pinctrl-names = "default";
363                                 pinctrl-0 = <&pinctrl_i2s0_default>;
364                                 status = "disabled"; /* conflict with can0 */
365                         };
366
367                         can0: can@f8054000 {
368                                 pinctrl-names = "default";
369                                 pinctrl-0 = <&pinctrl_can0_default>;
370                                 status = "okay";
371                         };
372
373                         uart3: serial@fc008000 {
374                                 atmel,use-dma-rx;
375                                 atmel,use-dma-tx;
376                                 pinctrl-names = "default";
377                                 pinctrl-0 = <&pinctrl_uart3_default>;
378                                 status = "okay";
379                         };
380
381                         flx4: flexcom@fc018000 {
382                                 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
383                                 status = "okay";
384
385                                 i2c6: i2c@600 {
386                                         dmas = <0>, <0>;
387                                         pinctrl-names = "default", "gpio";
388                                         pinctrl-0 = <&pinctrl_flx4_default>;
389                                         pinctrl-1 = <&pinctrl_flx4_gpio>;
390                                         sda-gpios = <&pioA PIN_PD12 GPIO_ACTIVE_HIGH>;
391                                         scl-gpios = <&pioA PIN_PD13 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
392                                         i2c-analog-filter;
393                                         i2c-digital-filter;
394                                         i2c-digital-filter-width-ns = <35>;
395                                         status = "okay";
396                                 };
397                         };
398
399                         i2c1: i2c@fc028000 {
400                                 dmas = <0>, <0>;
401                                 pinctrl-names = "default", "gpio";
402                                 pinctrl-0 = <&pinctrl_i2c1_default>;
403                                 i2c-analog-filter;
404                                 i2c-digital-filter;
405                                 i2c-digital-filter-width-ns = <35>;
406                                 pinctrl-1 = <&pinctrl_i2c1_gpio>;
407                                 sda-gpios = <&pioA PIN_PD4 GPIO_ACTIVE_HIGH>;
408                                 scl-gpios = <&pioA PIN_PD5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
409                                 status = "okay";
410
411                                 at24@54 {
412                                         compatible = "atmel,24c02";
413                                         reg = <0x54>;
414                                         pagesize = <16>;
415                                 };
416                         };
417
418                         adc: adc@fc030000 {
419                                 vddana-supply = <&vdd_3v3_lp_reg>;
420                                 vref-supply = <&vdd_3v3_lp_reg>;
421                                 pinctrl-names = "default";
422                                 pinctrl-0 = <&pinctrl_adc_default &pinctrl_adtrg_default>;
423                                 status = "okay";
424                         };
425
426                         pinctrl@fc038000 {
427                                 /*
428                                  * There is no real pinmux for ADC, if the pin
429                                  * is not requested by another peripheral then
430                                  * the muxing is done when channel is enabled.
431                                  * Requesting pins for ADC is GPIO is
432                                  * encouraged to prevent conflicts and to
433                                  * disable bias in order to be in the same
434                                  * state when the pin is not muxed to the adc.
435                                  */
436                                 pinctrl_adc_default: adc_default {
437                                         pinmux = <PIN_PD23__GPIO>;
438                                         bias-disable;
439                                 };
440
441                                 pinctrl_can0_default: can0_default {
442                                         pinmux = <PIN_PC10__CANTX0>,
443                                                  <PIN_PC11__CANRX0>;
444                                         bias-disable;
445                                 };
446
447                                 pinctrl_can1_default: can1_default {
448                                         pinmux = <PIN_PC26__CANTX1>,
449                                                  <PIN_PC27__CANRX1>;
450                                         bias-disable;
451                                 };
452
453                                 /*
454                                  * The ADTRG pin can work on any edge type.
455                                  * In here it's being pulled up, so need to
456                                  * connect it to ground to get an edge e.g.
457                                  * Trigger can be configured on falling, rise
458                                  * or any edge, and the pull-up can be changed
459                                  * to pull-down or left floating according to
460                                  * needs.
461                                  */
462                                 pinctrl_adtrg_default: adtrg_default {
463                                         pinmux = <PIN_PD31__ADTRG>;
464                                         bias-pull-up;
465                                 };
466
467                                 pinctrl_charger_chglev: charger_chglev {
468                                         pinmux = <PIN_PA12__GPIO>;
469                                         bias-disable;
470                                 };
471
472                                 pinctrl_charger_irq: charger_irq {
473                                         pinmux = <PIN_PB13__GPIO>;
474                                         bias-disable;
475                                 };
476
477                                 pinctrl_charger_lbo: charger_lbo {
478                                         pinmux = <PIN_PC8__GPIO>;
479                                         bias-pull-up;
480                                 };
481
482                                 pinctrl_classd_default_pfets: classd_default_pfets {
483                                         pinmux = <PIN_PB1__CLASSD_R0>,
484                                                  <PIN_PB3__CLASSD_R2>;
485                                         bias-pull-up;
486                                 };
487
488                                 pinctrl_classd_default_nfets: classd_default_nfets {
489                                         pinmux = <PIN_PB2__CLASSD_R1>,
490                                                  <PIN_PB4__CLASSD_R3>;
491                                         bias-pull-down;
492                                 };
493
494                                 pinctrl_flx0_default: flx0_default {
495                                         pinmux = <PIN_PB28__FLEXCOM0_IO0>,
496                                                  <PIN_PB29__FLEXCOM0_IO1>;
497                                         bias-disable;
498                                 };
499
500                                 pinctrl_flx4_default: flx4_default {
501                                         pinmux = <PIN_PD12__FLEXCOM4_IO0>,
502                                                  <PIN_PD13__FLEXCOM4_IO1>;
503                                         bias-disable;
504                                 };
505
506                                 pinctrl_flx4_gpio: flx4_gpio {
507                                         pinmux = <PIN_PD12__GPIO>,
508                                                  <PIN_PD13__GPIO>;
509                                         bias-disable;
510                                 };
511
512                                 pinctrl_i2c0_default: i2c0_default {
513                                         pinmux = <PIN_PD21__TWD0>,
514                                                  <PIN_PD22__TWCK0>;
515                                         bias-disable;
516                                 };
517
518                                 pinctrl_i2c0_gpio: i2c0_gpio {
519                                         pinmux = <PIN_PD21__GPIO>,
520                                                  <PIN_PD22__GPIO>;
521                                         bias-disable;
522                                 };
523
524                                 pinctrl_i2c1_default: i2c1_default {
525                                         pinmux = <PIN_PD4__TWD1>,
526                                                  <PIN_PD5__TWCK1>;
527                                         bias-disable;
528                                 };
529
530                                 pinctrl_i2c1_gpio: i2c1_gpio {
531                                         pinmux = <PIN_PD4__GPIO>,
532                                                  <PIN_PD5__GPIO>;
533                                         bias-disable;
534                                 };
535
536                                 pinctrl_i2c2_gpio: i2c2_gpio {
537                                         pinmux = <PIN_PB28__GPIO>,
538                                                  <PIN_PB29__GPIO>;
539                                         bias-disable;
540                                 };
541
542                                 pinctrl_i2s0_default: i2s0_default {
543                                         pinmux = <PIN_PC1__I2SC0_CK>,
544                                                  <PIN_PC2__I2SC0_MCK>,
545                                                  <PIN_PC3__I2SC0_WS>,
546                                                  <PIN_PC4__I2SC0_DI0>,
547                                                  <PIN_PC5__I2SC0_DO0>;
548                                         bias-disable;
549                                 };
550
551                                 pinctrl_i2s1_default: i2s1_default {
552                                         pinmux = <PIN_PA15__I2SC1_CK>,
553                                                  <PIN_PA14__I2SC1_MCK>,
554                                                  <PIN_PA16__I2SC1_WS>,
555                                                  <PIN_PA17__I2SC1_DI0>,
556                                                  <PIN_PA18__I2SC1_DO0>;
557                                         bias-disable;
558                                 };
559
560                                 pinctrl_key_gpio_default: key_gpio_default {
561                                         pinmux = <PIN_PB9__GPIO>;
562                                         bias-pull-up;
563                                 };
564
565                                 pinctrl_led_gpio_default: led_gpio_default {
566                                         pinmux = <PIN_PB0__GPIO>,
567                                                  <PIN_PB5__GPIO>,
568                                                  <PIN_PB6__GPIO>;
569                                         bias-pull-up;
570                                 };
571
572                                 pinctrl_macb0_default: macb0_default {
573                                         pinmux = <PIN_PB14__GTXCK>,
574                                                  <PIN_PB15__GTXEN>,
575                                                  <PIN_PB16__GRXDV>,
576                                                  <PIN_PB17__GRXER>,
577                                                  <PIN_PB18__GRX0>,
578                                                  <PIN_PB19__GRX1>,
579                                                  <PIN_PB20__GTX0>,
580                                                  <PIN_PB21__GTX1>,
581                                                  <PIN_PB22__GMDC>,
582                                                  <PIN_PB23__GMDIO>;
583                                         bias-disable;
584                                 };
585
586                                 pinctrl_macb0_phy_irq: macb0_phy_irq {
587                                         pinmux = <PIN_PC9__GPIO>;
588                                         bias-disable;
589                                 };
590
591                                 pinctrl_qspi0_default: qspi0_default {
592                                         sck_cs {
593                                                 pinmux = <PIN_PA22__QSPI0_SCK>,
594                                                          <PIN_PA23__QSPI0_CS>;
595                                                 bias-disable;
596                                         };
597
598                                         data {
599                                                 pinmux = <PIN_PA24__QSPI0_IO0>,
600                                                          <PIN_PA25__QSPI0_IO1>,
601                                                          <PIN_PA26__QSPI0_IO2>,
602                                                          <PIN_PA27__QSPI0_IO3>;
603                                                 bias-pull-up;
604                                         };
605                                 };
606
607                                 pinctrl_sdmmc0_default: sdmmc0_default {
608                                         cmd_data {
609                                                 pinmux = <PIN_PA1__SDMMC0_CMD>,
610                                                          <PIN_PA2__SDMMC0_DAT0>,
611                                                          <PIN_PA3__SDMMC0_DAT1>,
612                                                          <PIN_PA4__SDMMC0_DAT2>,
613                                                          <PIN_PA5__SDMMC0_DAT3>,
614                                                          <PIN_PA6__SDMMC0_DAT4>,
615                                                          <PIN_PA7__SDMMC0_DAT5>,
616                                                          <PIN_PA8__SDMMC0_DAT6>,
617                                                          <PIN_PA9__SDMMC0_DAT7>;
618                                                 bias-disable;
619                                         };
620
621                                         ck_cd_rstn_vddsel {
622                                                 pinmux = <PIN_PA0__SDMMC0_CK>,
623                                                          <PIN_PA10__SDMMC0_RSTN>,
624                                                          <PIN_PA11__SDMMC0_VDDSEL>,
625                                                          <PIN_PA13__SDMMC0_CD>;
626                                                 bias-disable;
627                                         };
628                                 };
629
630                                 pinctrl_sdmmc1_default: sdmmc1_default {
631                                         cmd_data {
632                                                 pinmux = <PIN_PA28__SDMMC1_CMD>,
633                                                          <PIN_PA18__SDMMC1_DAT0>,
634                                                          <PIN_PA19__SDMMC1_DAT1>,
635                                                          <PIN_PA20__SDMMC1_DAT2>,
636                                                          <PIN_PA21__SDMMC1_DAT3>;
637                                                 bias-disable;
638                                         };
639
640                                         conf-ck_cd {
641                                                 pinmux = <PIN_PA22__SDMMC1_CK>,
642                                                          <PIN_PA30__SDMMC1_CD>;
643                                                 bias-disable;
644                                         };
645                                 };
646
647                                 pinctrl_spi0_default: spi0_default {
648                                         pinmux = <PIN_PA14__SPI0_SPCK>,
649                                                  <PIN_PA15__SPI0_MOSI>,
650                                                  <PIN_PA16__SPI0_MISO>,
651                                                  <PIN_PA17__SPI0_NPCS0>;
652                                         bias-disable;
653                                 };
654
655                                 pinctrl_uart1_default: uart1_default {
656                                         pinmux = <PIN_PD2__URXD1>,
657                                                  <PIN_PD3__UTXD1>;
658                                         bias-disable;
659                                 };
660
661                                 pinctrl_uart3_default: uart3_default {
662                                         pinmux = <PIN_PB11__URXD3>,
663                                                  <PIN_PB12__UTXD3>;
664                                         bias-disable;
665                                 };
666
667                                 pinctrl_usb_default: usb_default {
668                                         pinmux = <PIN_PB10__GPIO>;
669                                         bias-disable;
670                                 };
671
672                                 pinctrl_usba_vbus: usba_vbus {
673                                         pinmux = <PIN_PA31__GPIO>;
674                                         bias-disable;
675                                 };
676
677                                 pinctrl_pwm0_pwm2_default: pwm0_pwm2_default {
678                                         pinmux = <PIN_PB5__PWMH2>,
679                                                  <PIN_PB6__PWML2>;
680                                         bias-pull-up;
681                                 };
682                         };
683
684                         classd: classd@fc048000 {
685                                 pinctrl-names = "default";
686                                 pinctrl-0 = <&pinctrl_classd_default_pfets &pinctrl_classd_default_nfets>;
687                                 atmel,pwm-type = "diff";
688                                 atmel,non-overlap-time = <10>;
689                                 status = "okay";
690                         };
691
692                         i2s1: i2s@fc04c000 {
693                                 pinctrl-names = "default";
694                                 pinctrl-0 = <&pinctrl_i2s1_default>;
695                                 status = "disabled"; /* conflict with spi0, sdmmc1 */
696                         };
697
698                         can1: can@fc050000 {
699                                 pinctrl-names = "default";
700                                 pinctrl-0 = <&pinctrl_can1_default>;
701                                 status = "okay";
702                         };
703                 };
704         };
705
706         gpio_keys {
707                 compatible = "gpio-keys";
708
709                 pinctrl-names = "default";
710                 pinctrl-0 = <&pinctrl_key_gpio_default>;
711
712                 bp1 {
713                         label = "PB_USER";
714                         gpios = <&pioA PIN_PB9 GPIO_ACTIVE_LOW>;
715                         linux,code = <0x104>;
716                         wakeup-source;
717                 };
718         };
719
720         leds {
721                 compatible = "gpio-leds";
722                 pinctrl-names = "default";
723                 pinctrl-0 = <&pinctrl_led_gpio_default>;
724                 status = "okay"; /* conflict with pwm0 */
725
726                 red {
727                         label = "red";
728                         gpios = <&pioA PIN_PB6 GPIO_ACTIVE_LOW>;
729                 };
730
731
732                 green {
733                         label = "green";
734                         gpios = <&pioA PIN_PB5 GPIO_ACTIVE_LOW>;
735                 };
736
737                 blue {
738                         label = "blue";
739                         gpios = <&pioA PIN_PB0 GPIO_ACTIVE_LOW>;
740                         linux,default-trigger = "heartbeat";
741                 };
742         };
743 };