0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002 /*
0003 * at91-sama5d2_xplained.dts - Device Tree file for SAMA5D2 Xplained board
0004 *
0005 * Copyright (C) 2015 Atmel,
0006 * 2015 Nicolas Ferre <nicolas.ferre@atmel.com>
0007 */
0008 /dts-v1/;
0009 #include "sama5d2.dtsi"
0010 #include "sama5d2-pinfunc.h"
0011 #include <dt-bindings/mfd/atmel-flexcom.h>
0012 #include <dt-bindings/gpio/gpio.h>
0013 #include <dt-bindings/input/input.h>
0014 #include <dt-bindings/regulator/active-semi,8945a-regulator.h>
0015
0016 / {
0017 model = "Atmel SAMA5D2 Xplained";
0018 compatible = "atmel,sama5d2-xplained", "atmel,sama5d2", "atmel,sama5";
0019
0020 aliases {
0021 serial0 = &uart1; /* DBGU */
0022 i2c0 = &i2c0;
0023 i2c1 = &i2c1;
0024 i2c2 = &i2c2; /* XPRO EXT2 */
0025 };
0026
0027 chosen {
0028 stdout-path = "serial0:115200n8";
0029 };
0030
0031 clocks {
0032 slow_xtal {
0033 clock-frequency = <32768>;
0034 };
0035
0036 main_xtal {
0037 clock-frequency = <12000000>;
0038 };
0039 };
0040
0041 ahb {
0042 usb0: gadget@300000 {
0043 atmel,vbus-gpio = <&pioA PIN_PA31 GPIO_ACTIVE_HIGH>;
0044 pinctrl-names = "default";
0045 pinctrl-0 = <&pinctrl_usba_vbus>;
0046 status = "okay";
0047 };
0048
0049 usb1: ohci@400000 {
0050 num-ports = <3>;
0051 atmel,vbus-gpio = <0 /* &pioA PIN_PB9 GPIO_ACTIVE_HIGH */
0052 &pioA PIN_PB10 GPIO_ACTIVE_HIGH
0053 0
0054 >;
0055 pinctrl-names = "default";
0056 pinctrl-0 = <&pinctrl_usb_default>;
0057 status = "okay";
0058 };
0059
0060 usb2: ehci@500000 {
0061 status = "okay";
0062 };
0063
0064 sdmmc0: sdio-host@a0000000 {
0065 bus-width = <8>;
0066 pinctrl-names = "default";
0067 pinctrl-0 = <&pinctrl_sdmmc0_default>;
0068 non-removable;
0069 mmc-ddr-3_3v;
0070 status = "okay";
0071 };
0072
0073 sdmmc1: sdio-host@b0000000 {
0074 bus-width = <4>;
0075 pinctrl-names = "default";
0076 pinctrl-0 = <&pinctrl_sdmmc1_default>;
0077 status = "okay"; /* conflict with qspi0 */
0078 vqmmc-supply = <&vdd_3v3_reg>;
0079 vmmc-supply = <&vdd_3v3_reg>;
0080 };
0081
0082 apb {
0083 qspi0: spi@f0020000 {
0084 pinctrl-names = "default";
0085 pinctrl-0 = <&pinctrl_qspi0_default>;
0086 status = "disabled"; /* conflict with sdmmc1 */
0087
0088 flash@0 {
0089 #address-cells = <1>;
0090 #size-cells = <1>;
0091 compatible = "jedec,spi-nor";
0092 reg = <0>;
0093 spi-max-frequency = <80000000>;
0094 spi-tx-bus-width = <4>;
0095 spi-rx-bus-width = <4>;
0096 m25p,fast-read;
0097
0098 at91bootstrap@0 {
0099 label = "at91bootstrap";
0100 reg = <0x00000000 0x00040000>;
0101 };
0102
0103 bootloader@40000 {
0104 label = "bootloader";
0105 reg = <0x00040000 0x000c0000>;
0106 };
0107
0108 bootloaderenvred@100000 {
0109 label = "bootloader env redundant";
0110 reg = <0x00100000 0x00040000>;
0111 };
0112
0113 bootloaderenv@140000 {
0114 label = "bootloader env";
0115 reg = <0x00140000 0x00040000>;
0116 };
0117
0118 dtb@180000 {
0119 label = "device tree";
0120 reg = <0x00180000 0x00080000>;
0121 };
0122
0123 kernel@200000 {
0124 label = "kernel";
0125 reg = <0x00200000 0x00600000>;
0126 };
0127
0128 misc@800000 {
0129 label = "misc";
0130 reg = <0x00800000 0x00000000>;
0131 };
0132 };
0133 };
0134
0135 spi0: spi@f8000000 {
0136 pinctrl-names = "default";
0137 pinctrl-0 = <&pinctrl_spi0_default>;
0138 status = "okay";
0139
0140 flash@0 {
0141 compatible = "atmel,at25df321a";
0142 reg = <0>;
0143 spi-max-frequency = <50000000>;
0144 };
0145 };
0146
0147 macb0: ethernet@f8008000 {
0148 pinctrl-names = "default";
0149 pinctrl-0 = <&pinctrl_macb0_default &pinctrl_macb0_phy_irq>;
0150 #address-cells = <1>;
0151 #size-cells = <0>;
0152 phy-mode = "rmii";
0153 status = "okay";
0154
0155 ethernet-phy@1 {
0156 reg = <0x1>;
0157 interrupt-parent = <&pioA>;
0158 interrupts = <PIN_PC9 IRQ_TYPE_LEVEL_LOW>;
0159 };
0160 };
0161
0162 tcb0: timer@f800c000 {
0163 timer0: timer@0 {
0164 compatible = "atmel,tcb-timer";
0165 reg = <0>;
0166 };
0167
0168 timer1: timer@1 {
0169 compatible = "atmel,tcb-timer";
0170 reg = <1>;
0171 };
0172 };
0173
0174 uart1: serial@f8020000 {
0175 pinctrl-names = "default";
0176 pinctrl-0 = <&pinctrl_uart1_default>;
0177 atmel,use-dma-rx;
0178 atmel,use-dma-tx;
0179 status = "okay";
0180 };
0181
0182 i2c0: i2c@f8028000 {
0183 dmas = <0>, <0>;
0184 pinctrl-names = "default", "gpio";
0185 pinctrl-0 = <&pinctrl_i2c0_default>;
0186 pinctrl-1 = <&pinctrl_i2c0_gpio>;
0187 sda-gpios = <&pioA PIN_PD21 GPIO_ACTIVE_HIGH>;
0188 scl-gpios = <&pioA PIN_PD22 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
0189 i2c-sda-hold-time-ns = <350>;
0190 status = "okay";
0191
0192 pmic@5b {
0193 compatible = "active-semi,act8945a";
0194 reg = <0x5b>;
0195 active-semi,vsel-high;
0196 status = "okay";
0197
0198 regulators {
0199 vdd_1v35_reg: REG_DCDC1 {
0200 regulator-name = "VDD_1V35";
0201 regulator-min-microvolt = <1350000>;
0202 regulator-max-microvolt = <1350000>;
0203 regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_FIXED>,
0204 <ACT8945A_REGULATOR_MODE_LOWPOWER>;
0205 regulator-initial-mode = <ACT8945A_REGULATOR_MODE_FIXED>;
0206 regulator-always-on;
0207
0208 regulator-state-mem {
0209 regulator-on-in-suspend;
0210 regulator-suspend-min-microvolt = <1400000>;
0211 regulator-suspend-max-microvolt = <1400000>;
0212 regulator-changeable-in-suspend;
0213 regulator-mode = <ACT8945A_REGULATOR_MODE_LOWPOWER>;
0214 };
0215 };
0216
0217 vdd_1v2_reg: REG_DCDC2 {
0218 regulator-name = "VDD_1V2";
0219 regulator-min-microvolt = <1100000>;
0220 regulator-max-microvolt = <1300000>;
0221 regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_FIXED>,
0222 <ACT8945A_REGULATOR_MODE_LOWPOWER>;
0223 regulator-initial-mode = <ACT8945A_REGULATOR_MODE_FIXED>;
0224 regulator-always-on;
0225
0226 regulator-state-mem {
0227 regulator-off-in-suspend;
0228 };
0229 };
0230
0231 vdd_3v3_reg: REG_DCDC3 {
0232 regulator-name = "VDD_3V3";
0233 regulator-min-microvolt = <3300000>;
0234 regulator-max-microvolt = <3300000>;
0235 regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_FIXED>,
0236 <ACT8945A_REGULATOR_MODE_LOWPOWER>;
0237 regulator-initial-mode = <ACT8945A_REGULATOR_MODE_FIXED>;
0238 regulator-always-on;
0239
0240 regulator-state-mem {
0241 regulator-off-in-suspend;
0242 };
0243 };
0244
0245 vdd_fuse_reg: REG_LDO1 {
0246 regulator-name = "VDD_FUSE";
0247 regulator-min-microvolt = <2500000>;
0248 regulator-max-microvolt = <2500000>;
0249 regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_NORMAL>,
0250 <ACT8945A_REGULATOR_MODE_LOWPOWER>;
0251 regulator-initial-mode = <ACT8945A_REGULATOR_MODE_NORMAL>;
0252 regulator-always-on;
0253
0254 regulator-state-mem {
0255 regulator-off-in-suspend;
0256 };
0257 };
0258
0259 vdd_3v3_lp_reg: REG_LDO2 {
0260 regulator-name = "VDD_3V3_LP";
0261 regulator-min-microvolt = <3300000>;
0262 regulator-max-microvolt = <3300000>;
0263 regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_NORMAL>,
0264 <ACT8945A_REGULATOR_MODE_LOWPOWER>;
0265 regulator-initial-mode = <ACT8945A_REGULATOR_MODE_NORMAL>;
0266 regulator-always-on;
0267
0268 regulator-state-mem {
0269 regulator-off-in-suspend;
0270 };
0271 };
0272
0273 vdd_led_reg: REG_LDO3 {
0274 regulator-name = "VDD_LED";
0275 regulator-min-microvolt = <3300000>;
0276 regulator-max-microvolt = <3300000>;
0277 regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_NORMAL>,
0278 <ACT8945A_REGULATOR_MODE_LOWPOWER>;
0279 regulator-initial-mode = <ACT8945A_REGULATOR_MODE_NORMAL>;
0280 regulator-always-on;
0281
0282 regulator-state-mem {
0283 regulator-off-in-suspend;
0284 };
0285 };
0286
0287 vdd_sdhc_1v8_reg: REG_LDO4 {
0288 regulator-name = "VDD_SDHC_1V8";
0289 regulator-min-microvolt = <1800000>;
0290 regulator-max-microvolt = <1800000>;
0291 regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_NORMAL>,
0292 <ACT8945A_REGULATOR_MODE_LOWPOWER>;
0293 regulator-initial-mode = <ACT8945A_REGULATOR_MODE_NORMAL>;
0294 regulator-always-on;
0295
0296 regulator-state-mem {
0297 regulator-off-in-suspend;
0298 };
0299 };
0300 };
0301
0302 charger {
0303 compatible = "active-semi,act8945a-charger";
0304 pinctrl-names = "default";
0305 pinctrl-0 = <&pinctrl_charger_chglev &pinctrl_charger_lbo &pinctrl_charger_irq>;
0306 interrupt-parent = <&pioA>;
0307 interrupts = <PIN_PB13 IRQ_TYPE_EDGE_RISING>;
0308
0309 active-semi,chglev-gpios = <&pioA PIN_PA12 GPIO_ACTIVE_HIGH>;
0310 active-semi,lbo-gpios = <&pioA PIN_PC8 GPIO_ACTIVE_LOW>;
0311 active-semi,input-voltage-threshold-microvolt = <6600>;
0312 active-semi,precondition-timeout = <40>;
0313 active-semi,total-timeout = <3>;
0314 status = "okay";
0315 };
0316 };
0317 };
0318
0319 pwm0: pwm@f802c000 {
0320 pinctrl-names = "default";
0321 pinctrl-0 = <&pinctrl_pwm0_pwm2_default>;
0322 status = "disabled"; /* conflict with leds */
0323 };
0324
0325 flx0: flexcom@f8034000 {
0326 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
0327 status = "disabled"; /* conflict with ISC_D2 & ISC_D3 data pins */
0328
0329 uart5: serial@200 {
0330 dmas = <0>, <0>;
0331 pinctrl-names = "default";
0332 pinctrl-0 = <&pinctrl_flx0_default>;
0333 status = "okay";
0334 };
0335
0336 i2c2: i2c@600 {
0337 dmas = <0>, <0>;
0338 pinctrl-names = "default", "gpio";
0339 pinctrl-0 = <&pinctrl_flx0_default>;
0340 pinctrl-1 = <&pinctrl_i2c2_gpio>;
0341 sda-gpios = <&pioA PIN_PB28 GPIO_ACTIVE_HIGH>;
0342 scl-gpios = <&pioA PIN_PB29 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
0343 i2c-sda-hold-time-ns = <350>;
0344 i2c-analog-filter;
0345 i2c-digital-filter;
0346 i2c-digital-filter-width-ns = <35>;
0347 status = "disabled"; /* conflict with ISC_D2 & ISC_D3 data pins */
0348 };
0349 };
0350
0351 shdwc@f8048010 {
0352 debounce-delay-us = <976>;
0353 atmel,wakeup-rtc-timer;
0354
0355 input@0 {
0356 reg = <0>;
0357 };
0358 };
0359
0360 watchdog@f8048040 {
0361 status = "okay";
0362 };
0363
0364 i2s0: i2s@f8050000 {
0365 pinctrl-names = "default";
0366 pinctrl-0 = <&pinctrl_i2s0_default>;
0367 status = "disabled"; /* conflict with can0 */
0368 };
0369
0370 can0: can@f8054000 {
0371 pinctrl-names = "default";
0372 pinctrl-0 = <&pinctrl_can0_default>;
0373 status = "okay";
0374 };
0375
0376 uart3: serial@fc008000 {
0377 atmel,use-dma-rx;
0378 atmel,use-dma-tx;
0379 pinctrl-names = "default";
0380 pinctrl-0 = <&pinctrl_uart3_default>;
0381 status = "okay";
0382 };
0383
0384 flx4: flexcom@fc018000 {
0385 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
0386 status = "okay";
0387
0388 i2c6: i2c@600 {
0389 dmas = <0>, <0>;
0390 pinctrl-names = "default", "gpio";
0391 pinctrl-0 = <&pinctrl_flx4_default>;
0392 pinctrl-1 = <&pinctrl_flx4_gpio>;
0393 sda-gpios = <&pioA PIN_PD12 GPIO_ACTIVE_HIGH>;
0394 scl-gpios = <&pioA PIN_PD13 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
0395 i2c-analog-filter;
0396 i2c-digital-filter;
0397 i2c-digital-filter-width-ns = <35>;
0398 status = "okay";
0399 };
0400 };
0401
0402 i2c1: i2c@fc028000 {
0403 dmas = <0>, <0>;
0404 pinctrl-names = "default", "gpio";
0405 pinctrl-0 = <&pinctrl_i2c1_default>;
0406 i2c-analog-filter;
0407 i2c-digital-filter;
0408 i2c-digital-filter-width-ns = <35>;
0409 pinctrl-1 = <&pinctrl_i2c1_gpio>;
0410 sda-gpios = <&pioA PIN_PD4 GPIO_ACTIVE_HIGH>;
0411 scl-gpios = <&pioA PIN_PD5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
0412 status = "okay";
0413
0414 at24@54 {
0415 compatible = "atmel,24c02";
0416 reg = <0x54>;
0417 pagesize = <16>;
0418 };
0419 };
0420
0421 adc: adc@fc030000 {
0422 vddana-supply = <&vdd_3v3_lp_reg>;
0423 vref-supply = <&vdd_3v3_lp_reg>;
0424 pinctrl-names = "default";
0425 pinctrl-0 = <&pinctrl_adc_default &pinctrl_adtrg_default>;
0426 status = "okay";
0427 };
0428
0429 pinctrl@fc038000 {
0430 /*
0431 * There is no real pinmux for ADC, if the pin
0432 * is not requested by another peripheral then
0433 * the muxing is done when channel is enabled.
0434 * Requesting pins for ADC is GPIO is
0435 * encouraged to prevent conflicts and to
0436 * disable bias in order to be in the same
0437 * state when the pin is not muxed to the adc.
0438 */
0439 pinctrl_adc_default: adc_default {
0440 pinmux = <PIN_PD23__GPIO>;
0441 bias-disable;
0442 };
0443
0444 pinctrl_can0_default: can0_default {
0445 pinmux = <PIN_PC10__CANTX0>,
0446 <PIN_PC11__CANRX0>;
0447 bias-disable;
0448 };
0449
0450 pinctrl_can1_default: can1_default {
0451 pinmux = <PIN_PC26__CANTX1>,
0452 <PIN_PC27__CANRX1>;
0453 bias-disable;
0454 };
0455
0456 /*
0457 * The ADTRG pin can work on any edge type.
0458 * In here it's being pulled up, so need to
0459 * connect it to ground to get an edge e.g.
0460 * Trigger can be configured on falling, rise
0461 * or any edge, and the pull-up can be changed
0462 * to pull-down or left floating according to
0463 * needs.
0464 */
0465 pinctrl_adtrg_default: adtrg_default {
0466 pinmux = <PIN_PD31__ADTRG>;
0467 bias-pull-up;
0468 };
0469
0470 pinctrl_charger_chglev: charger_chglev {
0471 pinmux = <PIN_PA12__GPIO>;
0472 bias-disable;
0473 };
0474
0475 pinctrl_charger_irq: charger_irq {
0476 pinmux = <PIN_PB13__GPIO>;
0477 bias-disable;
0478 };
0479
0480 pinctrl_charger_lbo: charger_lbo {
0481 pinmux = <PIN_PC8__GPIO>;
0482 bias-pull-up;
0483 };
0484
0485 pinctrl_classd_default_pfets: classd_default_pfets {
0486 pinmux = <PIN_PB1__CLASSD_R0>,
0487 <PIN_PB3__CLASSD_R2>;
0488 bias-pull-up;
0489 };
0490
0491 pinctrl_classd_default_nfets: classd_default_nfets {
0492 pinmux = <PIN_PB2__CLASSD_R1>,
0493 <PIN_PB4__CLASSD_R3>;
0494 bias-pull-down;
0495 };
0496
0497 pinctrl_flx0_default: flx0_default {
0498 pinmux = <PIN_PB28__FLEXCOM0_IO0>,
0499 <PIN_PB29__FLEXCOM0_IO1>;
0500 bias-disable;
0501 };
0502
0503 pinctrl_flx4_default: flx4_default {
0504 pinmux = <PIN_PD12__FLEXCOM4_IO0>,
0505 <PIN_PD13__FLEXCOM4_IO1>;
0506 bias-disable;
0507 };
0508
0509 pinctrl_flx4_gpio: flx4_gpio {
0510 pinmux = <PIN_PD12__GPIO>,
0511 <PIN_PD13__GPIO>;
0512 bias-disable;
0513 };
0514
0515 pinctrl_i2c0_default: i2c0_default {
0516 pinmux = <PIN_PD21__TWD0>,
0517 <PIN_PD22__TWCK0>;
0518 bias-disable;
0519 };
0520
0521 pinctrl_i2c0_gpio: i2c0_gpio {
0522 pinmux = <PIN_PD21__GPIO>,
0523 <PIN_PD22__GPIO>;
0524 bias-disable;
0525 };
0526
0527 pinctrl_i2c1_default: i2c1_default {
0528 pinmux = <PIN_PD4__TWD1>,
0529 <PIN_PD5__TWCK1>;
0530 bias-disable;
0531 };
0532
0533 pinctrl_i2c1_gpio: i2c1_gpio {
0534 pinmux = <PIN_PD4__GPIO>,
0535 <PIN_PD5__GPIO>;
0536 bias-disable;
0537 };
0538
0539 pinctrl_i2c2_gpio: i2c2_gpio {
0540 pinmux = <PIN_PB28__GPIO>,
0541 <PIN_PB29__GPIO>;
0542 bias-disable;
0543 };
0544
0545 pinctrl_i2s0_default: i2s0_default {
0546 pinmux = <PIN_PC1__I2SC0_CK>,
0547 <PIN_PC2__I2SC0_MCK>,
0548 <PIN_PC3__I2SC0_WS>,
0549 <PIN_PC4__I2SC0_DI0>,
0550 <PIN_PC5__I2SC0_DO0>;
0551 bias-disable;
0552 };
0553
0554 pinctrl_i2s1_default: i2s1_default {
0555 pinmux = <PIN_PA15__I2SC1_CK>,
0556 <PIN_PA14__I2SC1_MCK>,
0557 <PIN_PA16__I2SC1_WS>,
0558 <PIN_PA17__I2SC1_DI0>,
0559 <PIN_PA18__I2SC1_DO0>;
0560 bias-disable;
0561 };
0562
0563 pinctrl_key_gpio_default: key_gpio_default {
0564 pinmux = <PIN_PB9__GPIO>;
0565 bias-pull-up;
0566 };
0567
0568 pinctrl_led_gpio_default: led_gpio_default {
0569 pinmux = <PIN_PB0__GPIO>,
0570 <PIN_PB5__GPIO>,
0571 <PIN_PB6__GPIO>;
0572 bias-pull-up;
0573 };
0574
0575 pinctrl_macb0_default: macb0_default {
0576 pinmux = <PIN_PB14__GTXCK>,
0577 <PIN_PB15__GTXEN>,
0578 <PIN_PB16__GRXDV>,
0579 <PIN_PB17__GRXER>,
0580 <PIN_PB18__GRX0>,
0581 <PIN_PB19__GRX1>,
0582 <PIN_PB20__GTX0>,
0583 <PIN_PB21__GTX1>,
0584 <PIN_PB22__GMDC>,
0585 <PIN_PB23__GMDIO>;
0586 bias-disable;
0587 };
0588
0589 pinctrl_macb0_phy_irq: macb0_phy_irq {
0590 pinmux = <PIN_PC9__GPIO>;
0591 bias-disable;
0592 };
0593
0594 pinctrl_qspi0_default: qspi0_default {
0595 sck_cs {
0596 pinmux = <PIN_PA22__QSPI0_SCK>,
0597 <PIN_PA23__QSPI0_CS>;
0598 bias-disable;
0599 };
0600
0601 data {
0602 pinmux = <PIN_PA24__QSPI0_IO0>,
0603 <PIN_PA25__QSPI0_IO1>,
0604 <PIN_PA26__QSPI0_IO2>,
0605 <PIN_PA27__QSPI0_IO3>;
0606 bias-pull-up;
0607 };
0608 };
0609
0610 pinctrl_sdmmc0_default: sdmmc0_default {
0611 cmd_data {
0612 pinmux = <PIN_PA1__SDMMC0_CMD>,
0613 <PIN_PA2__SDMMC0_DAT0>,
0614 <PIN_PA3__SDMMC0_DAT1>,
0615 <PIN_PA4__SDMMC0_DAT2>,
0616 <PIN_PA5__SDMMC0_DAT3>,
0617 <PIN_PA6__SDMMC0_DAT4>,
0618 <PIN_PA7__SDMMC0_DAT5>,
0619 <PIN_PA8__SDMMC0_DAT6>,
0620 <PIN_PA9__SDMMC0_DAT7>;
0621 bias-disable;
0622 };
0623
0624 ck_cd_rstn {
0625 pinmux = <PIN_PA0__SDMMC0_CK>,
0626 <PIN_PA10__SDMMC0_RSTN>,
0627 <PIN_PA13__SDMMC0_CD>;
0628 bias-disable;
0629 };
0630 };
0631
0632 pinctrl_sdmmc1_default: sdmmc1_default {
0633 cmd_data {
0634 pinmux = <PIN_PA28__SDMMC1_CMD>,
0635 <PIN_PA18__SDMMC1_DAT0>,
0636 <PIN_PA19__SDMMC1_DAT1>,
0637 <PIN_PA20__SDMMC1_DAT2>,
0638 <PIN_PA21__SDMMC1_DAT3>;
0639 bias-disable;
0640 };
0641
0642 conf-ck_cd {
0643 pinmux = <PIN_PA22__SDMMC1_CK>,
0644 <PIN_PA30__SDMMC1_CD>;
0645 bias-disable;
0646 };
0647 };
0648
0649 pinctrl_spi0_default: spi0_default {
0650 pinmux = <PIN_PA14__SPI0_SPCK>,
0651 <PIN_PA15__SPI0_MOSI>,
0652 <PIN_PA16__SPI0_MISO>,
0653 <PIN_PA17__SPI0_NPCS0>;
0654 bias-disable;
0655 };
0656
0657 pinctrl_uart1_default: uart1_default {
0658 pinmux = <PIN_PD2__URXD1>,
0659 <PIN_PD3__UTXD1>;
0660 bias-disable;
0661 };
0662
0663 pinctrl_uart3_default: uart3_default {
0664 pinmux = <PIN_PB11__URXD3>,
0665 <PIN_PB12__UTXD3>;
0666 bias-disable;
0667 };
0668
0669 pinctrl_usb_default: usb_default {
0670 pinmux = <PIN_PB10__GPIO>;
0671 bias-disable;
0672 };
0673
0674 pinctrl_usba_vbus: usba_vbus {
0675 pinmux = <PIN_PA31__GPIO>;
0676 bias-disable;
0677 };
0678
0679 pinctrl_pwm0_pwm2_default: pwm0_pwm2_default {
0680 pinmux = <PIN_PB5__PWMH2>,
0681 <PIN_PB6__PWML2>;
0682 bias-pull-up;
0683 };
0684 };
0685
0686 classd: classd@fc048000 {
0687 pinctrl-names = "default";
0688 pinctrl-0 = <&pinctrl_classd_default_pfets &pinctrl_classd_default_nfets>;
0689 atmel,pwm-type = "diff";
0690 atmel,non-overlap-time = <10>;
0691 status = "okay";
0692 };
0693
0694 i2s1: i2s@fc04c000 {
0695 pinctrl-names = "default";
0696 pinctrl-0 = <&pinctrl_i2s1_default>;
0697 status = "disabled"; /* conflict with spi0, sdmmc1 */
0698 };
0699
0700 can1: can@fc050000 {
0701 pinctrl-names = "default";
0702 pinctrl-0 = <&pinctrl_can1_default>;
0703 status = "okay";
0704 };
0705 };
0706 };
0707
0708 gpio-keys {
0709 compatible = "gpio-keys";
0710
0711 pinctrl-names = "default";
0712 pinctrl-0 = <&pinctrl_key_gpio_default>;
0713
0714 button {
0715 label = "PB_USER";
0716 gpios = <&pioA PIN_PB9 GPIO_ACTIVE_LOW>;
0717 linux,code = <KEY_PROG1>;
0718 wakeup-source;
0719 };
0720 };
0721
0722 leds {
0723 compatible = "gpio-leds";
0724 pinctrl-names = "default";
0725 pinctrl-0 = <&pinctrl_led_gpio_default>;
0726 status = "okay"; /* conflict with pwm0 */
0727
0728 red {
0729 label = "red";
0730 gpios = <&pioA PIN_PB6 GPIO_ACTIVE_LOW>;
0731 };
0732
0733
0734 green {
0735 label = "green";
0736 gpios = <&pioA PIN_PB5 GPIO_ACTIVE_LOW>;
0737 };
0738
0739 blue {
0740 label = "blue";
0741 gpios = <&pioA PIN_PB0 GPIO_ACTIVE_LOW>;
0742 linux,default-trigger = "heartbeat";
0743 };
0744 };
0745 };