Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0-only
0002 /*
0003  * at91sam9263.dtsi - Device Tree Include file for AT91SAM9263 family SoC
0004  *
0005  *  Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
0006  */
0007 
0008 #include <dt-bindings/pinctrl/at91.h>
0009 #include <dt-bindings/interrupt-controller/irq.h>
0010 #include <dt-bindings/gpio/gpio.h>
0011 #include <dt-bindings/clock/at91.h>
0012 
0013 / {
0014         #address-cells = <1>;
0015         #size-cells = <1>;
0016         model = "Atmel AT91SAM9263 family SoC";
0017         compatible = "atmel,at91sam9263";
0018         interrupt-parent = <&aic>;
0019 
0020         aliases {
0021                 serial0 = &dbgu;
0022                 serial1 = &usart0;
0023                 serial2 = &usart1;
0024                 serial3 = &usart2;
0025                 gpio0 = &pioA;
0026                 gpio1 = &pioB;
0027                 gpio2 = &pioC;
0028                 gpio3 = &pioD;
0029                 gpio4 = &pioE;
0030                 tcb0 = &tcb0;
0031                 i2c0 = &i2c0;
0032                 ssc0 = &ssc0;
0033                 ssc1 = &ssc1;
0034                 pwm0 = &pwm0;
0035         };
0036 
0037         cpus {
0038                 #address-cells = <1>;
0039                 #size-cells = <0>;
0040 
0041                 cpu@0 {
0042                         compatible = "arm,arm926ej-s";
0043                         device_type = "cpu";
0044                         reg = <0>;
0045                 };
0046         };
0047 
0048         memory@20000000 {
0049                 device_type = "memory";
0050                 reg = <0x20000000 0x08000000>;
0051         };
0052 
0053         clocks {
0054                 main_xtal: main_xtal {
0055                         compatible = "fixed-clock";
0056                         #clock-cells = <0>;
0057                         clock-frequency = <0>;
0058                 };
0059 
0060                 slow_xtal: slow_xtal {
0061                         compatible = "fixed-clock";
0062                         #clock-cells = <0>;
0063                         clock-frequency = <0>;
0064                 };
0065         };
0066 
0067         sram0: sram@300000 {
0068                 compatible = "mmio-sram";
0069                 reg = <0x00300000 0x14000>;
0070                 #address-cells = <1>;
0071                 #size-cells = <1>;
0072                 ranges = <0 0x00300000 0x14000>;
0073         };
0074 
0075         sram1: sram@500000 {
0076                 compatible = "mmio-sram";
0077                 reg = <0x00500000 0x4000>;
0078                 #address-cells = <1>;
0079                 #size-cells = <1>;
0080                 ranges = <0 0x00500000 0x4000>;
0081         };
0082 
0083         ahb {
0084                 compatible = "simple-bus";
0085                 #address-cells = <1>;
0086                 #size-cells = <1>;
0087                 ranges;
0088 
0089                 apb {
0090                         compatible = "simple-bus";
0091                         #address-cells = <1>;
0092                         #size-cells = <1>;
0093                         ranges;
0094 
0095                         aic: interrupt-controller@fffff000 {
0096                                 #interrupt-cells = <3>;
0097                                 compatible = "atmel,at91rm9200-aic";
0098                                 interrupt-controller;
0099                                 reg = <0xfffff000 0x200>;
0100                                 atmel,external-irqs = <30 31>;
0101                         };
0102 
0103                         pmc: pmc@fffffc00 {
0104                                 compatible = "atmel,at91sam9263-pmc", "syscon";
0105                                 reg = <0xfffffc00 0x100>;
0106                                 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
0107                                 #clock-cells = <2>;
0108                                 clocks = <&slow_xtal>, <&main_xtal>;
0109                                 clock-names = "slow_xtal", "main_xtal";
0110                         };
0111 
0112                         ramc0: ramc@ffffe200 {
0113                                 compatible = "atmel,at91sam9260-sdramc";
0114                                 reg = <0xffffe200 0x200>;
0115                         };
0116 
0117                         smc0: smc@ffffe400 {
0118                                 compatible = "atmel,at91sam9260-smc", "syscon";
0119                                 reg = <0xffffe400 0x200>;
0120                         };
0121 
0122                         ramc1: ramc@ffffe800 {
0123                                 compatible = "atmel,at91sam9260-sdramc";
0124                                 reg = <0xffffe800 0x200>;
0125                         };
0126 
0127                         smc1: smc@ffffea00 {
0128                                 compatible = "atmel,at91sam9260-smc", "syscon";
0129                                 reg = <0xffffea00 0x200>;
0130                         };
0131 
0132                         matrix: matrix@ffffec00 {
0133                                 compatible = "atmel,at91sam9263-matrix", "syscon";
0134                                 reg = <0xffffec00 0x200>;
0135                         };
0136 
0137                         pit: timer@fffffd30 {
0138                                 compatible = "atmel,at91sam9260-pit";
0139                                 reg = <0xfffffd30 0xf>;
0140                                 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
0141                                 clocks = <&pmc PMC_TYPE_CORE PMC_MCK>;
0142                         };
0143 
0144                         tcb0: timer@fff7c000 {
0145                                 compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon";
0146                                 #address-cells = <1>;
0147                                 #size-cells = <0>;
0148                                 reg = <0xfff7c000 0x100>;
0149                                 interrupts = <19 IRQ_TYPE_LEVEL_HIGH 0>;
0150                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 19>, <&slow_xtal>;
0151                                 clock-names = "t0_clk", "slow_clk";
0152                         };
0153 
0154                         reset-controller@fffffd00 {
0155                                 compatible = "atmel,at91sam9260-rstc";
0156                                 reg = <0xfffffd00 0x10>;
0157                                 clocks = <&slow_xtal>;
0158                         };
0159 
0160                         shdwc@fffffd10 {
0161                                 compatible = "atmel,at91sam9260-shdwc";
0162                                 reg = <0xfffffd10 0x10>;
0163                                 clocks = <&slow_xtal>;
0164                         };
0165 
0166                         pinctrl@fffff200 {
0167                                 #address-cells = <1>;
0168                                 #size-cells = <1>;
0169                                 compatible = "atmel,at91rm9200-pinctrl", "simple-bus";
0170                                 ranges = <0xfffff200 0xfffff200 0xa00>;
0171 
0172                                 atmel,mux-mask = <
0173                                       /*    A         B     */
0174                                        0xfffffffb 0xffffe07f  /* pioA */
0175                                        0x0007ffff 0x39072fff  /* pioB */
0176                                        0xffffffff 0x3ffffff8  /* pioC */
0177                                        0xfffffbff 0xffffffff  /* pioD */
0178                                        0xffe00fff 0xfbfcff00  /* pioE */
0179                                       >;
0180 
0181                                 /* shared pinctrl settings */
0182                                 dbgu {
0183                                         pinctrl_dbgu: dbgu-0 {
0184                                                 atmel,pins =
0185                                                         <AT91_PIOC 30 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
0186                                                          AT91_PIOC 31 AT91_PERIPH_A AT91_PINCTRL_NONE>;
0187                                         };
0188                                 };
0189 
0190                                 usart0 {
0191                                         pinctrl_usart0: usart0-0 {
0192                                                 atmel,pins =
0193                                                         <AT91_PIOA 26 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
0194                                                          AT91_PIOA 27 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
0195                                         };
0196 
0197                                         pinctrl_usart0_rts: usart0_rts-0 {
0198                                                 atmel,pins =
0199                                                         <AT91_PIOA 28 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA28 periph A */
0200                                         };
0201 
0202                                         pinctrl_usart0_cts: usart0_cts-0 {
0203                                                 atmel,pins =
0204                                                         <AT91_PIOA 29 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA29 periph A */
0205                                         };
0206                                 };
0207 
0208                                 usart1 {
0209                                         pinctrl_usart1: usart1-0 {
0210                                                 atmel,pins =
0211                                                         <AT91_PIOD 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
0212                                                          AT91_PIOD 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
0213                                         };
0214 
0215                                         pinctrl_usart1_rts: usart1_rts-0 {
0216                                                 atmel,pins =
0217                                                         <AT91_PIOD 7 AT91_PERIPH_B AT91_PINCTRL_NONE>;  /* PD7 periph B */
0218                                         };
0219 
0220                                         pinctrl_usart1_cts: usart1_cts-0 {
0221                                                 atmel,pins =
0222                                                         <AT91_PIOD 8 AT91_PERIPH_B AT91_PINCTRL_NONE>;  /* PD8 periph B */
0223                                         };
0224                                 };
0225 
0226                                 usart2 {
0227                                         pinctrl_usart2: usart2-0 {
0228                                                 atmel,pins =
0229                                                         <AT91_PIOD 2 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
0230                                                          AT91_PIOD 3 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
0231                                         };
0232 
0233                                         pinctrl_usart2_rts: usart2_rts-0 {
0234                                                 atmel,pins =
0235                                                         <AT91_PIOD 5 AT91_PERIPH_B AT91_PINCTRL_NONE>;  /* PD5 periph B */
0236                                         };
0237 
0238                                         pinctrl_usart2_cts: usart2_cts-0 {
0239                                                 atmel,pins =
0240                                                         <AT91_PIOD 6 AT91_PERIPH_B AT91_PINCTRL_NONE>;  /* PD6 periph B */
0241                                         };
0242                                 };
0243 
0244                                 nand {
0245                                         pinctrl_nand_rb: nand-rb-0 {
0246                                                 atmel,pins =
0247                                                         <AT91_PIOA 22 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
0248                                         };
0249 
0250                                         pinctrl_nand_cs: nand-cs-0 {
0251                                                 atmel,pins =
0252                                                          <AT91_PIOD 15 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
0253                                         };
0254                                 };
0255 
0256                                 macb {
0257                                         pinctrl_macb_rmii: macb_rmii-0 {
0258                                                 atmel,pins =
0259                                                         <AT91_PIOC 25 AT91_PERIPH_B AT91_PINCTRL_NONE   /* PC25 periph B */
0260                                                          AT91_PIOE 21 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PE21 periph A */
0261                                                          AT91_PIOE 23 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PE23 periph A */
0262                                                          AT91_PIOE 24 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PE24 periph A */
0263                                                          AT91_PIOE 25 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PE25 periph A */
0264                                                          AT91_PIOE 26 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PE26 periph A */
0265                                                          AT91_PIOE 27 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PE27 periph A */
0266                                                          AT91_PIOE 28 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PE28 periph A */
0267                                                          AT91_PIOE 29 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PE29 periph A */
0268                                                          AT91_PIOE 30 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PE30 periph A */
0269                                         };
0270 
0271                                         pinctrl_macb_rmii_mii: macb_rmii_mii-0 {
0272                                                 atmel,pins =
0273                                                         <AT91_PIOC 20 AT91_PERIPH_B AT91_PINCTRL_NONE   /* PC20 periph B */
0274                                                          AT91_PIOC 21 AT91_PERIPH_B AT91_PINCTRL_NONE   /* PC21 periph B */
0275                                                          AT91_PIOC 22 AT91_PERIPH_B AT91_PINCTRL_NONE   /* PC22 periph B */
0276                                                          AT91_PIOC 23 AT91_PERIPH_B AT91_PINCTRL_NONE   /* PC23 periph B */
0277                                                          AT91_PIOC 24 AT91_PERIPH_B AT91_PINCTRL_NONE   /* PC24 periph B */
0278                                                          AT91_PIOC 25 AT91_PERIPH_B AT91_PINCTRL_NONE   /* PC25 periph B */
0279                                                          AT91_PIOC 27 AT91_PERIPH_B AT91_PINCTRL_NONE   /* PC27 periph B */
0280                                                          AT91_PIOE 22 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PE22 periph B */
0281                                         };
0282                                 };
0283 
0284                                 mmc0 {
0285                                         pinctrl_mmc0_clk: mmc0_clk-0 {
0286                                                 atmel,pins =
0287                                                         <AT91_PIOA 12 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA12 periph A */
0288                                         };
0289 
0290                                         pinctrl_mmc0_slot0_cmd_dat0: mmc0_slot0_cmd_dat0-0 {
0291                                                 atmel,pins =
0292                                                         <AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA1 periph A with pullup */
0293                                                          AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;       /* PA0 periph A with pullup */
0294                                         };
0295 
0296                                         pinctrl_mmc0_slot0_dat1_3: mmc0_slot0_dat1_3-0 {
0297                                                 atmel,pins =
0298                                                         <AT91_PIOA 3 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA3 periph A with pullup */
0299                                                          AT91_PIOA 4 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA4 periph A with pullup */
0300                                                          AT91_PIOA 5 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;       /* PA5 periph A with pullup */
0301                                         };
0302 
0303                                         pinctrl_mmc0_slot1_cmd_dat0: mmc0_slot1_cmd_dat0-0 {
0304                                                 atmel,pins =
0305                                                         <AT91_PIOA 16 AT91_PERIPH_A AT91_PINCTRL_PULL_UP        /* PA16 periph A with pullup */
0306                                                          AT91_PIOA 17 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;      /* PA17 periph A with pullup */
0307                                         };
0308 
0309                                         pinctrl_mmc0_slot1_dat1_3: mmc0_slot1_dat1_3-0 {
0310                                                 atmel,pins =
0311                                                         <AT91_PIOA 18 AT91_PERIPH_A AT91_PINCTRL_PULL_UP        /* PA18 periph A with pullup */
0312                                                          AT91_PIOA 19 AT91_PERIPH_A AT91_PINCTRL_PULL_UP        /* PA19 periph A with pullup */
0313                                                          AT91_PIOA 20 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;      /* PA20 periph A with pullup */
0314                                         };
0315                                 };
0316 
0317                                 mmc1 {
0318                                         pinctrl_mmc1_clk: mmc1_clk-0 {
0319                                                 atmel,pins =
0320                                                         <AT91_PIOA 6 AT91_PERIPH_A AT91_PINCTRL_NONE>;  /* PA6 periph A */
0321                                         };
0322 
0323                                         pinctrl_mmc1_slot0_cmd_dat0: mmc1_slot0_cmd_dat0-0 {
0324                                                 atmel,pins =
0325                                                         <AT91_PIOA 7 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA7 periph A with pullup */
0326                                                          AT91_PIOA 8 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;       /* PA8 periph A with pullup */
0327                                         };
0328 
0329                                         pinctrl_mmc1_slot0_dat1_3: mmc1_slot0_dat1_3-0 {
0330                                                 atmel,pins =
0331                                                         <AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA9 periph A with pullup */
0332                                                          AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_PULL_UP        /* PA10 periph A with pullup */
0333                                                          AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;      /* PA11 periph A with pullup */
0334                                         };
0335 
0336                                         pinctrl_mmc1_slot1_cmd_dat0: mmc1_slot1_cmd_dat0-0 {
0337                                                 atmel,pins =
0338                                                         <AT91_PIOA 21 AT91_PERIPH_A AT91_PINCTRL_PULL_UP        /* PA21 periph A with pullup */
0339                                                          AT91_PIOA 22 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;      /* PA22 periph A with pullup */
0340                                         };
0341 
0342                                         pinctrl_mmc1_slot1_dat1_3: mmc1_slot1_dat1_3-0 {
0343                                                 atmel,pins =
0344                                                         <AT91_PIOA 23 AT91_PERIPH_A AT91_PINCTRL_PULL_UP        /* PA23 periph A with pullup */
0345                                                          AT91_PIOA 24 AT91_PERIPH_A AT91_PINCTRL_PULL_UP        /* PA24 periph A with pullup */
0346                                                          AT91_PIOA 25 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;      /* PA25 periph A with pullup */
0347                                         };
0348                                 };
0349 
0350                                 ssc0 {
0351                                         pinctrl_ssc0_tx: ssc0_tx-0 {
0352                                                 atmel,pins =
0353                                                         <AT91_PIOB 0 AT91_PERIPH_B AT91_PINCTRL_NONE    /* PB0 periph B */
0354                                                          AT91_PIOB 1 AT91_PERIPH_B AT91_PINCTRL_NONE    /* PB1 periph B */
0355                                                          AT91_PIOB 2 AT91_PERIPH_B AT91_PINCTRL_NONE>;  /* PB2 periph B */
0356                                         };
0357 
0358                                         pinctrl_ssc0_rx: ssc0_rx-0 {
0359                                                 atmel,pins =
0360                                                         <AT91_PIOB 3 AT91_PERIPH_B AT91_PINCTRL_NONE    /* PB3 periph B */
0361                                                          AT91_PIOB 4 AT91_PERIPH_B AT91_PINCTRL_NONE    /* PB4 periph B */
0362                                                          AT91_PIOB 5 AT91_PERIPH_B AT91_PINCTRL_NONE>;  /* PB5 periph B */
0363                                         };
0364                                 };
0365 
0366                                 ssc1 {
0367                                         pinctrl_ssc1_tx: ssc1_tx-0 {
0368                                                 atmel,pins =
0369                                                         <AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PB6 periph A */
0370                                                          AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PB7 periph A */
0371                                                          AT91_PIOB 8 AT91_PERIPH_A AT91_PINCTRL_NONE>;  /* PB8 periph A */
0372                                         };
0373 
0374                                         pinctrl_ssc1_rx: ssc1_rx-0 {
0375                                                 atmel,pins =
0376                                                         <AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PB9 periph A */
0377                                                          AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PB10 periph A */
0378                                                          AT91_PIOB 11 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB11 periph A */
0379                                         };
0380                                 };
0381 
0382                                 spi0 {
0383                                         pinctrl_spi0: spi0-0 {
0384                                                 atmel,pins =
0385                                                         <AT91_PIOA 0 AT91_PERIPH_B AT91_PINCTRL_NONE    /* PA0 periph B SPI0_MISO pin */
0386                                                          AT91_PIOA 1 AT91_PERIPH_B AT91_PINCTRL_NONE    /* PA1 periph B SPI0_MOSI pin */
0387                                                          AT91_PIOA 2 AT91_PERIPH_B AT91_PINCTRL_NONE>;  /* PA2 periph B SPI0_SPCK pin */
0388                                         };
0389                                 };
0390 
0391                                 spi1 {
0392                                         pinctrl_spi1: spi1-0 {
0393                                                 atmel,pins =
0394                                                         <AT91_PIOB 12 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PB12 periph A SPI1_MISO pin */
0395                                                          AT91_PIOB 13 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PB13 periph A SPI1_MOSI pin */
0396                                                          AT91_PIOB 14 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB14 periph A SPI1_SPCK pin */
0397                                         };
0398                                 };
0399 
0400                                 tcb0 {
0401                                         pinctrl_tcb0_tclk0: tcb0_tclk0-0 {
0402                                                 atmel,pins = <AT91_PIOB 28 AT91_PERIPH_B AT91_PINCTRL_NONE>;
0403                                         };
0404 
0405                                         pinctrl_tcb0_tclk1: tcb0_tclk1-0 {
0406                                                 atmel,pins = <AT91_PIOC 28 AT91_PERIPH_B AT91_PINCTRL_NONE>;
0407                                         };
0408 
0409                                         pinctrl_tcb0_tclk2: tcb0_tclk2-0 {
0410                                                 atmel,pins = <AT91_PIOA 15 AT91_PERIPH_A AT91_PINCTRL_NONE>;
0411                                         };
0412 
0413                                         pinctrl_tcb0_tioa0: tcb0_tioa0-0 {
0414                                                 atmel,pins = <AT91_PIOE 18 AT91_PERIPH_B AT91_PINCTRL_NONE>;
0415                                         };
0416 
0417                                         pinctrl_tcb0_tioa1: tcb0_tioa1-0 {
0418                                                 atmel,pins = <AT91_PIOE 8 AT91_PERIPH_B AT91_PINCTRL_NONE>;
0419                                         };
0420 
0421                                         pinctrl_tcb0_tioa2: tcb0_tioa2-0 {
0422                                                 atmel,pins = <AT91_PIOB 17 AT91_PERIPH_B AT91_PINCTRL_NONE>;
0423                                         };
0424 
0425                                         pinctrl_tcb0_tiob0: tcb0_tiob0-0 {
0426                                                 atmel,pins = <AT91_PIOE 19 AT91_PERIPH_B AT91_PINCTRL_NONE>;
0427                                         };
0428 
0429                                         pinctrl_tcb0_tiob1: tcb0_tiob1-0 {
0430                                                 atmel,pins = <AT91_PIOE 9 AT91_PERIPH_B AT91_PINCTRL_NONE>;
0431                                         };
0432 
0433                                         pinctrl_tcb0_tiob2: tcb0_tiob2-0 {
0434                                                 atmel,pins = <AT91_PIOB 18 AT91_PERIPH_B AT91_PINCTRL_NONE>;
0435                                         };
0436                                 };
0437 
0438                                 fb {
0439                                         pinctrl_fb: fb-0 {
0440                                                 atmel,pins =
0441                                                         <AT91_PIOC 1 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PC1 periph A */
0442                                                          AT91_PIOC 2 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PC2 periph A */
0443                                                          AT91_PIOC 3 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PC3 periph A */
0444                                                          AT91_PIOB 9 AT91_PERIPH_B AT91_PINCTRL_NONE    /* PB9 periph B */
0445                                                          AT91_PIOC 6 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PC6 periph A */
0446                                                          AT91_PIOC 7 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PC7 periph A */
0447                                                          AT91_PIOC 8 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PC8 periph A */
0448                                                          AT91_PIOC 9 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PC9 periph A */
0449                                                          AT91_PIOC 10 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PC10 periph A */
0450                                                          AT91_PIOC 11 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PC11 periph A */
0451                                                          AT91_PIOC 14 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PC14 periph A */
0452                                                          AT91_PIOC 15 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PC15 periph A */
0453                                                          AT91_PIOC 16 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PC16 periph A */
0454                                                          AT91_PIOC 12 AT91_PERIPH_B AT91_PINCTRL_NONE   /* PC12 periph B */
0455                                                          AT91_PIOC 18 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PC18 periph A */
0456                                                          AT91_PIOC 19 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PC19 periph A */
0457                                                          AT91_PIOC 22 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PC22 periph A */
0458                                                          AT91_PIOC 23 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PC23 periph A */
0459                                                          AT91_PIOC 24 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PC24 periph A */
0460                                                          AT91_PIOC 17 AT91_PERIPH_B AT91_PINCTRL_NONE   /* PC17 periph B */
0461                                                          AT91_PIOC 26 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PC26 periph A */
0462                                                          AT91_PIOC 27 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PC27 periph A */
0463                                         };
0464                                 };
0465 
0466                                 can {
0467                                         pinctrl_can_rx_tx: can_rx_tx {
0468                                                 atmel,pins =
0469                                                         <AT91_PIOA 14 AT91_PERIPH_A AT91_PINCTRL_NONE   /* CANRX, conflicts with IRQ0 */
0470                                                          AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* CANTX, conflicts with PCK0 */
0471                                         };
0472                                 };
0473 
0474                                 ac97 {
0475                                         pinctrl_ac97: ac97-0 {
0476                                                 atmel,pins =
0477                                                         <AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PB12 periph A AC97FS pin */
0478                                                          AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PB13 periph A AC97CK pin */
0479                                                          AT91_PIOB 2 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PB14 periph A AC97TX pin */
0480                                                          AT91_PIOB 3 AT91_PERIPH_A AT91_PINCTRL_NONE>;  /* PB14 periph A AC97RX pin */
0481                                         };
0482                                 };
0483 
0484                                 pioA: gpio@fffff200 {
0485                                         compatible = "atmel,at91rm9200-gpio";
0486                                         reg = <0xfffff200 0x200>;
0487                                         interrupts = <2 IRQ_TYPE_LEVEL_HIGH 1>;
0488                                         #gpio-cells = <2>;
0489                                         gpio-controller;
0490                                         interrupt-controller;
0491                                         #interrupt-cells = <2>;
0492                                         clocks = <&pmc PMC_TYPE_PERIPHERAL 2>;
0493                                 };
0494 
0495                                 pioB: gpio@fffff400 {
0496                                         compatible = "atmel,at91rm9200-gpio";
0497                                         reg = <0xfffff400 0x200>;
0498                                         interrupts = <3 IRQ_TYPE_LEVEL_HIGH 1>;
0499                                         #gpio-cells = <2>;
0500                                         gpio-controller;
0501                                         interrupt-controller;
0502                                         #interrupt-cells = <2>;
0503                                         clocks = <&pmc PMC_TYPE_PERIPHERAL 3>;
0504                                 };
0505 
0506                                 pioC: gpio@fffff600 {
0507                                         compatible = "atmel,at91rm9200-gpio";
0508                                         reg = <0xfffff600 0x200>;
0509                                         interrupts = <4 IRQ_TYPE_LEVEL_HIGH 1>;
0510                                         #gpio-cells = <2>;
0511                                         gpio-controller;
0512                                         interrupt-controller;
0513                                         #interrupt-cells = <2>;
0514                                         clocks = <&pmc PMC_TYPE_PERIPHERAL 4>;
0515                                 };
0516 
0517                                 pioD: gpio@fffff800 {
0518                                         compatible = "atmel,at91rm9200-gpio";
0519                                         reg = <0xfffff800 0x200>;
0520                                         interrupts = <4 IRQ_TYPE_LEVEL_HIGH 1>;
0521                                         #gpio-cells = <2>;
0522                                         gpio-controller;
0523                                         interrupt-controller;
0524                                         #interrupt-cells = <2>;
0525                                         clocks = <&pmc PMC_TYPE_PERIPHERAL 4>;
0526                                 };
0527 
0528                                 pioE: gpio@fffffa00 {
0529                                         compatible = "atmel,at91rm9200-gpio";
0530                                         reg = <0xfffffa00 0x200>;
0531                                         interrupts = <4 IRQ_TYPE_LEVEL_HIGH 1>;
0532                                         #gpio-cells = <2>;
0533                                         gpio-controller;
0534                                         interrupt-controller;
0535                                         #interrupt-cells = <2>;
0536                                         clocks = <&pmc PMC_TYPE_PERIPHERAL 4>;
0537                                 };
0538                         };
0539 
0540                         dbgu: serial@ffffee00 {
0541                                 compatible = "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
0542                                 reg = <0xffffee00 0x200>;
0543                                 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
0544                                 pinctrl-names = "default";
0545                                 pinctrl-0 = <&pinctrl_dbgu>;
0546                                 clocks = <&pmc PMC_TYPE_CORE PMC_MCK>;
0547                                 clock-names = "usart";
0548                                 status = "disabled";
0549                         };
0550 
0551                         usart0: serial@fff8c000 {
0552                                 compatible = "atmel,at91sam9260-usart";
0553                                 reg = <0xfff8c000 0x200>;
0554                                 interrupts = <7 IRQ_TYPE_LEVEL_HIGH 5>;
0555                                 atmel,use-dma-rx;
0556                                 atmel,use-dma-tx;
0557                                 pinctrl-names = "default";
0558                                 pinctrl-0 = <&pinctrl_usart0>;
0559                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
0560                                 clock-names = "usart";
0561                                 status = "disabled";
0562                         };
0563 
0564                         usart1: serial@fff90000 {
0565                                 compatible = "atmel,at91sam9260-usart";
0566                                 reg = <0xfff90000 0x200>;
0567                                 interrupts = <8 IRQ_TYPE_LEVEL_HIGH 5>;
0568                                 atmel,use-dma-rx;
0569                                 atmel,use-dma-tx;
0570                                 pinctrl-names = "default";
0571                                 pinctrl-0 = <&pinctrl_usart1>;
0572                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
0573                                 clock-names = "usart";
0574                                 status = "disabled";
0575                         };
0576 
0577                         usart2: serial@fff94000 {
0578                                 compatible = "atmel,at91sam9260-usart";
0579                                 reg = <0xfff94000 0x200>;
0580                                 interrupts = <9 IRQ_TYPE_LEVEL_HIGH 5>;
0581                                 atmel,use-dma-rx;
0582                                 atmel,use-dma-tx;
0583                                 pinctrl-names = "default";
0584                                 pinctrl-0 = <&pinctrl_usart2>;
0585                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
0586                                 clock-names = "usart";
0587                                 status = "disabled";
0588                         };
0589 
0590                         ssc0: ssc@fff98000 {
0591                                 compatible = "atmel,at91rm9200-ssc";
0592                                 reg = <0xfff98000 0x4000>;
0593                                 interrupts = <16 IRQ_TYPE_LEVEL_HIGH 5>;
0594                                 pinctrl-names = "default";
0595                                 pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
0596                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 16>;
0597                                 clock-names = "pclk";
0598                                 status = "disabled";
0599                         };
0600 
0601                         ssc1: ssc@fff9c000 {
0602                                 compatible = "atmel,at91rm9200-ssc";
0603                                 reg = <0xfff9c000 0x4000>;
0604                                 interrupts = <17 IRQ_TYPE_LEVEL_HIGH 5>;
0605                                 pinctrl-names = "default";
0606                                 pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>;
0607                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 17>;
0608                                 clock-names = "pclk";
0609                                 status = "disabled";
0610                         };
0611 
0612                         ac97: sound@fffa0000 {
0613                                 compatible = "atmel,at91sam9263-ac97c";
0614                                 reg = <0xfffa0000 0x4000>;
0615                                 interrupts = <18 IRQ_TYPE_LEVEL_HIGH 5>;
0616                                 pinctrl-names = "default";
0617                                 pinctrl-0 = <&pinctrl_ac97>;
0618                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 18>;
0619                                 clock-names = "ac97_clk";
0620                                 status = "disabled";
0621                         };
0622 
0623                         macb0: ethernet@fffbc000 {
0624                                 compatible = "cdns,at91sam9260-macb", "cdns,macb";
0625                                 reg = <0xfffbc000 0x100>;
0626                                 interrupts = <21 IRQ_TYPE_LEVEL_HIGH 3>;
0627                                 pinctrl-names = "default";
0628                                 pinctrl-0 = <&pinctrl_macb_rmii>;
0629                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 21>, <&pmc PMC_TYPE_PERIPHERAL 21>;
0630                                 clock-names = "hclk", "pclk";
0631                                 status = "disabled";
0632                         };
0633 
0634                         usb1: gadget@fff78000 {
0635                                 compatible = "atmel,at91sam9263-udc";
0636                                 reg = <0xfff78000 0x4000>;
0637                                 interrupts = <24 IRQ_TYPE_LEVEL_HIGH 2>;
0638                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 24>, <&pmc PMC_TYPE_SYSTEM 7>;
0639                                 clock-names = "pclk", "hclk";
0640                                 status = "disabled";
0641                         };
0642 
0643                         i2c0: i2c@fff88000 {
0644                                 compatible = "atmel,at91sam9260-i2c";
0645                                 reg = <0xfff88000 0x100>;
0646                                 interrupts = <13 IRQ_TYPE_LEVEL_HIGH 6>;
0647                                 #address-cells = <1>;
0648                                 #size-cells = <0>;
0649                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
0650                                 status = "disabled";
0651                         };
0652 
0653                         mmc0: mmc@fff80000 {
0654                                 compatible = "atmel,hsmci";
0655                                 reg = <0xfff80000 0x600>;
0656                                 interrupts = <10 IRQ_TYPE_LEVEL_HIGH 0>;
0657                                 #address-cells = <1>;
0658                                 #size-cells = <0>;
0659                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 10>;
0660                                 clock-names = "mci_clk";
0661                                 status = "disabled";
0662                         };
0663 
0664                         mmc1: mmc@fff84000 {
0665                                 compatible = "atmel,hsmci";
0666                                 reg = <0xfff84000 0x600>;
0667                                 interrupts = <11 IRQ_TYPE_LEVEL_HIGH 0>;
0668                                 #address-cells = <1>;
0669                                 #size-cells = <0>;
0670                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 11>;
0671                                 clock-names = "mci_clk";
0672                                 status = "disabled";
0673                         };
0674 
0675                         watchdog@fffffd40 {
0676                                 compatible = "atmel,at91sam9260-wdt";
0677                                 reg = <0xfffffd40 0x10>;
0678                                 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
0679                                 clocks = <&slow_xtal>;
0680                                 atmel,watchdog-type = "hardware";
0681                                 atmel,reset-type = "all";
0682                                 atmel,dbg-halt;
0683                                 status = "disabled";
0684                         };
0685 
0686                         spi0: spi@fffa4000 {
0687                                 #address-cells = <1>;
0688                                 #size-cells = <0>;
0689                                 compatible = "atmel,at91rm9200-spi";
0690                                 reg = <0xfffa4000 0x200>;
0691                                 interrupts = <14 IRQ_TYPE_LEVEL_HIGH 3>;
0692                                 pinctrl-names = "default";
0693                                 pinctrl-0 = <&pinctrl_spi0>;
0694                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
0695                                 clock-names = "spi_clk";
0696                                 status = "disabled";
0697                         };
0698 
0699                         spi1: spi@fffa8000 {
0700                                 #address-cells = <1>;
0701                                 #size-cells = <0>;
0702                                 compatible = "atmel,at91rm9200-spi";
0703                                 reg = <0xfffa8000 0x200>;
0704                                 interrupts = <15 IRQ_TYPE_LEVEL_HIGH 3>;
0705                                 pinctrl-names = "default";
0706                                 pinctrl-0 = <&pinctrl_spi1>;
0707                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 15>;
0708                                 clock-names = "spi_clk";
0709                                 status = "disabled";
0710                         };
0711 
0712                         pwm0: pwm@fffb8000 {
0713                                 compatible = "atmel,at91sam9rl-pwm";
0714                                 reg = <0xfffb8000 0x300>;
0715                                 interrupts = <20 IRQ_TYPE_LEVEL_HIGH 4>;
0716                                 #pwm-cells = <3>;
0717                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 20>;
0718                                 clock-names = "pwm_clk";
0719                                 status = "disabled";
0720                         };
0721 
0722                         can: can@fffac000 {
0723                                 compatible = "atmel,at91sam9263-can";
0724                                 reg = <0xfffac000 0x300>;
0725                                 interrupts = <12 IRQ_TYPE_LEVEL_HIGH 3>;
0726                                 pinctrl-names = "default";
0727                                 pinctrl-0 = <&pinctrl_can_rx_tx>;
0728                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 12>;
0729                                 clock-names = "can_clk";
0730                         };
0731 
0732                         rtc@fffffd20 {
0733                                 compatible = "atmel,at91sam9260-rtt";
0734                                 reg = <0xfffffd20 0x10>;
0735                                 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
0736                                 clocks = <&slow_xtal>;
0737                                 status = "disabled";
0738                         };
0739 
0740                         rtc@fffffd50 {
0741                                 compatible = "atmel,at91sam9260-rtt";
0742                                 reg = <0xfffffd50 0x10>;
0743                                 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
0744                                 clocks = <&slow_xtal>;
0745                                 status = "disabled";
0746                         };
0747 
0748                         gpbr: syscon@fffffd60 {
0749                                 compatible = "atmel,at91sam9260-gpbr", "syscon";
0750                                 reg = <0xfffffd60 0x50>;
0751                                 status = "disabled";
0752                         };
0753                 };
0754 
0755                 fb0: fb@700000 {
0756                         compatible = "atmel,at91sam9263-lcdc";
0757                         reg = <0x00700000 0x1000>;
0758                         interrupts = <26 IRQ_TYPE_LEVEL_HIGH 3>;
0759                         pinctrl-names = "default";
0760                         pinctrl-0 = <&pinctrl_fb>;
0761                         clocks = <&pmc PMC_TYPE_PERIPHERAL 26>, <&pmc PMC_TYPE_PERIPHERAL 26>;
0762                         clock-names = "lcdc_clk", "hclk";
0763                         status = "disabled";
0764                 };
0765 
0766                 usb0: ohci@a00000 {
0767                         compatible = "atmel,at91rm9200-ohci", "usb-ohci";
0768                         reg = <0x00a00000 0x100000>;
0769                         interrupts = <29 IRQ_TYPE_LEVEL_HIGH 2>;
0770                         clocks = <&pmc PMC_TYPE_PERIPHERAL 29>, <&pmc PMC_TYPE_PERIPHERAL 29>, <&pmc PMC_TYPE_SYSTEM 6>;
0771                         clock-names = "ohci_clk", "hclk", "uhpck";
0772                         status = "disabled";
0773                 };
0774 
0775                 ebi0: ebi@10000000 {
0776                         compatible = "atmel,at91sam9263-ebi0";
0777                         #address-cells = <2>;
0778                         #size-cells = <1>;
0779                         atmel,smc = <&smc0>;
0780                         atmel,matrix = <&matrix>;
0781                         reg = <0x10000000 0x80000000>;
0782                         ranges = <0x0 0x0 0x10000000 0x10000000
0783                                   0x1 0x0 0x20000000 0x10000000
0784                                   0x2 0x0 0x30000000 0x10000000
0785                                   0x3 0x0 0x40000000 0x10000000
0786                                   0x4 0x0 0x50000000 0x10000000
0787                                   0x5 0x0 0x60000000 0x10000000>;
0788                         clocks = <&pmc PMC_TYPE_CORE PMC_MCK>;
0789                         status = "disabled";
0790 
0791                         nand_controller0: nand-controller {
0792                                 compatible = "atmel,at91sam9260-nand-controller";
0793                                 #address-cells = <2>;
0794                                 #size-cells = <1>;
0795                                 ranges;
0796                                 status = "disabled";
0797                         };
0798                 };
0799 
0800                 ebi1: ebi@70000000 {
0801                         compatible = "atmel,at91sam9263-ebi1";
0802                         #address-cells = <2>;
0803                         #size-cells = <1>;
0804                         atmel,smc = <&smc1>;
0805                         atmel,matrix = <&matrix>;
0806                         reg = <0x80000000 0x20000000>;
0807                         ranges = <0x0 0x0 0x80000000 0x10000000
0808                                   0x1 0x0 0x90000000 0x10000000>;
0809                         clocks = <&pmc PMC_TYPE_CORE PMC_MCK>;
0810                         status = "disabled";
0811 
0812                         nand_controller1: nand-controller {
0813                                 compatible = "atmel,at91sam9260-nand-controller";
0814                                 #address-cells = <2>;
0815                                 #size-cells = <1>;
0816                                 ranges;
0817                                 status = "disabled";
0818                         };
0819                 };
0820         };
0821 
0822         i2c-gpio-0 {
0823                 compatible = "i2c-gpio";
0824                 gpios = <&pioB 4 GPIO_ACTIVE_HIGH /* sda */
0825                          &pioB 5 GPIO_ACTIVE_HIGH /* scl */
0826                         >;
0827                 i2c-gpio,sda-open-drain;
0828                 i2c-gpio,scl-open-drain;
0829                 i2c-gpio,delay-us = <2>;        /* ~100 kHz */
0830                 #address-cells = <1>;
0831                 #size-cells = <0>;
0832                 status = "disabled";
0833         };
0834 };