1*4882a593Smuzhiyun/* 2*4882a593Smuzhiyun * at91sam9x5.dtsi - Device Tree Include file for AT91SAM9x5 family SoC 3*4882a593Smuzhiyun * applies to AT91SAM9G15, AT91SAM9G25, AT91SAM9G35, 4*4882a593Smuzhiyun * AT91SAM9X25, AT91SAM9X35 SoC 5*4882a593Smuzhiyun * 6*4882a593Smuzhiyun * Copyright (C) 2012 Atmel, 7*4882a593Smuzhiyun * 2012 Nicolas Ferre <nicolas.ferre@atmel.com> 8*4882a593Smuzhiyun * 9*4882a593Smuzhiyun * Licensed under GPLv2 or later. 10*4882a593Smuzhiyun */ 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun#include "skeleton.dtsi" 13*4882a593Smuzhiyun#include <dt-bindings/dma/at91.h> 14*4882a593Smuzhiyun#include <dt-bindings/pinctrl/at91.h> 15*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/irq.h> 16*4882a593Smuzhiyun#include <dt-bindings/gpio/gpio.h> 17*4882a593Smuzhiyun#include <dt-bindings/clock/at91.h> 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun/ { 20*4882a593Smuzhiyun model = "Atmel AT91SAM9x5 family SoC"; 21*4882a593Smuzhiyun compatible = "atmel,at91sam9x5"; 22*4882a593Smuzhiyun interrupt-parent = <&aic>; 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun aliases { 25*4882a593Smuzhiyun serial0 = &dbgu; 26*4882a593Smuzhiyun serial1 = &usart0; 27*4882a593Smuzhiyun serial2 = &usart1; 28*4882a593Smuzhiyun serial3 = &usart2; 29*4882a593Smuzhiyun gpio0 = &pioA; 30*4882a593Smuzhiyun gpio1 = &pioB; 31*4882a593Smuzhiyun gpio2 = &pioC; 32*4882a593Smuzhiyun gpio3 = &pioD; 33*4882a593Smuzhiyun tcb0 = &tcb0; 34*4882a593Smuzhiyun tcb1 = &tcb1; 35*4882a593Smuzhiyun i2c0 = &i2c0; 36*4882a593Smuzhiyun i2c1 = &i2c1; 37*4882a593Smuzhiyun i2c2 = &i2c2; 38*4882a593Smuzhiyun ssc0 = &ssc0; 39*4882a593Smuzhiyun pwm0 = &pwm0; 40*4882a593Smuzhiyun spi0 = &spi0; 41*4882a593Smuzhiyun }; 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun cpus { 44*4882a593Smuzhiyun #address-cells = <0>; 45*4882a593Smuzhiyun #size-cells = <0>; 46*4882a593Smuzhiyun 47*4882a593Smuzhiyun cpu { 48*4882a593Smuzhiyun compatible = "arm,arm926ej-s"; 49*4882a593Smuzhiyun device_type = "cpu"; 50*4882a593Smuzhiyun }; 51*4882a593Smuzhiyun }; 52*4882a593Smuzhiyun 53*4882a593Smuzhiyun memory { 54*4882a593Smuzhiyun reg = <0x20000000 0x10000000>; 55*4882a593Smuzhiyun }; 56*4882a593Smuzhiyun 57*4882a593Smuzhiyun clocks { 58*4882a593Smuzhiyun slow_xtal: slow_xtal { 59*4882a593Smuzhiyun compatible = "fixed-clock"; 60*4882a593Smuzhiyun #clock-cells = <0>; 61*4882a593Smuzhiyun clock-frequency = <0>; 62*4882a593Smuzhiyun }; 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun main_xtal: main_xtal { 65*4882a593Smuzhiyun compatible = "fixed-clock"; 66*4882a593Smuzhiyun #clock-cells = <0>; 67*4882a593Smuzhiyun clock-frequency = <0>; 68*4882a593Smuzhiyun }; 69*4882a593Smuzhiyun 70*4882a593Smuzhiyun adc_op_clk: adc_op_clk{ 71*4882a593Smuzhiyun compatible = "fixed-clock"; 72*4882a593Smuzhiyun #clock-cells = <0>; 73*4882a593Smuzhiyun clock-frequency = <1000000>; 74*4882a593Smuzhiyun }; 75*4882a593Smuzhiyun }; 76*4882a593Smuzhiyun 77*4882a593Smuzhiyun sram: sram@00300000 { 78*4882a593Smuzhiyun compatible = "mmio-sram"; 79*4882a593Smuzhiyun reg = <0x00300000 0x8000>; 80*4882a593Smuzhiyun }; 81*4882a593Smuzhiyun 82*4882a593Smuzhiyun ahb { 83*4882a593Smuzhiyun compatible = "simple-bus"; 84*4882a593Smuzhiyun #address-cells = <1>; 85*4882a593Smuzhiyun #size-cells = <1>; 86*4882a593Smuzhiyun ranges; 87*4882a593Smuzhiyun u-boot,dm-pre-reloc; 88*4882a593Smuzhiyun 89*4882a593Smuzhiyun apb { 90*4882a593Smuzhiyun compatible = "simple-bus"; 91*4882a593Smuzhiyun #address-cells = <1>; 92*4882a593Smuzhiyun #size-cells = <1>; 93*4882a593Smuzhiyun ranges; 94*4882a593Smuzhiyun u-boot,dm-pre-reloc; 95*4882a593Smuzhiyun 96*4882a593Smuzhiyun aic: interrupt-controller@fffff000 { 97*4882a593Smuzhiyun #interrupt-cells = <3>; 98*4882a593Smuzhiyun compatible = "atmel,at91rm9200-aic"; 99*4882a593Smuzhiyun interrupt-controller; 100*4882a593Smuzhiyun reg = <0xfffff000 0x200>; 101*4882a593Smuzhiyun atmel,external-irqs = <31>; 102*4882a593Smuzhiyun }; 103*4882a593Smuzhiyun 104*4882a593Smuzhiyun ramc0: ramc@ffffe800 { 105*4882a593Smuzhiyun compatible = "atmel,at91sam9g45-ddramc"; 106*4882a593Smuzhiyun reg = <0xffffe800 0x200>; 107*4882a593Smuzhiyun clocks = <&ddrck>; 108*4882a593Smuzhiyun clock-names = "ddrck"; 109*4882a593Smuzhiyun }; 110*4882a593Smuzhiyun 111*4882a593Smuzhiyun pmc: pmc@fffffc00 { 112*4882a593Smuzhiyun compatible = "atmel,at91sam9x5-pmc", "syscon"; 113*4882a593Smuzhiyun reg = <0xfffffc00 0x200>; 114*4882a593Smuzhiyun interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; 115*4882a593Smuzhiyun interrupt-controller; 116*4882a593Smuzhiyun #address-cells = <1>; 117*4882a593Smuzhiyun #size-cells = <0>; 118*4882a593Smuzhiyun #interrupt-cells = <1>; 119*4882a593Smuzhiyun u-boot,dm-pre-reloc; 120*4882a593Smuzhiyun 121*4882a593Smuzhiyun main_rc_osc: main_rc_osc { 122*4882a593Smuzhiyun compatible = "atmel,at91sam9x5-clk-main-rc-osc"; 123*4882a593Smuzhiyun #clock-cells = <0>; 124*4882a593Smuzhiyun interrupts-extended = <&pmc AT91_PMC_MOSCRCS>; 125*4882a593Smuzhiyun clock-frequency = <12000000>; 126*4882a593Smuzhiyun clock-accuracy = <50000000>; 127*4882a593Smuzhiyun }; 128*4882a593Smuzhiyun 129*4882a593Smuzhiyun main_osc: main_osc { 130*4882a593Smuzhiyun compatible = "atmel,at91rm9200-clk-main-osc"; 131*4882a593Smuzhiyun #clock-cells = <0>; 132*4882a593Smuzhiyun interrupts-extended = <&pmc AT91_PMC_MOSCS>; 133*4882a593Smuzhiyun clocks = <&main_xtal>; 134*4882a593Smuzhiyun }; 135*4882a593Smuzhiyun 136*4882a593Smuzhiyun main: mainck { 137*4882a593Smuzhiyun compatible = "atmel,at91sam9x5-clk-main"; 138*4882a593Smuzhiyun #clock-cells = <0>; 139*4882a593Smuzhiyun interrupts-extended = <&pmc AT91_PMC_MOSCSELS>; 140*4882a593Smuzhiyun clocks = <&main_rc_osc>, <&main_osc>; 141*4882a593Smuzhiyun }; 142*4882a593Smuzhiyun 143*4882a593Smuzhiyun plla: pllack@0 { 144*4882a593Smuzhiyun compatible = "atmel,at91rm9200-clk-pll"; 145*4882a593Smuzhiyun #clock-cells = <0>; 146*4882a593Smuzhiyun interrupts-extended = <&pmc AT91_PMC_LOCKA>; 147*4882a593Smuzhiyun clocks = <&main>; 148*4882a593Smuzhiyun reg = <0>; 149*4882a593Smuzhiyun atmel,clk-input-range = <2000000 32000000>; 150*4882a593Smuzhiyun #atmel,pll-clk-output-range-cells = <4>; 151*4882a593Smuzhiyun atmel,pll-clk-output-ranges = <745000000 800000000 0 0 152*4882a593Smuzhiyun 695000000 750000000 1 0 153*4882a593Smuzhiyun 645000000 700000000 2 0 154*4882a593Smuzhiyun 595000000 650000000 3 0 155*4882a593Smuzhiyun 545000000 600000000 0 1 156*4882a593Smuzhiyun 495000000 555000000 1 1 157*4882a593Smuzhiyun 445000000 500000000 2 1 158*4882a593Smuzhiyun 400000000 450000000 3 1>; 159*4882a593Smuzhiyun }; 160*4882a593Smuzhiyun 161*4882a593Smuzhiyun plladiv: plladivck { 162*4882a593Smuzhiyun compatible = "atmel,at91sam9x5-clk-plldiv"; 163*4882a593Smuzhiyun #clock-cells = <0>; 164*4882a593Smuzhiyun clocks = <&plla>; 165*4882a593Smuzhiyun }; 166*4882a593Smuzhiyun 167*4882a593Smuzhiyun utmi: utmick { 168*4882a593Smuzhiyun compatible = "atmel,at91sam9x5-clk-utmi"; 169*4882a593Smuzhiyun #clock-cells = <0>; 170*4882a593Smuzhiyun interrupts-extended = <&pmc AT91_PMC_LOCKU>; 171*4882a593Smuzhiyun clocks = <&main>; 172*4882a593Smuzhiyun }; 173*4882a593Smuzhiyun 174*4882a593Smuzhiyun mck: masterck { 175*4882a593Smuzhiyun compatible = "atmel,at91sam9x5-clk-master"; 176*4882a593Smuzhiyun #clock-cells = <0>; 177*4882a593Smuzhiyun interrupts-extended = <&pmc AT91_PMC_MCKRDY>; 178*4882a593Smuzhiyun clocks = <&clk32k>, <&main>, <&plladiv>, <&utmi>; 179*4882a593Smuzhiyun atmel,clk-output-range = <0 133333333>; 180*4882a593Smuzhiyun atmel,clk-divisors = <1 2 4 3>; 181*4882a593Smuzhiyun atmel,master-clk-have-div3-pres; 182*4882a593Smuzhiyun u-boot,dm-pre-reloc; 183*4882a593Smuzhiyun 184*4882a593Smuzhiyun }; 185*4882a593Smuzhiyun 186*4882a593Smuzhiyun usb: usbck { 187*4882a593Smuzhiyun compatible = "atmel,at91sam9x5-clk-usb"; 188*4882a593Smuzhiyun #clock-cells = <0>; 189*4882a593Smuzhiyun clocks = <&plladiv>, <&utmi>; 190*4882a593Smuzhiyun }; 191*4882a593Smuzhiyun 192*4882a593Smuzhiyun prog: progck { 193*4882a593Smuzhiyun compatible = "atmel,at91sam9x5-clk-programmable"; 194*4882a593Smuzhiyun #address-cells = <1>; 195*4882a593Smuzhiyun #size-cells = <0>; 196*4882a593Smuzhiyun interrupt-parent = <&pmc>; 197*4882a593Smuzhiyun clocks = <&clk32k>, <&main>, <&plladiv>, <&utmi>, <&mck>; 198*4882a593Smuzhiyun 199*4882a593Smuzhiyun prog0: prog@0 { 200*4882a593Smuzhiyun #clock-cells = <0>; 201*4882a593Smuzhiyun reg = <0>; 202*4882a593Smuzhiyun interrupts = <AT91_PMC_PCKRDY(0)>; 203*4882a593Smuzhiyun }; 204*4882a593Smuzhiyun 205*4882a593Smuzhiyun prog1: prog@1 { 206*4882a593Smuzhiyun #clock-cells = <0>; 207*4882a593Smuzhiyun reg = <1>; 208*4882a593Smuzhiyun interrupts = <AT91_PMC_PCKRDY(1)>; 209*4882a593Smuzhiyun }; 210*4882a593Smuzhiyun }; 211*4882a593Smuzhiyun 212*4882a593Smuzhiyun smd: smdclk { 213*4882a593Smuzhiyun compatible = "atmel,at91sam9x5-clk-smd"; 214*4882a593Smuzhiyun #clock-cells = <0>; 215*4882a593Smuzhiyun clocks = <&plladiv>, <&utmi>; 216*4882a593Smuzhiyun }; 217*4882a593Smuzhiyun 218*4882a593Smuzhiyun systemck { 219*4882a593Smuzhiyun compatible = "atmel,at91rm9200-clk-system"; 220*4882a593Smuzhiyun #address-cells = <1>; 221*4882a593Smuzhiyun #size-cells = <0>; 222*4882a593Smuzhiyun 223*4882a593Smuzhiyun ddrck: ddrck@2 { 224*4882a593Smuzhiyun #clock-cells = <0>; 225*4882a593Smuzhiyun reg = <2>; 226*4882a593Smuzhiyun clocks = <&mck>; 227*4882a593Smuzhiyun }; 228*4882a593Smuzhiyun 229*4882a593Smuzhiyun smdck: smdck@4 { 230*4882a593Smuzhiyun #clock-cells = <0>; 231*4882a593Smuzhiyun reg = <4>; 232*4882a593Smuzhiyun clocks = <&smd>; 233*4882a593Smuzhiyun }; 234*4882a593Smuzhiyun 235*4882a593Smuzhiyun uhpck: uhpck@6 { 236*4882a593Smuzhiyun #clock-cells = <0>; 237*4882a593Smuzhiyun reg = <6>; 238*4882a593Smuzhiyun clocks = <&usb>; 239*4882a593Smuzhiyun }; 240*4882a593Smuzhiyun 241*4882a593Smuzhiyun udpck: udpck@7 { 242*4882a593Smuzhiyun #clock-cells = <0>; 243*4882a593Smuzhiyun reg = <7>; 244*4882a593Smuzhiyun clocks = <&usb>; 245*4882a593Smuzhiyun }; 246*4882a593Smuzhiyun 247*4882a593Smuzhiyun pck0: pck0@8 { 248*4882a593Smuzhiyun #clock-cells = <0>; 249*4882a593Smuzhiyun reg = <8>; 250*4882a593Smuzhiyun clocks = <&prog0>; 251*4882a593Smuzhiyun }; 252*4882a593Smuzhiyun 253*4882a593Smuzhiyun pck1: pck1@9 { 254*4882a593Smuzhiyun #clock-cells = <0>; 255*4882a593Smuzhiyun reg = <9>; 256*4882a593Smuzhiyun clocks = <&prog1>; 257*4882a593Smuzhiyun }; 258*4882a593Smuzhiyun }; 259*4882a593Smuzhiyun 260*4882a593Smuzhiyun periphck { 261*4882a593Smuzhiyun compatible = "atmel,at91sam9x5-clk-peripheral"; 262*4882a593Smuzhiyun #address-cells = <1>; 263*4882a593Smuzhiyun #size-cells = <0>; 264*4882a593Smuzhiyun clocks = <&mck>; 265*4882a593Smuzhiyun u-boot,dm-pre-reloc; 266*4882a593Smuzhiyun 267*4882a593Smuzhiyun 268*4882a593Smuzhiyun pioAB_clk: pioAB_clk@2 { 269*4882a593Smuzhiyun #clock-cells = <0>; 270*4882a593Smuzhiyun reg = <2>; 271*4882a593Smuzhiyun }; 272*4882a593Smuzhiyun 273*4882a593Smuzhiyun pioCD_clk: pioCD_clk@3 { 274*4882a593Smuzhiyun #clock-cells = <0>; 275*4882a593Smuzhiyun reg = <3>; 276*4882a593Smuzhiyun }; 277*4882a593Smuzhiyun 278*4882a593Smuzhiyun smd_clk: smd_clk@4 { 279*4882a593Smuzhiyun #clock-cells = <0>; 280*4882a593Smuzhiyun reg = <4>; 281*4882a593Smuzhiyun }; 282*4882a593Smuzhiyun 283*4882a593Smuzhiyun usart0_clk: usart0_clk@5 { 284*4882a593Smuzhiyun #clock-cells = <0>; 285*4882a593Smuzhiyun reg = <5>; 286*4882a593Smuzhiyun }; 287*4882a593Smuzhiyun 288*4882a593Smuzhiyun usart1_clk: usart1_clk@6 { 289*4882a593Smuzhiyun #clock-cells = <0>; 290*4882a593Smuzhiyun reg = <6>; 291*4882a593Smuzhiyun }; 292*4882a593Smuzhiyun 293*4882a593Smuzhiyun usart2_clk: usart2_clk@7 { 294*4882a593Smuzhiyun #clock-cells = <0>; 295*4882a593Smuzhiyun reg = <7>; 296*4882a593Smuzhiyun }; 297*4882a593Smuzhiyun 298*4882a593Smuzhiyun twi0_clk: twi0_clk@9 { 299*4882a593Smuzhiyun reg = <9>; 300*4882a593Smuzhiyun #clock-cells = <0>; 301*4882a593Smuzhiyun }; 302*4882a593Smuzhiyun 303*4882a593Smuzhiyun twi1_clk: twi1_clk@10 { 304*4882a593Smuzhiyun #clock-cells = <0>; 305*4882a593Smuzhiyun reg = <10>; 306*4882a593Smuzhiyun }; 307*4882a593Smuzhiyun 308*4882a593Smuzhiyun twi2_clk: twi2_clk@11 { 309*4882a593Smuzhiyun #clock-cells = <0>; 310*4882a593Smuzhiyun reg = <11>; 311*4882a593Smuzhiyun }; 312*4882a593Smuzhiyun 313*4882a593Smuzhiyun mci0_clk: mci0_clk@12 { 314*4882a593Smuzhiyun #clock-cells = <0>; 315*4882a593Smuzhiyun reg = <12>; 316*4882a593Smuzhiyun }; 317*4882a593Smuzhiyun 318*4882a593Smuzhiyun spi0_clk: spi0_clk@13 { 319*4882a593Smuzhiyun #clock-cells = <0>; 320*4882a593Smuzhiyun reg = <13>; 321*4882a593Smuzhiyun }; 322*4882a593Smuzhiyun 323*4882a593Smuzhiyun spi1_clk: spi1_clk@14 { 324*4882a593Smuzhiyun #clock-cells = <0>; 325*4882a593Smuzhiyun reg = <14>; 326*4882a593Smuzhiyun }; 327*4882a593Smuzhiyun 328*4882a593Smuzhiyun uart0_clk: uart0_clk@15 { 329*4882a593Smuzhiyun #clock-cells = <0>; 330*4882a593Smuzhiyun reg = <15>; 331*4882a593Smuzhiyun }; 332*4882a593Smuzhiyun 333*4882a593Smuzhiyun uart1_clk: uart1_clk@16 { 334*4882a593Smuzhiyun #clock-cells = <0>; 335*4882a593Smuzhiyun reg = <16>; 336*4882a593Smuzhiyun }; 337*4882a593Smuzhiyun 338*4882a593Smuzhiyun tcb0_clk: tcb0_clk@17 { 339*4882a593Smuzhiyun #clock-cells = <0>; 340*4882a593Smuzhiyun reg = <17>; 341*4882a593Smuzhiyun }; 342*4882a593Smuzhiyun 343*4882a593Smuzhiyun pwm_clk: pwm_clk@18 { 344*4882a593Smuzhiyun #clock-cells = <0>; 345*4882a593Smuzhiyun reg = <18>; 346*4882a593Smuzhiyun }; 347*4882a593Smuzhiyun 348*4882a593Smuzhiyun adc_clk: adc_clk@19 { 349*4882a593Smuzhiyun #clock-cells = <0>; 350*4882a593Smuzhiyun reg = <19>; 351*4882a593Smuzhiyun }; 352*4882a593Smuzhiyun 353*4882a593Smuzhiyun dma0_clk: dma0_clk@20 { 354*4882a593Smuzhiyun #clock-cells = <0>; 355*4882a593Smuzhiyun reg = <20>; 356*4882a593Smuzhiyun }; 357*4882a593Smuzhiyun 358*4882a593Smuzhiyun dma1_clk: dma1_clk@21 { 359*4882a593Smuzhiyun #clock-cells = <0>; 360*4882a593Smuzhiyun reg = <21>; 361*4882a593Smuzhiyun }; 362*4882a593Smuzhiyun 363*4882a593Smuzhiyun uhphs_clk: uhphs_clk@22 { 364*4882a593Smuzhiyun #clock-cells = <0>; 365*4882a593Smuzhiyun reg = <22>; 366*4882a593Smuzhiyun }; 367*4882a593Smuzhiyun 368*4882a593Smuzhiyun udphs_clk: udphs_clk@23 { 369*4882a593Smuzhiyun #clock-cells = <0>; 370*4882a593Smuzhiyun reg = <23>; 371*4882a593Smuzhiyun }; 372*4882a593Smuzhiyun 373*4882a593Smuzhiyun mci1_clk: mci1_clk@26 { 374*4882a593Smuzhiyun #clock-cells = <0>; 375*4882a593Smuzhiyun reg = <26>; 376*4882a593Smuzhiyun }; 377*4882a593Smuzhiyun 378*4882a593Smuzhiyun ssc0_clk: ssc0_clk@28 { 379*4882a593Smuzhiyun #clock-cells = <0>; 380*4882a593Smuzhiyun reg = <28>; 381*4882a593Smuzhiyun }; 382*4882a593Smuzhiyun }; 383*4882a593Smuzhiyun }; 384*4882a593Smuzhiyun 385*4882a593Smuzhiyun rstc@fffffe00 { 386*4882a593Smuzhiyun compatible = "atmel,at91sam9g45-rstc"; 387*4882a593Smuzhiyun reg = <0xfffffe00 0x10>; 388*4882a593Smuzhiyun clocks = <&clk32k>; 389*4882a593Smuzhiyun }; 390*4882a593Smuzhiyun 391*4882a593Smuzhiyun shdwc@fffffe10 { 392*4882a593Smuzhiyun compatible = "atmel,at91sam9x5-shdwc"; 393*4882a593Smuzhiyun reg = <0xfffffe10 0x10>; 394*4882a593Smuzhiyun clocks = <&clk32k>; 395*4882a593Smuzhiyun }; 396*4882a593Smuzhiyun 397*4882a593Smuzhiyun pit: timer@fffffe30 { 398*4882a593Smuzhiyun compatible = "atmel,at91sam9260-pit"; 399*4882a593Smuzhiyun reg = <0xfffffe30 0xf>; 400*4882a593Smuzhiyun interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; 401*4882a593Smuzhiyun clocks = <&mck>; 402*4882a593Smuzhiyun }; 403*4882a593Smuzhiyun 404*4882a593Smuzhiyun sckc@fffffe50 { 405*4882a593Smuzhiyun compatible = "atmel,at91sam9x5-sckc"; 406*4882a593Smuzhiyun reg = <0xfffffe50 0x4>; 407*4882a593Smuzhiyun 408*4882a593Smuzhiyun slow_osc: slow_osc { 409*4882a593Smuzhiyun compatible = "atmel,at91sam9x5-clk-slow-osc"; 410*4882a593Smuzhiyun #clock-cells = <0>; 411*4882a593Smuzhiyun clocks = <&slow_xtal>; 412*4882a593Smuzhiyun }; 413*4882a593Smuzhiyun 414*4882a593Smuzhiyun slow_rc_osc: slow_rc_osc { 415*4882a593Smuzhiyun compatible = "atmel,at91sam9x5-clk-slow-rc-osc"; 416*4882a593Smuzhiyun #clock-cells = <0>; 417*4882a593Smuzhiyun clock-frequency = <32768>; 418*4882a593Smuzhiyun clock-accuracy = <50000000>; 419*4882a593Smuzhiyun }; 420*4882a593Smuzhiyun 421*4882a593Smuzhiyun clk32k: slck { 422*4882a593Smuzhiyun compatible = "atmel,at91sam9x5-clk-slow"; 423*4882a593Smuzhiyun #clock-cells = <0>; 424*4882a593Smuzhiyun clocks = <&slow_rc_osc>, <&slow_osc>; 425*4882a593Smuzhiyun }; 426*4882a593Smuzhiyun }; 427*4882a593Smuzhiyun 428*4882a593Smuzhiyun tcb0: timer@f8008000 { 429*4882a593Smuzhiyun compatible = "atmel,at91sam9x5-tcb"; 430*4882a593Smuzhiyun reg = <0xf8008000 0x100>; 431*4882a593Smuzhiyun interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0>; 432*4882a593Smuzhiyun clocks = <&tcb0_clk>, <&clk32k>; 433*4882a593Smuzhiyun clock-names = "t0_clk", "slow_clk"; 434*4882a593Smuzhiyun }; 435*4882a593Smuzhiyun 436*4882a593Smuzhiyun tcb1: timer@f800c000 { 437*4882a593Smuzhiyun compatible = "atmel,at91sam9x5-tcb"; 438*4882a593Smuzhiyun reg = <0xf800c000 0x100>; 439*4882a593Smuzhiyun interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0>; 440*4882a593Smuzhiyun clocks = <&tcb0_clk>, <&clk32k>; 441*4882a593Smuzhiyun clock-names = "t0_clk", "slow_clk"; 442*4882a593Smuzhiyun }; 443*4882a593Smuzhiyun 444*4882a593Smuzhiyun dma0: dma-controller@ffffec00 { 445*4882a593Smuzhiyun compatible = "atmel,at91sam9g45-dma"; 446*4882a593Smuzhiyun reg = <0xffffec00 0x200>; 447*4882a593Smuzhiyun interrupts = <20 IRQ_TYPE_LEVEL_HIGH 0>; 448*4882a593Smuzhiyun #dma-cells = <2>; 449*4882a593Smuzhiyun clocks = <&dma0_clk>; 450*4882a593Smuzhiyun clock-names = "dma_clk"; 451*4882a593Smuzhiyun }; 452*4882a593Smuzhiyun 453*4882a593Smuzhiyun dma1: dma-controller@ffffee00 { 454*4882a593Smuzhiyun compatible = "atmel,at91sam9g45-dma"; 455*4882a593Smuzhiyun reg = <0xffffee00 0x200>; 456*4882a593Smuzhiyun interrupts = <21 IRQ_TYPE_LEVEL_HIGH 0>; 457*4882a593Smuzhiyun #dma-cells = <2>; 458*4882a593Smuzhiyun clocks = <&dma1_clk>; 459*4882a593Smuzhiyun clock-names = "dma_clk"; 460*4882a593Smuzhiyun }; 461*4882a593Smuzhiyun 462*4882a593Smuzhiyun pinctrl@fffff400 { 463*4882a593Smuzhiyun #address-cells = <1>; 464*4882a593Smuzhiyun #size-cells = <1>; 465*4882a593Smuzhiyun compatible = "atmel,at91sam9x5-pinctrl", "atmel,at91rm9200-pinctrl", "simple-bus"; 466*4882a593Smuzhiyun ranges = <0xfffff400 0xfffff400 0x800>; 467*4882a593Smuzhiyun reg = <0xfffff400 0x200 /* pioA */ 468*4882a593Smuzhiyun 0xfffff600 0x200 /* pioB */ 469*4882a593Smuzhiyun 0xfffff800 0x200 /* pioC */ 470*4882a593Smuzhiyun 0xfffffa00 0x200 /* pioD */ 471*4882a593Smuzhiyun >; 472*4882a593Smuzhiyun u-boot,dm-pre-reloc; 473*4882a593Smuzhiyun 474*4882a593Smuzhiyun 475*4882a593Smuzhiyun /* shared pinctrl settings */ 476*4882a593Smuzhiyun dbgu { 477*4882a593Smuzhiyun u-boot,dm-pre-reloc; 478*4882a593Smuzhiyun pinctrl_dbgu: dbgu-0 { 479*4882a593Smuzhiyun atmel,pins = 480*4882a593Smuzhiyun <AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP 481*4882a593Smuzhiyun AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_NONE>; 482*4882a593Smuzhiyun }; 483*4882a593Smuzhiyun }; 484*4882a593Smuzhiyun 485*4882a593Smuzhiyun usart0 { 486*4882a593Smuzhiyun pinctrl_usart0: usart0-0 { 487*4882a593Smuzhiyun atmel,pins = 488*4882a593Smuzhiyun <AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA0 periph A with pullup */ 489*4882a593Smuzhiyun AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA1 periph A */ 490*4882a593Smuzhiyun }; 491*4882a593Smuzhiyun 492*4882a593Smuzhiyun pinctrl_usart0_rts: usart0_rts-0 { 493*4882a593Smuzhiyun atmel,pins = 494*4882a593Smuzhiyun <AT91_PIOA 2 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA2 periph A */ 495*4882a593Smuzhiyun }; 496*4882a593Smuzhiyun 497*4882a593Smuzhiyun pinctrl_usart0_cts: usart0_cts-0 { 498*4882a593Smuzhiyun atmel,pins = 499*4882a593Smuzhiyun <AT91_PIOA 3 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA3 periph A */ 500*4882a593Smuzhiyun }; 501*4882a593Smuzhiyun 502*4882a593Smuzhiyun pinctrl_usart0_sck: usart0_sck-0 { 503*4882a593Smuzhiyun atmel,pins = 504*4882a593Smuzhiyun <AT91_PIOA 4 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA4 periph A */ 505*4882a593Smuzhiyun }; 506*4882a593Smuzhiyun }; 507*4882a593Smuzhiyun 508*4882a593Smuzhiyun usart1 { 509*4882a593Smuzhiyun pinctrl_usart1: usart1-0 { 510*4882a593Smuzhiyun atmel,pins = 511*4882a593Smuzhiyun <AT91_PIOA 5 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA5 periph A with pullup */ 512*4882a593Smuzhiyun AT91_PIOA 6 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA6 periph A */ 513*4882a593Smuzhiyun }; 514*4882a593Smuzhiyun 515*4882a593Smuzhiyun pinctrl_usart1_rts: usart1_rts-0 { 516*4882a593Smuzhiyun atmel,pins = 517*4882a593Smuzhiyun <AT91_PIOC 27 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* PC27 periph C */ 518*4882a593Smuzhiyun }; 519*4882a593Smuzhiyun 520*4882a593Smuzhiyun pinctrl_usart1_cts: usart1_cts-0 { 521*4882a593Smuzhiyun atmel,pins = 522*4882a593Smuzhiyun <AT91_PIOC 28 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* PC28 periph C */ 523*4882a593Smuzhiyun }; 524*4882a593Smuzhiyun 525*4882a593Smuzhiyun pinctrl_usart1_sck: usart1_sck-0 { 526*4882a593Smuzhiyun atmel,pins = 527*4882a593Smuzhiyun <AT91_PIOC 29 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* PC29 periph C */ 528*4882a593Smuzhiyun }; 529*4882a593Smuzhiyun }; 530*4882a593Smuzhiyun 531*4882a593Smuzhiyun usart2 { 532*4882a593Smuzhiyun pinctrl_usart2: usart2-0 { 533*4882a593Smuzhiyun atmel,pins = 534*4882a593Smuzhiyun <AT91_PIOA 7 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA7 periph A with pullup */ 535*4882a593Smuzhiyun AT91_PIOA 8 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA8 periph A */ 536*4882a593Smuzhiyun }; 537*4882a593Smuzhiyun 538*4882a593Smuzhiyun pinctrl_usart2_rts: usart2_rts-0 { 539*4882a593Smuzhiyun atmel,pins = 540*4882a593Smuzhiyun <AT91_PIOB 0 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PB0 periph B */ 541*4882a593Smuzhiyun }; 542*4882a593Smuzhiyun 543*4882a593Smuzhiyun pinctrl_usart2_cts: usart2_cts-0 { 544*4882a593Smuzhiyun atmel,pins = 545*4882a593Smuzhiyun <AT91_PIOB 1 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PB1 periph B */ 546*4882a593Smuzhiyun }; 547*4882a593Smuzhiyun 548*4882a593Smuzhiyun pinctrl_usart2_sck: usart2_sck-0 { 549*4882a593Smuzhiyun atmel,pins = 550*4882a593Smuzhiyun <AT91_PIOB 2 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PB2 periph B */ 551*4882a593Smuzhiyun }; 552*4882a593Smuzhiyun }; 553*4882a593Smuzhiyun 554*4882a593Smuzhiyun uart0 { 555*4882a593Smuzhiyun pinctrl_uart0: uart0-0 { 556*4882a593Smuzhiyun atmel,pins = 557*4882a593Smuzhiyun <AT91_PIOC 8 AT91_PERIPH_C AT91_PINCTRL_NONE /* PC8 periph C */ 558*4882a593Smuzhiyun AT91_PIOC 9 AT91_PERIPH_C AT91_PINCTRL_PULL_UP>; /* PC9 periph C with pullup */ 559*4882a593Smuzhiyun }; 560*4882a593Smuzhiyun }; 561*4882a593Smuzhiyun 562*4882a593Smuzhiyun uart1 { 563*4882a593Smuzhiyun pinctrl_uart1: uart1-0 { 564*4882a593Smuzhiyun atmel,pins = 565*4882a593Smuzhiyun <AT91_PIOC 16 AT91_PERIPH_C AT91_PINCTRL_NONE /* PC16 periph C */ 566*4882a593Smuzhiyun AT91_PIOC 17 AT91_PERIPH_C AT91_PINCTRL_PULL_UP>; /* PC17 periph C with pullup */ 567*4882a593Smuzhiyun }; 568*4882a593Smuzhiyun }; 569*4882a593Smuzhiyun 570*4882a593Smuzhiyun nand { 571*4882a593Smuzhiyun pinctrl_nand: nand-0 { 572*4882a593Smuzhiyun atmel,pins = 573*4882a593Smuzhiyun <AT91_PIOD 0 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD0 periph A Read Enable */ 574*4882a593Smuzhiyun AT91_PIOD 1 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD1 periph A Write Enable */ 575*4882a593Smuzhiyun AT91_PIOD 2 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD2 periph A Address Latch Enable */ 576*4882a593Smuzhiyun AT91_PIOD 3 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD3 periph A Command Latch Enable */ 577*4882a593Smuzhiyun AT91_PIOD 4 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP /* PD4 gpio Chip Enable pin pull_up */ 578*4882a593Smuzhiyun AT91_PIOD 5 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP /* PD5 gpio RDY/BUSY pin pull_up */ 579*4882a593Smuzhiyun AT91_PIOD 6 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD6 periph A Data bit 0 */ 580*4882a593Smuzhiyun AT91_PIOD 7 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD7 periph A Data bit 1 */ 581*4882a593Smuzhiyun AT91_PIOD 8 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD8 periph A Data bit 2 */ 582*4882a593Smuzhiyun AT91_PIOD 9 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD9 periph A Data bit 3 */ 583*4882a593Smuzhiyun AT91_PIOD 10 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD10 periph A Data bit 4 */ 584*4882a593Smuzhiyun AT91_PIOD 11 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD11 periph A Data bit 5 */ 585*4882a593Smuzhiyun AT91_PIOD 12 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD12 periph A Data bit 6 */ 586*4882a593Smuzhiyun AT91_PIOD 13 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD13 periph A Data bit 7 */ 587*4882a593Smuzhiyun }; 588*4882a593Smuzhiyun 589*4882a593Smuzhiyun pinctrl_nand_16bits: nand_16bits-0 { 590*4882a593Smuzhiyun atmel,pins = 591*4882a593Smuzhiyun <AT91_PIOD 14 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD14 periph A Data bit 8 */ 592*4882a593Smuzhiyun AT91_PIOD 15 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD15 periph A Data bit 9 */ 593*4882a593Smuzhiyun AT91_PIOD 16 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD16 periph A Data bit 10 */ 594*4882a593Smuzhiyun AT91_PIOD 17 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD17 periph A Data bit 11 */ 595*4882a593Smuzhiyun AT91_PIOD 18 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD18 periph A Data bit 12 */ 596*4882a593Smuzhiyun AT91_PIOD 19 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD19 periph A Data bit 13 */ 597*4882a593Smuzhiyun AT91_PIOD 20 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD20 periph A Data bit 14 */ 598*4882a593Smuzhiyun AT91_PIOD 21 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD21 periph A Data bit 15 */ 599*4882a593Smuzhiyun }; 600*4882a593Smuzhiyun }; 601*4882a593Smuzhiyun 602*4882a593Smuzhiyun mmc0 { 603*4882a593Smuzhiyun pinctrl_mmc0_slot0_clk_cmd_dat0: mmc0_slot0_clk_cmd_dat0-0 { 604*4882a593Smuzhiyun atmel,pins = 605*4882a593Smuzhiyun <AT91_PIOA 17 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA17 periph A */ 606*4882a593Smuzhiyun AT91_PIOA 16 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA16 periph A with pullup */ 607*4882a593Smuzhiyun AT91_PIOA 15 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PA15 periph A with pullup */ 608*4882a593Smuzhiyun }; 609*4882a593Smuzhiyun 610*4882a593Smuzhiyun pinctrl_mmc0_slot0_dat1_3: mmc0_slot0_dat1_3-0 { 611*4882a593Smuzhiyun atmel,pins = 612*4882a593Smuzhiyun <AT91_PIOA 18 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA18 periph A with pullup */ 613*4882a593Smuzhiyun AT91_PIOA 19 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA19 periph A with pullup */ 614*4882a593Smuzhiyun AT91_PIOA 20 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PA20 periph A with pullup */ 615*4882a593Smuzhiyun }; 616*4882a593Smuzhiyun }; 617*4882a593Smuzhiyun 618*4882a593Smuzhiyun mmc1 { 619*4882a593Smuzhiyun pinctrl_mmc1_slot0_clk_cmd_dat0: mmc1_slot0_clk_cmd_dat0-0 { 620*4882a593Smuzhiyun atmel,pins = 621*4882a593Smuzhiyun <AT91_PIOA 13 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA13 periph B */ 622*4882a593Smuzhiyun AT91_PIOA 12 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* PA12 periph B with pullup */ 623*4882a593Smuzhiyun AT91_PIOA 11 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>; /* PA11 periph B with pullup */ 624*4882a593Smuzhiyun }; 625*4882a593Smuzhiyun 626*4882a593Smuzhiyun pinctrl_mmc1_slot0_dat1_3: mmc1_slot0_dat1_3-0 { 627*4882a593Smuzhiyun atmel,pins = 628*4882a593Smuzhiyun <AT91_PIOA 2 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* PA2 periph B with pullup */ 629*4882a593Smuzhiyun AT91_PIOA 3 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* PA3 periph B with pullup */ 630*4882a593Smuzhiyun AT91_PIOA 4 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>; /* PA4 periph B with pullup */ 631*4882a593Smuzhiyun }; 632*4882a593Smuzhiyun }; 633*4882a593Smuzhiyun 634*4882a593Smuzhiyun ssc0 { 635*4882a593Smuzhiyun pinctrl_ssc0_tx: ssc0_tx-0 { 636*4882a593Smuzhiyun atmel,pins = 637*4882a593Smuzhiyun <AT91_PIOA 24 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA24 periph B */ 638*4882a593Smuzhiyun AT91_PIOA 25 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA25 periph B */ 639*4882a593Smuzhiyun AT91_PIOA 26 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PA26 periph B */ 640*4882a593Smuzhiyun }; 641*4882a593Smuzhiyun 642*4882a593Smuzhiyun pinctrl_ssc0_rx: ssc0_rx-0 { 643*4882a593Smuzhiyun atmel,pins = 644*4882a593Smuzhiyun <AT91_PIOA 27 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA27 periph B */ 645*4882a593Smuzhiyun AT91_PIOA 28 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA28 periph B */ 646*4882a593Smuzhiyun AT91_PIOA 29 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PA29 periph B */ 647*4882a593Smuzhiyun }; 648*4882a593Smuzhiyun }; 649*4882a593Smuzhiyun 650*4882a593Smuzhiyun spi0 { 651*4882a593Smuzhiyun pinctrl_spi0: spi0-0 { 652*4882a593Smuzhiyun atmel,pins = 653*4882a593Smuzhiyun <AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA11 periph A SPI0_MISO pin */ 654*4882a593Smuzhiyun AT91_PIOA 12 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA12 periph A SPI0_MOSI pin */ 655*4882a593Smuzhiyun AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA13 periph A SPI0_SPCK pin */ 656*4882a593Smuzhiyun }; 657*4882a593Smuzhiyun }; 658*4882a593Smuzhiyun 659*4882a593Smuzhiyun spi1 { 660*4882a593Smuzhiyun pinctrl_spi1: spi1-0 { 661*4882a593Smuzhiyun atmel,pins = 662*4882a593Smuzhiyun <AT91_PIOA 21 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA21 periph B SPI1_MISO pin */ 663*4882a593Smuzhiyun AT91_PIOA 22 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA22 periph B SPI1_MOSI pin */ 664*4882a593Smuzhiyun AT91_PIOA 23 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PA23 periph B SPI1_SPCK pin */ 665*4882a593Smuzhiyun }; 666*4882a593Smuzhiyun }; 667*4882a593Smuzhiyun 668*4882a593Smuzhiyun i2c0 { 669*4882a593Smuzhiyun pinctrl_i2c0: i2c0-0 { 670*4882a593Smuzhiyun atmel,pins = 671*4882a593Smuzhiyun <AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA30 periph A I2C0 data */ 672*4882a593Smuzhiyun AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA31 periph A I2C0 clock */ 673*4882a593Smuzhiyun }; 674*4882a593Smuzhiyun }; 675*4882a593Smuzhiyun 676*4882a593Smuzhiyun i2c1 { 677*4882a593Smuzhiyun pinctrl_i2c1: i2c1-0 { 678*4882a593Smuzhiyun atmel,pins = 679*4882a593Smuzhiyun <AT91_PIOC 0 AT91_PERIPH_C AT91_PINCTRL_NONE /* PC0 periph C I2C1 data */ 680*4882a593Smuzhiyun AT91_PIOC 1 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* PC1 periph C I2C1 clock */ 681*4882a593Smuzhiyun }; 682*4882a593Smuzhiyun }; 683*4882a593Smuzhiyun 684*4882a593Smuzhiyun i2c2 { 685*4882a593Smuzhiyun pinctrl_i2c2: i2c2-0 { 686*4882a593Smuzhiyun atmel,pins = 687*4882a593Smuzhiyun <AT91_PIOB 4 AT91_PERIPH_B AT91_PINCTRL_NONE /* PB4 periph B I2C2 data */ 688*4882a593Smuzhiyun AT91_PIOB 5 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PB5 periph B I2C2 clock */ 689*4882a593Smuzhiyun }; 690*4882a593Smuzhiyun }; 691*4882a593Smuzhiyun 692*4882a593Smuzhiyun i2c_gpio0 { 693*4882a593Smuzhiyun pinctrl_i2c_gpio0: i2c_gpio0-0 { 694*4882a593Smuzhiyun atmel,pins = 695*4882a593Smuzhiyun <AT91_PIOA 30 AT91_PERIPH_GPIO AT91_PINCTRL_MULTI_DRIVE /* PA30 gpio multidrive I2C0 data */ 696*4882a593Smuzhiyun AT91_PIOA 31 AT91_PERIPH_GPIO AT91_PINCTRL_MULTI_DRIVE>; /* PA31 gpio multidrive I2C0 clock */ 697*4882a593Smuzhiyun }; 698*4882a593Smuzhiyun }; 699*4882a593Smuzhiyun 700*4882a593Smuzhiyun i2c_gpio1 { 701*4882a593Smuzhiyun pinctrl_i2c_gpio1: i2c_gpio1-0 { 702*4882a593Smuzhiyun atmel,pins = 703*4882a593Smuzhiyun <AT91_PIOC 0 AT91_PERIPH_GPIO AT91_PINCTRL_MULTI_DRIVE /* PC0 gpio multidrive I2C1 data */ 704*4882a593Smuzhiyun AT91_PIOC 1 AT91_PERIPH_GPIO AT91_PINCTRL_MULTI_DRIVE>; /* PC1 gpio multidrive I2C1 clock */ 705*4882a593Smuzhiyun }; 706*4882a593Smuzhiyun }; 707*4882a593Smuzhiyun 708*4882a593Smuzhiyun i2c_gpio2 { 709*4882a593Smuzhiyun pinctrl_i2c_gpio2: i2c_gpio2-0 { 710*4882a593Smuzhiyun atmel,pins = 711*4882a593Smuzhiyun <AT91_PIOB 4 AT91_PERIPH_GPIO AT91_PINCTRL_MULTI_DRIVE /* PB4 gpio multidrive I2C2 data */ 712*4882a593Smuzhiyun AT91_PIOB 5 AT91_PERIPH_GPIO AT91_PINCTRL_MULTI_DRIVE>; /* PB5 gpio multidrive I2C2 clock */ 713*4882a593Smuzhiyun }; 714*4882a593Smuzhiyun }; 715*4882a593Smuzhiyun 716*4882a593Smuzhiyun pwm0 { 717*4882a593Smuzhiyun pinctrl_pwm0_pwm0_0: pwm0_pwm0-0 { 718*4882a593Smuzhiyun atmel,pins = 719*4882a593Smuzhiyun <AT91_PIOB 11 AT91_PERIPH_B AT91_PINCTRL_NONE>; 720*4882a593Smuzhiyun }; 721*4882a593Smuzhiyun pinctrl_pwm0_pwm0_1: pwm0_pwm0-1 { 722*4882a593Smuzhiyun atmel,pins = 723*4882a593Smuzhiyun <AT91_PIOC 10 AT91_PERIPH_C AT91_PINCTRL_NONE>; 724*4882a593Smuzhiyun }; 725*4882a593Smuzhiyun pinctrl_pwm0_pwm0_2: pwm0_pwm0-2 { 726*4882a593Smuzhiyun atmel,pins = 727*4882a593Smuzhiyun <AT91_PIOC 18 AT91_PERIPH_C AT91_PINCTRL_NONE>; 728*4882a593Smuzhiyun }; 729*4882a593Smuzhiyun 730*4882a593Smuzhiyun pinctrl_pwm0_pwm1_0: pwm0_pwm1-0 { 731*4882a593Smuzhiyun atmel,pins = 732*4882a593Smuzhiyun <AT91_PIOB 12 AT91_PERIPH_B AT91_PINCTRL_NONE>; 733*4882a593Smuzhiyun }; 734*4882a593Smuzhiyun pinctrl_pwm0_pwm1_1: pwm0_pwm1-1 { 735*4882a593Smuzhiyun atmel,pins = 736*4882a593Smuzhiyun <AT91_PIOC 11 AT91_PERIPH_C AT91_PINCTRL_NONE>; 737*4882a593Smuzhiyun }; 738*4882a593Smuzhiyun pinctrl_pwm0_pwm1_2: pwm0_pwm1-2 { 739*4882a593Smuzhiyun atmel,pins = 740*4882a593Smuzhiyun <AT91_PIOC 19 AT91_PERIPH_C AT91_PINCTRL_NONE>; 741*4882a593Smuzhiyun }; 742*4882a593Smuzhiyun 743*4882a593Smuzhiyun pinctrl_pwm0_pwm2_0: pwm0_pwm2-0 { 744*4882a593Smuzhiyun atmel,pins = 745*4882a593Smuzhiyun <AT91_PIOB 13 AT91_PERIPH_B AT91_PINCTRL_NONE>; 746*4882a593Smuzhiyun }; 747*4882a593Smuzhiyun pinctrl_pwm0_pwm2_1: pwm0_pwm2-1 { 748*4882a593Smuzhiyun atmel,pins = 749*4882a593Smuzhiyun <AT91_PIOC 20 AT91_PERIPH_C AT91_PINCTRL_NONE>; 750*4882a593Smuzhiyun }; 751*4882a593Smuzhiyun 752*4882a593Smuzhiyun pinctrl_pwm0_pwm3_0: pwm0_pwm3-0 { 753*4882a593Smuzhiyun atmel,pins = 754*4882a593Smuzhiyun <AT91_PIOB 14 AT91_PERIPH_B AT91_PINCTRL_NONE>; 755*4882a593Smuzhiyun }; 756*4882a593Smuzhiyun pinctrl_pwm0_pwm3_1: pwm0_pwm3-1 { 757*4882a593Smuzhiyun atmel,pins = 758*4882a593Smuzhiyun <AT91_PIOC 21 AT91_PERIPH_C AT91_PINCTRL_NONE>; 759*4882a593Smuzhiyun }; 760*4882a593Smuzhiyun }; 761*4882a593Smuzhiyun 762*4882a593Smuzhiyun tcb0 { 763*4882a593Smuzhiyun pinctrl_tcb0_tclk0: tcb0_tclk0-0 { 764*4882a593Smuzhiyun atmel,pins = <AT91_PIOA 24 AT91_PERIPH_A AT91_PINCTRL_NONE>; 765*4882a593Smuzhiyun }; 766*4882a593Smuzhiyun 767*4882a593Smuzhiyun pinctrl_tcb0_tclk1: tcb0_tclk1-0 { 768*4882a593Smuzhiyun atmel,pins = <AT91_PIOA 25 AT91_PERIPH_A AT91_PINCTRL_NONE>; 769*4882a593Smuzhiyun }; 770*4882a593Smuzhiyun 771*4882a593Smuzhiyun pinctrl_tcb0_tclk2: tcb0_tclk2-0 { 772*4882a593Smuzhiyun atmel,pins = <AT91_PIOA 26 AT91_PERIPH_A AT91_PINCTRL_NONE>; 773*4882a593Smuzhiyun }; 774*4882a593Smuzhiyun 775*4882a593Smuzhiyun pinctrl_tcb0_tioa0: tcb0_tioa0-0 { 776*4882a593Smuzhiyun atmel,pins = <AT91_PIOA 21 AT91_PERIPH_A AT91_PINCTRL_NONE>; 777*4882a593Smuzhiyun }; 778*4882a593Smuzhiyun 779*4882a593Smuzhiyun pinctrl_tcb0_tioa1: tcb0_tioa1-0 { 780*4882a593Smuzhiyun atmel,pins = <AT91_PIOA 22 AT91_PERIPH_A AT91_PINCTRL_NONE>; 781*4882a593Smuzhiyun }; 782*4882a593Smuzhiyun 783*4882a593Smuzhiyun pinctrl_tcb0_tioa2: tcb0_tioa2-0 { 784*4882a593Smuzhiyun atmel,pins = <AT91_PIOA 23 AT91_PERIPH_A AT91_PINCTRL_NONE>; 785*4882a593Smuzhiyun }; 786*4882a593Smuzhiyun 787*4882a593Smuzhiyun pinctrl_tcb0_tiob0: tcb0_tiob0-0 { 788*4882a593Smuzhiyun atmel,pins = <AT91_PIOA 27 AT91_PERIPH_A AT91_PINCTRL_NONE>; 789*4882a593Smuzhiyun }; 790*4882a593Smuzhiyun 791*4882a593Smuzhiyun pinctrl_tcb0_tiob1: tcb0_tiob1-0 { 792*4882a593Smuzhiyun atmel,pins = <AT91_PIOA 28 AT91_PERIPH_A AT91_PINCTRL_NONE>; 793*4882a593Smuzhiyun }; 794*4882a593Smuzhiyun 795*4882a593Smuzhiyun pinctrl_tcb0_tiob2: tcb0_tiob2-0 { 796*4882a593Smuzhiyun atmel,pins = <AT91_PIOA 29 AT91_PERIPH_A AT91_PINCTRL_NONE>; 797*4882a593Smuzhiyun }; 798*4882a593Smuzhiyun }; 799*4882a593Smuzhiyun 800*4882a593Smuzhiyun tcb1 { 801*4882a593Smuzhiyun pinctrl_tcb1_tclk0: tcb1_tclk0-0 { 802*4882a593Smuzhiyun atmel,pins = <AT91_PIOC 4 AT91_PERIPH_C AT91_PINCTRL_NONE>; 803*4882a593Smuzhiyun }; 804*4882a593Smuzhiyun 805*4882a593Smuzhiyun pinctrl_tcb1_tclk1: tcb1_tclk1-0 { 806*4882a593Smuzhiyun atmel,pins = <AT91_PIOC 7 AT91_PERIPH_C AT91_PINCTRL_NONE>; 807*4882a593Smuzhiyun }; 808*4882a593Smuzhiyun 809*4882a593Smuzhiyun pinctrl_tcb1_tclk2: tcb1_tclk2-0 { 810*4882a593Smuzhiyun atmel,pins = <AT91_PIOC 14 AT91_PERIPH_C AT91_PINCTRL_NONE>; 811*4882a593Smuzhiyun }; 812*4882a593Smuzhiyun 813*4882a593Smuzhiyun pinctrl_tcb1_tioa0: tcb1_tioa0-0 { 814*4882a593Smuzhiyun atmel,pins = <AT91_PIOC 2 AT91_PERIPH_C AT91_PINCTRL_NONE>; 815*4882a593Smuzhiyun }; 816*4882a593Smuzhiyun 817*4882a593Smuzhiyun pinctrl_tcb1_tioa1: tcb1_tioa1-0 { 818*4882a593Smuzhiyun atmel,pins = <AT91_PIOC 5 AT91_PERIPH_C AT91_PINCTRL_NONE>; 819*4882a593Smuzhiyun }; 820*4882a593Smuzhiyun 821*4882a593Smuzhiyun pinctrl_tcb1_tioa2: tcb1_tioa2-0 { 822*4882a593Smuzhiyun atmel,pins = <AT91_PIOC 12 AT91_PERIPH_C AT91_PINCTRL_NONE>; 823*4882a593Smuzhiyun }; 824*4882a593Smuzhiyun 825*4882a593Smuzhiyun pinctrl_tcb1_tiob0: tcb1_tiob0-0 { 826*4882a593Smuzhiyun atmel,pins = <AT91_PIOC 3 AT91_PERIPH_C AT91_PINCTRL_NONE>; 827*4882a593Smuzhiyun }; 828*4882a593Smuzhiyun 829*4882a593Smuzhiyun pinctrl_tcb1_tiob1: tcb1_tiob1-0 { 830*4882a593Smuzhiyun atmel,pins = <AT91_PIOC 6 AT91_PERIPH_C AT91_PINCTRL_NONE>; 831*4882a593Smuzhiyun }; 832*4882a593Smuzhiyun 833*4882a593Smuzhiyun pinctrl_tcb1_tiob2: tcb1_tiob2-0 { 834*4882a593Smuzhiyun atmel,pins = <AT91_PIOC 13 AT91_PERIPH_C AT91_PINCTRL_NONE>; 835*4882a593Smuzhiyun }; 836*4882a593Smuzhiyun }; 837*4882a593Smuzhiyun }; 838*4882a593Smuzhiyun 839*4882a593Smuzhiyun pioA: gpio@fffff400 { 840*4882a593Smuzhiyun compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; 841*4882a593Smuzhiyun reg = <0xfffff400 0x200>; 842*4882a593Smuzhiyun interrupts = <2 IRQ_TYPE_LEVEL_HIGH 1>; 843*4882a593Smuzhiyun #gpio-cells = <2>; 844*4882a593Smuzhiyun gpio-controller; 845*4882a593Smuzhiyun interrupt-controller; 846*4882a593Smuzhiyun #interrupt-cells = <2>; 847*4882a593Smuzhiyun clocks = <&pioAB_clk>; 848*4882a593Smuzhiyun }; 849*4882a593Smuzhiyun 850*4882a593Smuzhiyun pioB: gpio@fffff600 { 851*4882a593Smuzhiyun compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; 852*4882a593Smuzhiyun reg = <0xfffff600 0x200>; 853*4882a593Smuzhiyun interrupts = <2 IRQ_TYPE_LEVEL_HIGH 1>; 854*4882a593Smuzhiyun #gpio-cells = <2>; 855*4882a593Smuzhiyun gpio-controller; 856*4882a593Smuzhiyun #gpio-lines = <19>; 857*4882a593Smuzhiyun interrupt-controller; 858*4882a593Smuzhiyun #interrupt-cells = <2>; 859*4882a593Smuzhiyun clocks = <&pioAB_clk>; 860*4882a593Smuzhiyun }; 861*4882a593Smuzhiyun 862*4882a593Smuzhiyun pioC: gpio@fffff800 { 863*4882a593Smuzhiyun compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; 864*4882a593Smuzhiyun reg = <0xfffff800 0x200>; 865*4882a593Smuzhiyun interrupts = <3 IRQ_TYPE_LEVEL_HIGH 1>; 866*4882a593Smuzhiyun #gpio-cells = <2>; 867*4882a593Smuzhiyun gpio-controller; 868*4882a593Smuzhiyun interrupt-controller; 869*4882a593Smuzhiyun #interrupt-cells = <2>; 870*4882a593Smuzhiyun clocks = <&pioCD_clk>; 871*4882a593Smuzhiyun }; 872*4882a593Smuzhiyun 873*4882a593Smuzhiyun pioD: gpio@fffffa00 { 874*4882a593Smuzhiyun compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; 875*4882a593Smuzhiyun reg = <0xfffffa00 0x200>; 876*4882a593Smuzhiyun interrupts = <3 IRQ_TYPE_LEVEL_HIGH 1>; 877*4882a593Smuzhiyun #gpio-cells = <2>; 878*4882a593Smuzhiyun gpio-controller; 879*4882a593Smuzhiyun #gpio-lines = <22>; 880*4882a593Smuzhiyun interrupt-controller; 881*4882a593Smuzhiyun #interrupt-cells = <2>; 882*4882a593Smuzhiyun clocks = <&pioCD_clk>; 883*4882a593Smuzhiyun }; 884*4882a593Smuzhiyun 885*4882a593Smuzhiyun ssc0: ssc@f0010000 { 886*4882a593Smuzhiyun compatible = "atmel,at91sam9g45-ssc"; 887*4882a593Smuzhiyun reg = <0xf0010000 0x4000>; 888*4882a593Smuzhiyun interrupts = <28 IRQ_TYPE_LEVEL_HIGH 5>; 889*4882a593Smuzhiyun dmas = <&dma0 1 AT91_DMA_CFG_PER_ID(13)>, 890*4882a593Smuzhiyun <&dma0 1 AT91_DMA_CFG_PER_ID(14)>; 891*4882a593Smuzhiyun dma-names = "tx", "rx"; 892*4882a593Smuzhiyun pinctrl-names = "default"; 893*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>; 894*4882a593Smuzhiyun clocks = <&ssc0_clk>; 895*4882a593Smuzhiyun clock-names = "pclk"; 896*4882a593Smuzhiyun status = "disabled"; 897*4882a593Smuzhiyun }; 898*4882a593Smuzhiyun 899*4882a593Smuzhiyun mmc0: mmc@f0008000 { 900*4882a593Smuzhiyun compatible = "atmel,hsmci"; 901*4882a593Smuzhiyun reg = <0xf0008000 0x600>; 902*4882a593Smuzhiyun interrupts = <12 IRQ_TYPE_LEVEL_HIGH 0>; 903*4882a593Smuzhiyun dmas = <&dma0 1 AT91_DMA_CFG_PER_ID(0)>; 904*4882a593Smuzhiyun dma-names = "rxtx"; 905*4882a593Smuzhiyun pinctrl-names = "default"; 906*4882a593Smuzhiyun clocks = <&mci0_clk>; 907*4882a593Smuzhiyun clock-names = "mci_clk"; 908*4882a593Smuzhiyun #address-cells = <1>; 909*4882a593Smuzhiyun #size-cells = <0>; 910*4882a593Smuzhiyun status = "disabled"; 911*4882a593Smuzhiyun }; 912*4882a593Smuzhiyun 913*4882a593Smuzhiyun mmc1: mmc@f000c000 { 914*4882a593Smuzhiyun compatible = "atmel,hsmci"; 915*4882a593Smuzhiyun reg = <0xf000c000 0x600>; 916*4882a593Smuzhiyun interrupts = <26 IRQ_TYPE_LEVEL_HIGH 0>; 917*4882a593Smuzhiyun dmas = <&dma1 1 AT91_DMA_CFG_PER_ID(0)>; 918*4882a593Smuzhiyun dma-names = "rxtx"; 919*4882a593Smuzhiyun pinctrl-names = "default"; 920*4882a593Smuzhiyun clocks = <&mci1_clk>; 921*4882a593Smuzhiyun clock-names = "mci_clk"; 922*4882a593Smuzhiyun #address-cells = <1>; 923*4882a593Smuzhiyun #size-cells = <0>; 924*4882a593Smuzhiyun status = "disabled"; 925*4882a593Smuzhiyun }; 926*4882a593Smuzhiyun 927*4882a593Smuzhiyun dbgu: serial@fffff200 { 928*4882a593Smuzhiyun compatible = "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart"; 929*4882a593Smuzhiyun reg = <0xfffff200 0x200>; 930*4882a593Smuzhiyun interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; 931*4882a593Smuzhiyun pinctrl-names = "default"; 932*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_dbgu>; 933*4882a593Smuzhiyun dmas = <&dma1 1 AT91_DMA_CFG_PER_ID(8)>, 934*4882a593Smuzhiyun <&dma1 1 (AT91_DMA_CFG_PER_ID(9) | AT91_DMA_CFG_FIFOCFG_ASAP)>; 935*4882a593Smuzhiyun dma-names = "tx", "rx"; 936*4882a593Smuzhiyun clocks = <&mck>; 937*4882a593Smuzhiyun clock-names = "usart"; 938*4882a593Smuzhiyun status = "disabled"; 939*4882a593Smuzhiyun }; 940*4882a593Smuzhiyun 941*4882a593Smuzhiyun usart0: serial@f801c000 { 942*4882a593Smuzhiyun compatible = "atmel,at91sam9260-usart"; 943*4882a593Smuzhiyun reg = <0xf801c000 0x200>; 944*4882a593Smuzhiyun interrupts = <5 IRQ_TYPE_LEVEL_HIGH 5>; 945*4882a593Smuzhiyun pinctrl-names = "default"; 946*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_usart0>; 947*4882a593Smuzhiyun dmas = <&dma0 1 AT91_DMA_CFG_PER_ID(3)>, 948*4882a593Smuzhiyun <&dma0 1 (AT91_DMA_CFG_PER_ID(4) | AT91_DMA_CFG_FIFOCFG_ASAP)>; 949*4882a593Smuzhiyun dma-names = "tx", "rx"; 950*4882a593Smuzhiyun clocks = <&usart0_clk>; 951*4882a593Smuzhiyun clock-names = "usart"; 952*4882a593Smuzhiyun status = "disabled"; 953*4882a593Smuzhiyun }; 954*4882a593Smuzhiyun 955*4882a593Smuzhiyun usart1: serial@f8020000 { 956*4882a593Smuzhiyun compatible = "atmel,at91sam9260-usart"; 957*4882a593Smuzhiyun reg = <0xf8020000 0x200>; 958*4882a593Smuzhiyun interrupts = <6 IRQ_TYPE_LEVEL_HIGH 5>; 959*4882a593Smuzhiyun pinctrl-names = "default"; 960*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_usart1>; 961*4882a593Smuzhiyun dmas = <&dma0 1 AT91_DMA_CFG_PER_ID(5)>, 962*4882a593Smuzhiyun <&dma0 1 (AT91_DMA_CFG_PER_ID(6) | AT91_DMA_CFG_FIFOCFG_ASAP)>; 963*4882a593Smuzhiyun dma-names = "tx", "rx"; 964*4882a593Smuzhiyun clocks = <&usart1_clk>; 965*4882a593Smuzhiyun clock-names = "usart"; 966*4882a593Smuzhiyun status = "disabled"; 967*4882a593Smuzhiyun }; 968*4882a593Smuzhiyun 969*4882a593Smuzhiyun usart2: serial@f8024000 { 970*4882a593Smuzhiyun compatible = "atmel,at91sam9260-usart"; 971*4882a593Smuzhiyun reg = <0xf8024000 0x200>; 972*4882a593Smuzhiyun interrupts = <7 IRQ_TYPE_LEVEL_HIGH 5>; 973*4882a593Smuzhiyun pinctrl-names = "default"; 974*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_usart2>; 975*4882a593Smuzhiyun dmas = <&dma1 1 AT91_DMA_CFG_PER_ID(12)>, 976*4882a593Smuzhiyun <&dma1 1 (AT91_DMA_CFG_PER_ID(13) | AT91_DMA_CFG_FIFOCFG_ASAP)>; 977*4882a593Smuzhiyun dma-names = "tx", "rx"; 978*4882a593Smuzhiyun clocks = <&usart2_clk>; 979*4882a593Smuzhiyun clock-names = "usart"; 980*4882a593Smuzhiyun status = "disabled"; 981*4882a593Smuzhiyun }; 982*4882a593Smuzhiyun 983*4882a593Smuzhiyun i2c0: i2c@f8010000 { 984*4882a593Smuzhiyun compatible = "atmel,at91sam9x5-i2c"; 985*4882a593Smuzhiyun reg = <0xf8010000 0x100>; 986*4882a593Smuzhiyun interrupts = <9 IRQ_TYPE_LEVEL_HIGH 6>; 987*4882a593Smuzhiyun dmas = <&dma0 1 AT91_DMA_CFG_PER_ID(7)>, 988*4882a593Smuzhiyun <&dma0 1 AT91_DMA_CFG_PER_ID(8)>; 989*4882a593Smuzhiyun dma-names = "tx", "rx"; 990*4882a593Smuzhiyun #address-cells = <1>; 991*4882a593Smuzhiyun #size-cells = <0>; 992*4882a593Smuzhiyun pinctrl-names = "default"; 993*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_i2c0>; 994*4882a593Smuzhiyun clocks = <&twi0_clk>; 995*4882a593Smuzhiyun status = "disabled"; 996*4882a593Smuzhiyun }; 997*4882a593Smuzhiyun 998*4882a593Smuzhiyun i2c1: i2c@f8014000 { 999*4882a593Smuzhiyun compatible = "atmel,at91sam9x5-i2c"; 1000*4882a593Smuzhiyun reg = <0xf8014000 0x100>; 1001*4882a593Smuzhiyun interrupts = <10 IRQ_TYPE_LEVEL_HIGH 6>; 1002*4882a593Smuzhiyun dmas = <&dma1 1 AT91_DMA_CFG_PER_ID(5)>, 1003*4882a593Smuzhiyun <&dma1 1 AT91_DMA_CFG_PER_ID(6)>; 1004*4882a593Smuzhiyun dma-names = "tx", "rx"; 1005*4882a593Smuzhiyun #address-cells = <1>; 1006*4882a593Smuzhiyun #size-cells = <0>; 1007*4882a593Smuzhiyun pinctrl-names = "default"; 1008*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_i2c1>; 1009*4882a593Smuzhiyun clocks = <&twi1_clk>; 1010*4882a593Smuzhiyun status = "disabled"; 1011*4882a593Smuzhiyun }; 1012*4882a593Smuzhiyun 1013*4882a593Smuzhiyun i2c2: i2c@f8018000 { 1014*4882a593Smuzhiyun compatible = "atmel,at91sam9x5-i2c"; 1015*4882a593Smuzhiyun reg = <0xf8018000 0x100>; 1016*4882a593Smuzhiyun interrupts = <11 IRQ_TYPE_LEVEL_HIGH 6>; 1017*4882a593Smuzhiyun dmas = <&dma0 1 AT91_DMA_CFG_PER_ID(9)>, 1018*4882a593Smuzhiyun <&dma0 1 AT91_DMA_CFG_PER_ID(10)>; 1019*4882a593Smuzhiyun dma-names = "tx", "rx"; 1020*4882a593Smuzhiyun #address-cells = <1>; 1021*4882a593Smuzhiyun #size-cells = <0>; 1022*4882a593Smuzhiyun pinctrl-names = "default"; 1023*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_i2c2>; 1024*4882a593Smuzhiyun clocks = <&twi2_clk>; 1025*4882a593Smuzhiyun status = "disabled"; 1026*4882a593Smuzhiyun }; 1027*4882a593Smuzhiyun 1028*4882a593Smuzhiyun uart0: serial@f8040000 { 1029*4882a593Smuzhiyun compatible = "atmel,at91sam9260-usart"; 1030*4882a593Smuzhiyun reg = <0xf8040000 0x200>; 1031*4882a593Smuzhiyun interrupts = <15 IRQ_TYPE_LEVEL_HIGH 5>; 1032*4882a593Smuzhiyun pinctrl-names = "default"; 1033*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_uart0>; 1034*4882a593Smuzhiyun clocks = <&uart0_clk>; 1035*4882a593Smuzhiyun clock-names = "usart"; 1036*4882a593Smuzhiyun status = "disabled"; 1037*4882a593Smuzhiyun }; 1038*4882a593Smuzhiyun 1039*4882a593Smuzhiyun uart1: serial@f8044000 { 1040*4882a593Smuzhiyun compatible = "atmel,at91sam9260-usart"; 1041*4882a593Smuzhiyun reg = <0xf8044000 0x200>; 1042*4882a593Smuzhiyun interrupts = <16 IRQ_TYPE_LEVEL_HIGH 5>; 1043*4882a593Smuzhiyun pinctrl-names = "default"; 1044*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_uart1>; 1045*4882a593Smuzhiyun clocks = <&uart1_clk>; 1046*4882a593Smuzhiyun clock-names = "usart"; 1047*4882a593Smuzhiyun status = "disabled"; 1048*4882a593Smuzhiyun }; 1049*4882a593Smuzhiyun 1050*4882a593Smuzhiyun adc0: adc@f804c000 { 1051*4882a593Smuzhiyun #address-cells = <1>; 1052*4882a593Smuzhiyun #size-cells = <0>; 1053*4882a593Smuzhiyun compatible = "atmel,at91sam9x5-adc"; 1054*4882a593Smuzhiyun reg = <0xf804c000 0x100>; 1055*4882a593Smuzhiyun interrupts = <19 IRQ_TYPE_LEVEL_HIGH 0>; 1056*4882a593Smuzhiyun clocks = <&adc_clk>, 1057*4882a593Smuzhiyun <&adc_op_clk>; 1058*4882a593Smuzhiyun clock-names = "adc_clk", "adc_op_clk"; 1059*4882a593Smuzhiyun atmel,adc-use-external-triggers; 1060*4882a593Smuzhiyun atmel,adc-channels-used = <0xffff>; 1061*4882a593Smuzhiyun atmel,adc-vref = <3300>; 1062*4882a593Smuzhiyun atmel,adc-startup-time = <40>; 1063*4882a593Smuzhiyun atmel,adc-sample-hold-time = <11>; 1064*4882a593Smuzhiyun atmel,adc-res = <8 10>; 1065*4882a593Smuzhiyun atmel,adc-res-names = "lowres", "highres"; 1066*4882a593Smuzhiyun atmel,adc-use-res = "highres"; 1067*4882a593Smuzhiyun 1068*4882a593Smuzhiyun trigger0 { 1069*4882a593Smuzhiyun trigger-name = "external-rising"; 1070*4882a593Smuzhiyun trigger-value = <0x1>; 1071*4882a593Smuzhiyun trigger-external; 1072*4882a593Smuzhiyun }; 1073*4882a593Smuzhiyun 1074*4882a593Smuzhiyun trigger1 { 1075*4882a593Smuzhiyun trigger-name = "external-falling"; 1076*4882a593Smuzhiyun trigger-value = <0x2>; 1077*4882a593Smuzhiyun trigger-external; 1078*4882a593Smuzhiyun }; 1079*4882a593Smuzhiyun 1080*4882a593Smuzhiyun trigger2 { 1081*4882a593Smuzhiyun trigger-name = "external-any"; 1082*4882a593Smuzhiyun trigger-value = <0x3>; 1083*4882a593Smuzhiyun trigger-external; 1084*4882a593Smuzhiyun }; 1085*4882a593Smuzhiyun 1086*4882a593Smuzhiyun trigger3 { 1087*4882a593Smuzhiyun trigger-name = "continuous"; 1088*4882a593Smuzhiyun trigger-value = <0x6>; 1089*4882a593Smuzhiyun }; 1090*4882a593Smuzhiyun }; 1091*4882a593Smuzhiyun 1092*4882a593Smuzhiyun spi0: spi@f0000000 { 1093*4882a593Smuzhiyun #address-cells = <1>; 1094*4882a593Smuzhiyun #size-cells = <0>; 1095*4882a593Smuzhiyun compatible = "atmel,at91rm9200-spi"; 1096*4882a593Smuzhiyun reg = <0xf0000000 0x100>; 1097*4882a593Smuzhiyun interrupts = <13 IRQ_TYPE_LEVEL_HIGH 3>; 1098*4882a593Smuzhiyun dmas = <&dma0 1 AT91_DMA_CFG_PER_ID(1)>, 1099*4882a593Smuzhiyun <&dma0 1 AT91_DMA_CFG_PER_ID(2)>; 1100*4882a593Smuzhiyun dma-names = "tx", "rx"; 1101*4882a593Smuzhiyun pinctrl-names = "default"; 1102*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_spi0>; 1103*4882a593Smuzhiyun clocks = <&spi0_clk>; 1104*4882a593Smuzhiyun clock-names = "spi_clk"; 1105*4882a593Smuzhiyun status = "disabled"; 1106*4882a593Smuzhiyun }; 1107*4882a593Smuzhiyun 1108*4882a593Smuzhiyun spi1: spi@f0004000 { 1109*4882a593Smuzhiyun #address-cells = <1>; 1110*4882a593Smuzhiyun #size-cells = <0>; 1111*4882a593Smuzhiyun compatible = "atmel,at91rm9200-spi"; 1112*4882a593Smuzhiyun reg = <0xf0004000 0x100>; 1113*4882a593Smuzhiyun interrupts = <14 IRQ_TYPE_LEVEL_HIGH 3>; 1114*4882a593Smuzhiyun dmas = <&dma1 1 AT91_DMA_CFG_PER_ID(1)>, 1115*4882a593Smuzhiyun <&dma1 1 AT91_DMA_CFG_PER_ID(2)>; 1116*4882a593Smuzhiyun dma-names = "tx", "rx"; 1117*4882a593Smuzhiyun pinctrl-names = "default"; 1118*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_spi1>; 1119*4882a593Smuzhiyun clocks = <&spi1_clk>; 1120*4882a593Smuzhiyun clock-names = "spi_clk"; 1121*4882a593Smuzhiyun status = "disabled"; 1122*4882a593Smuzhiyun }; 1123*4882a593Smuzhiyun 1124*4882a593Smuzhiyun usb2: gadget@f803c000 { 1125*4882a593Smuzhiyun #address-cells = <1>; 1126*4882a593Smuzhiyun #size-cells = <0>; 1127*4882a593Smuzhiyun compatible = "atmel,at91sam9g45-udc"; 1128*4882a593Smuzhiyun reg = <0x00500000 0x80000 1129*4882a593Smuzhiyun 0xf803c000 0x400>; 1130*4882a593Smuzhiyun interrupts = <23 IRQ_TYPE_LEVEL_HIGH 0>; 1131*4882a593Smuzhiyun clocks = <&utmi>, <&udphs_clk>; 1132*4882a593Smuzhiyun clock-names = "hclk", "pclk"; 1133*4882a593Smuzhiyun status = "disabled"; 1134*4882a593Smuzhiyun 1135*4882a593Smuzhiyun ep@0 { 1136*4882a593Smuzhiyun reg = <0>; 1137*4882a593Smuzhiyun atmel,fifo-size = <64>; 1138*4882a593Smuzhiyun atmel,nb-banks = <1>; 1139*4882a593Smuzhiyun }; 1140*4882a593Smuzhiyun 1141*4882a593Smuzhiyun ep@1 { 1142*4882a593Smuzhiyun reg = <1>; 1143*4882a593Smuzhiyun atmel,fifo-size = <1024>; 1144*4882a593Smuzhiyun atmel,nb-banks = <2>; 1145*4882a593Smuzhiyun atmel,can-dma; 1146*4882a593Smuzhiyun atmel,can-isoc; 1147*4882a593Smuzhiyun }; 1148*4882a593Smuzhiyun 1149*4882a593Smuzhiyun ep@2 { 1150*4882a593Smuzhiyun reg = <2>; 1151*4882a593Smuzhiyun atmel,fifo-size = <1024>; 1152*4882a593Smuzhiyun atmel,nb-banks = <2>; 1153*4882a593Smuzhiyun atmel,can-dma; 1154*4882a593Smuzhiyun atmel,can-isoc; 1155*4882a593Smuzhiyun }; 1156*4882a593Smuzhiyun 1157*4882a593Smuzhiyun ep@3 { 1158*4882a593Smuzhiyun reg = <3>; 1159*4882a593Smuzhiyun atmel,fifo-size = <1024>; 1160*4882a593Smuzhiyun atmel,nb-banks = <3>; 1161*4882a593Smuzhiyun atmel,can-dma; 1162*4882a593Smuzhiyun }; 1163*4882a593Smuzhiyun 1164*4882a593Smuzhiyun ep@4 { 1165*4882a593Smuzhiyun reg = <4>; 1166*4882a593Smuzhiyun atmel,fifo-size = <1024>; 1167*4882a593Smuzhiyun atmel,nb-banks = <3>; 1168*4882a593Smuzhiyun atmel,can-dma; 1169*4882a593Smuzhiyun }; 1170*4882a593Smuzhiyun 1171*4882a593Smuzhiyun ep@5 { 1172*4882a593Smuzhiyun reg = <5>; 1173*4882a593Smuzhiyun atmel,fifo-size = <1024>; 1174*4882a593Smuzhiyun atmel,nb-banks = <3>; 1175*4882a593Smuzhiyun atmel,can-dma; 1176*4882a593Smuzhiyun atmel,can-isoc; 1177*4882a593Smuzhiyun }; 1178*4882a593Smuzhiyun 1179*4882a593Smuzhiyun ep@6 { 1180*4882a593Smuzhiyun reg = <6>; 1181*4882a593Smuzhiyun atmel,fifo-size = <1024>; 1182*4882a593Smuzhiyun atmel,nb-banks = <3>; 1183*4882a593Smuzhiyun atmel,can-dma; 1184*4882a593Smuzhiyun atmel,can-isoc; 1185*4882a593Smuzhiyun }; 1186*4882a593Smuzhiyun }; 1187*4882a593Smuzhiyun 1188*4882a593Smuzhiyun watchdog@fffffe40 { 1189*4882a593Smuzhiyun compatible = "atmel,at91sam9260-wdt"; 1190*4882a593Smuzhiyun reg = <0xfffffe40 0x10>; 1191*4882a593Smuzhiyun interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; 1192*4882a593Smuzhiyun clocks = <&clk32k>; 1193*4882a593Smuzhiyun atmel,watchdog-type = "hardware"; 1194*4882a593Smuzhiyun atmel,reset-type = "all"; 1195*4882a593Smuzhiyun atmel,dbg-halt; 1196*4882a593Smuzhiyun status = "disabled"; 1197*4882a593Smuzhiyun }; 1198*4882a593Smuzhiyun 1199*4882a593Smuzhiyun rtc@fffffeb0 { 1200*4882a593Smuzhiyun compatible = "atmel,at91sam9x5-rtc"; 1201*4882a593Smuzhiyun reg = <0xfffffeb0 0x40>; 1202*4882a593Smuzhiyun interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; 1203*4882a593Smuzhiyun clocks = <&clk32k>; 1204*4882a593Smuzhiyun status = "disabled"; 1205*4882a593Smuzhiyun }; 1206*4882a593Smuzhiyun 1207*4882a593Smuzhiyun pwm0: pwm@f8034000 { 1208*4882a593Smuzhiyun compatible = "atmel,at91sam9rl-pwm"; 1209*4882a593Smuzhiyun reg = <0xf8034000 0x300>; 1210*4882a593Smuzhiyun interrupts = <18 IRQ_TYPE_LEVEL_HIGH 4>; 1211*4882a593Smuzhiyun clocks = <&pwm_clk>; 1212*4882a593Smuzhiyun #pwm-cells = <3>; 1213*4882a593Smuzhiyun status = "disabled"; 1214*4882a593Smuzhiyun }; 1215*4882a593Smuzhiyun }; 1216*4882a593Smuzhiyun 1217*4882a593Smuzhiyun nand0: nand@40000000 { 1218*4882a593Smuzhiyun compatible = "atmel,at91rm9200-nand"; 1219*4882a593Smuzhiyun #address-cells = <1>; 1220*4882a593Smuzhiyun #size-cells = <1>; 1221*4882a593Smuzhiyun reg = <0x40000000 0x10000000 1222*4882a593Smuzhiyun 0xffffe000 0x600 /* PMECC Registers */ 1223*4882a593Smuzhiyun 0xffffe600 0x200 /* PMECC Error Location Registers */ 1224*4882a593Smuzhiyun 0x00108000 0x18000 /* PMECC looup table in ROM code */ 1225*4882a593Smuzhiyun >; 1226*4882a593Smuzhiyun atmel,pmecc-lookup-table-offset = <0x0 0x8000>; 1227*4882a593Smuzhiyun atmel,nand-addr-offset = <21>; 1228*4882a593Smuzhiyun atmel,nand-cmd-offset = <22>; 1229*4882a593Smuzhiyun atmel,nand-has-dma; 1230*4882a593Smuzhiyun pinctrl-names = "default"; 1231*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_nand>; 1232*4882a593Smuzhiyun gpios = <&pioD 5 GPIO_ACTIVE_HIGH 1233*4882a593Smuzhiyun &pioD 4 GPIO_ACTIVE_HIGH 1234*4882a593Smuzhiyun 0 1235*4882a593Smuzhiyun >; 1236*4882a593Smuzhiyun status = "disabled"; 1237*4882a593Smuzhiyun }; 1238*4882a593Smuzhiyun 1239*4882a593Smuzhiyun usb0: ohci@00600000 { 1240*4882a593Smuzhiyun compatible = "atmel,at91rm9200-ohci", "usb-ohci"; 1241*4882a593Smuzhiyun reg = <0x00600000 0x100000>; 1242*4882a593Smuzhiyun interrupts = <22 IRQ_TYPE_LEVEL_HIGH 2>; 1243*4882a593Smuzhiyun clocks = <&uhphs_clk>, <&uhphs_clk>, <&uhpck>; 1244*4882a593Smuzhiyun clock-names = "ohci_clk", "hclk", "uhpck"; 1245*4882a593Smuzhiyun status = "disabled"; 1246*4882a593Smuzhiyun }; 1247*4882a593Smuzhiyun 1248*4882a593Smuzhiyun usb1: ehci@00700000 { 1249*4882a593Smuzhiyun compatible = "atmel,at91sam9g45-ehci", "usb-ehci"; 1250*4882a593Smuzhiyun reg = <0x00700000 0x100000>; 1251*4882a593Smuzhiyun interrupts = <22 IRQ_TYPE_LEVEL_HIGH 2>; 1252*4882a593Smuzhiyun clocks = <&utmi>, <&uhphs_clk>; 1253*4882a593Smuzhiyun clock-names = "usb_clk", "ehci_clk"; 1254*4882a593Smuzhiyun status = "disabled"; 1255*4882a593Smuzhiyun }; 1256*4882a593Smuzhiyun }; 1257*4882a593Smuzhiyun 1258*4882a593Smuzhiyun i2c-gpio-0 { 1259*4882a593Smuzhiyun compatible = "i2c-gpio"; 1260*4882a593Smuzhiyun gpios = <&pioA 30 GPIO_ACTIVE_HIGH /* sda */ 1261*4882a593Smuzhiyun &pioA 31 GPIO_ACTIVE_HIGH /* scl */ 1262*4882a593Smuzhiyun >; 1263*4882a593Smuzhiyun i2c-gpio,sda-open-drain; 1264*4882a593Smuzhiyun i2c-gpio,scl-open-drain; 1265*4882a593Smuzhiyun i2c-gpio,delay-us = <2>; /* ~100 kHz */ 1266*4882a593Smuzhiyun #address-cells = <1>; 1267*4882a593Smuzhiyun #size-cells = <0>; 1268*4882a593Smuzhiyun pinctrl-names = "default"; 1269*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_i2c_gpio0>; 1270*4882a593Smuzhiyun status = "disabled"; 1271*4882a593Smuzhiyun }; 1272*4882a593Smuzhiyun 1273*4882a593Smuzhiyun i2c-gpio-1 { 1274*4882a593Smuzhiyun compatible = "i2c-gpio"; 1275*4882a593Smuzhiyun gpios = <&pioC 0 GPIO_ACTIVE_HIGH /* sda */ 1276*4882a593Smuzhiyun &pioC 1 GPIO_ACTIVE_HIGH /* scl */ 1277*4882a593Smuzhiyun >; 1278*4882a593Smuzhiyun i2c-gpio,sda-open-drain; 1279*4882a593Smuzhiyun i2c-gpio,scl-open-drain; 1280*4882a593Smuzhiyun i2c-gpio,delay-us = <2>; /* ~100 kHz */ 1281*4882a593Smuzhiyun #address-cells = <1>; 1282*4882a593Smuzhiyun #size-cells = <0>; 1283*4882a593Smuzhiyun pinctrl-names = "default"; 1284*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_i2c_gpio1>; 1285*4882a593Smuzhiyun status = "disabled"; 1286*4882a593Smuzhiyun }; 1287*4882a593Smuzhiyun 1288*4882a593Smuzhiyun i2c-gpio-2 { 1289*4882a593Smuzhiyun compatible = "i2c-gpio"; 1290*4882a593Smuzhiyun gpios = <&pioB 4 GPIO_ACTIVE_HIGH /* sda */ 1291*4882a593Smuzhiyun &pioB 5 GPIO_ACTIVE_HIGH /* scl */ 1292*4882a593Smuzhiyun >; 1293*4882a593Smuzhiyun i2c-gpio,sda-open-drain; 1294*4882a593Smuzhiyun i2c-gpio,scl-open-drain; 1295*4882a593Smuzhiyun i2c-gpio,delay-us = <2>; /* ~100 kHz */ 1296*4882a593Smuzhiyun #address-cells = <1>; 1297*4882a593Smuzhiyun #size-cells = <0>; 1298*4882a593Smuzhiyun pinctrl-names = "default"; 1299*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_i2c_gpio2>; 1300*4882a593Smuzhiyun status = "disabled"; 1301*4882a593Smuzhiyun }; 1302*4882a593Smuzhiyun}; 1303