Back to home page

OSCL-LXR

 
 

    


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 };