at91rm9200.dtsi revision 270864
1262569Simp/* 2262569Simp * at91rm9200.dtsi - Device Tree Include file for AT91RM9200 family SoC 3262569Simp * 4262569Simp * Copyright (C) 2011 Atmel, 5262569Simp * 2011 Nicolas Ferre <nicolas.ferre@atmel.com>, 6262569Simp * 2012 Joachim Eastwood <manabian@gmail.com> 7262569Simp * 8262569Simp * Based on at91sam9260.dtsi 9262569Simp * 10262569Simp * Licensed under GPLv2 or later. 11262569Simp */ 12262569Simp 13262569Simp#include "skeleton.dtsi" 14262569Simp#include <dt-bindings/pinctrl/at91.h> 15262569Simp#include <dt-bindings/interrupt-controller/irq.h> 16262569Simp#include <dt-bindings/gpio/gpio.h> 17270864Simp#include <dt-bindings/clock/at91.h> 18262569Simp 19262569Simp/ { 20262569Simp model = "Atmel AT91RM9200 family SoC"; 21262569Simp compatible = "atmel,at91rm9200"; 22262569Simp interrupt-parent = <&aic>; 23262569Simp 24262569Simp aliases { 25262569Simp serial0 = &dbgu; 26262569Simp serial1 = &usart0; 27262569Simp serial2 = &usart1; 28262569Simp serial3 = &usart2; 29262569Simp serial4 = &usart3; 30262569Simp gpio0 = &pioA; 31262569Simp gpio1 = &pioB; 32262569Simp gpio2 = &pioC; 33262569Simp gpio3 = &pioD; 34262569Simp tcb0 = &tcb0; 35262569Simp tcb1 = &tcb1; 36262569Simp i2c0 = &i2c0; 37262569Simp ssc0 = &ssc0; 38262569Simp ssc1 = &ssc1; 39262569Simp ssc2 = &ssc2; 40262569Simp }; 41262569Simp cpus { 42262569Simp #address-cells = <0>; 43262569Simp #size-cells = <0>; 44262569Simp 45262569Simp cpu { 46262569Simp compatible = "arm,arm920t"; 47262569Simp device_type = "cpu"; 48262569Simp }; 49262569Simp }; 50262569Simp 51262569Simp memory { 52262569Simp reg = <0x20000000 0x04000000>; 53262569Simp }; 54262569Simp 55270864Simp clocks { 56270864Simp slow_xtal: slow_xtal { 57270864Simp compatible = "fixed-clock"; 58270864Simp #clock-cells = <0>; 59270864Simp clock-frequency = <0>; 60270864Simp }; 61270864Simp 62270864Simp main_xtal: main_xtal { 63270864Simp compatible = "fixed-clock"; 64270864Simp #clock-cells = <0>; 65270864Simp clock-frequency = <0>; 66270864Simp }; 67270864Simp }; 68270864Simp 69262569Simp ahb { 70262569Simp compatible = "simple-bus"; 71262569Simp #address-cells = <1>; 72262569Simp #size-cells = <1>; 73262569Simp ranges; 74262569Simp 75262569Simp apb { 76262569Simp compatible = "simple-bus"; 77262569Simp #address-cells = <1>; 78262569Simp #size-cells = <1>; 79262569Simp ranges; 80262569Simp 81262569Simp aic: interrupt-controller@fffff000 { 82262569Simp #interrupt-cells = <3>; 83262569Simp compatible = "atmel,at91rm9200-aic"; 84262569Simp interrupt-controller; 85262569Simp reg = <0xfffff000 0x200>; 86262569Simp atmel,external-irqs = <25 26 27 28 29 30 31>; 87262569Simp }; 88262569Simp 89262569Simp ramc0: ramc@ffffff00 { 90262569Simp compatible = "atmel,at91rm9200-sdramc"; 91262569Simp reg = <0xffffff00 0x100>; 92262569Simp }; 93262569Simp 94262569Simp pmc: pmc@fffffc00 { 95262569Simp compatible = "atmel,at91rm9200-pmc"; 96262569Simp reg = <0xfffffc00 0x100>; 97270864Simp interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; 98270864Simp interrupt-controller; 99270864Simp #address-cells = <1>; 100270864Simp #size-cells = <0>; 101270864Simp #interrupt-cells = <1>; 102270864Simp 103270864Simp main_osc: main_osc { 104270864Simp compatible = "atmel,at91rm9200-clk-main-osc"; 105270864Simp #clock-cells = <0>; 106270864Simp interrupts-extended = <&pmc AT91_PMC_MOSCS>; 107270864Simp clocks = <&main_xtal>; 108270864Simp }; 109270864Simp 110270864Simp main: mainck { 111270864Simp compatible = "atmel,at91rm9200-clk-main"; 112270864Simp #clock-cells = <0>; 113270864Simp clocks = <&main_osc>; 114270864Simp }; 115270864Simp 116270864Simp plla: pllack { 117270864Simp compatible = "atmel,at91rm9200-clk-pll"; 118270864Simp #clock-cells = <0>; 119270864Simp interrupts-extended = <&pmc AT91_PMC_LOCKA>; 120270864Simp clocks = <&main>; 121270864Simp reg = <0>; 122270864Simp atmel,clk-input-range = <1000000 32000000>; 123270864Simp #atmel,pll-clk-output-range-cells = <3>; 124270864Simp atmel,pll-clk-output-ranges = <80000000 160000000 0>, 125270864Simp <150000000 180000000 2>; 126270864Simp }; 127270864Simp 128270864Simp pllb: pllbck { 129270864Simp compatible = "atmel,at91rm9200-clk-pll"; 130270864Simp #clock-cells = <0>; 131270864Simp interrupts-extended = <&pmc AT91_PMC_LOCKB>; 132270864Simp clocks = <&main>; 133270864Simp reg = <1>; 134270864Simp atmel,clk-input-range = <1000000 32000000>; 135270864Simp #atmel,pll-clk-output-range-cells = <3>; 136270864Simp atmel,pll-clk-output-ranges = <80000000 160000000 0>, 137270864Simp <150000000 180000000 2>; 138270864Simp }; 139270864Simp 140270864Simp mck: masterck { 141270864Simp compatible = "atmel,at91rm9200-clk-master"; 142270864Simp #clock-cells = <0>; 143270864Simp interrupts-extended = <&pmc AT91_PMC_MCKRDY>; 144270864Simp clocks = <&slow_xtal>, <&main>, <&plla>, <&pllb>; 145270864Simp atmel,clk-output-range = <0 80000000>; 146270864Simp atmel,clk-divisors = <1 2 3 4>; 147270864Simp }; 148270864Simp 149270864Simp usb: usbck { 150270864Simp compatible = "atmel,at91rm9200-clk-usb"; 151270864Simp #clock-cells = <0>; 152270864Simp atmel,clk-divisors = <1 2>; 153270864Simp clocks = <&pllb>; 154270864Simp }; 155270864Simp 156270864Simp prog: progck { 157270864Simp compatible = "atmel,at91rm9200-clk-programmable"; 158270864Simp #address-cells = <1>; 159270864Simp #size-cells = <0>; 160270864Simp interrupt-parent = <&pmc>; 161270864Simp clocks = <&slow_xtal>, <&main>, <&plla>, <&pllb>; 162270864Simp 163270864Simp prog0: prog0 { 164270864Simp #clock-cells = <0>; 165270864Simp reg = <0>; 166270864Simp interrupts = <AT91_PMC_PCKRDY(0)>; 167270864Simp }; 168270864Simp 169270864Simp prog1: prog1 { 170270864Simp #clock-cells = <0>; 171270864Simp reg = <1>; 172270864Simp interrupts = <AT91_PMC_PCKRDY(1)>; 173270864Simp }; 174270864Simp 175270864Simp prog2: prog2 { 176270864Simp #clock-cells = <0>; 177270864Simp reg = <2>; 178270864Simp interrupts = <AT91_PMC_PCKRDY(2)>; 179270864Simp }; 180270864Simp 181270864Simp prog3: prog3 { 182270864Simp #clock-cells = <0>; 183270864Simp reg = <3>; 184270864Simp interrupts = <AT91_PMC_PCKRDY(3)>; 185270864Simp }; 186270864Simp }; 187270864Simp 188270864Simp systemck { 189270864Simp compatible = "atmel,at91rm9200-clk-system"; 190270864Simp #address-cells = <1>; 191270864Simp #size-cells = <0>; 192270864Simp 193270864Simp udpck: udpck { 194270864Simp #clock-cells = <0>; 195270864Simp reg = <2>; 196270864Simp clocks = <&usb>; 197270864Simp }; 198270864Simp 199270864Simp uhpck: uhpck { 200270864Simp #clock-cells = <0>; 201270864Simp reg = <4>; 202270864Simp clocks = <&usb>; 203270864Simp }; 204270864Simp 205270864Simp pck0: pck0 { 206270864Simp #clock-cells = <0>; 207270864Simp reg = <8>; 208270864Simp clocks = <&prog0>; 209270864Simp }; 210270864Simp 211270864Simp pck1: pck1 { 212270864Simp #clock-cells = <0>; 213270864Simp reg = <9>; 214270864Simp clocks = <&prog1>; 215270864Simp }; 216270864Simp 217270864Simp pck2: pck2 { 218270864Simp #clock-cells = <0>; 219270864Simp reg = <10>; 220270864Simp clocks = <&prog2>; 221270864Simp }; 222270864Simp 223270864Simp pck3: pck3 { 224270864Simp #clock-cells = <0>; 225270864Simp reg = <11>; 226270864Simp clocks = <&prog3>; 227270864Simp }; 228270864Simp }; 229270864Simp 230270864Simp periphck { 231270864Simp compatible = "atmel,at91rm9200-clk-peripheral"; 232270864Simp #address-cells = <1>; 233270864Simp #size-cells = <0>; 234270864Simp clocks = <&mck>; 235270864Simp 236270864Simp pioA_clk: pioA_clk { 237270864Simp #clock-cells = <0>; 238270864Simp reg = <2>; 239270864Simp }; 240270864Simp 241270864Simp pioB_clk: pioB_clk { 242270864Simp #clock-cells = <0>; 243270864Simp reg = <3>; 244270864Simp }; 245270864Simp 246270864Simp pioC_clk: pioC_clk { 247270864Simp #clock-cells = <0>; 248270864Simp reg = <4>; 249270864Simp }; 250270864Simp 251270864Simp pioD_clk: pioD_clk { 252270864Simp #clock-cells = <0>; 253270864Simp reg = <5>; 254270864Simp }; 255270864Simp 256270864Simp usart0_clk: usart0_clk { 257270864Simp #clock-cells = <0>; 258270864Simp reg = <6>; 259270864Simp }; 260270864Simp 261270864Simp usart1_clk: usart1_clk { 262270864Simp #clock-cells = <0>; 263270864Simp reg = <7>; 264270864Simp }; 265270864Simp 266270864Simp usart2_clk: usart2_clk { 267270864Simp #clock-cells = <0>; 268270864Simp reg = <8>; 269270864Simp }; 270270864Simp 271270864Simp usart3_clk: usart3_clk { 272270864Simp #clock-cells = <0>; 273270864Simp reg = <9>; 274270864Simp }; 275270864Simp 276270864Simp mci0_clk: mci0_clk { 277270864Simp #clock-cells = <0>; 278270864Simp reg = <10>; 279270864Simp }; 280270864Simp 281270864Simp udc_clk: udc_clk { 282270864Simp #clock-cells = <0>; 283270864Simp reg = <11>; 284270864Simp }; 285270864Simp 286270864Simp twi0_clk: twi0_clk { 287270864Simp reg = <12>; 288270864Simp #clock-cells = <0>; 289270864Simp }; 290270864Simp 291270864Simp spi0_clk: spi0_clk { 292270864Simp #clock-cells = <0>; 293270864Simp reg = <13>; 294270864Simp }; 295270864Simp 296270864Simp ssc0_clk: ssc0_clk { 297270864Simp #clock-cells = <0>; 298270864Simp reg = <14>; 299270864Simp }; 300270864Simp 301270864Simp ssc1_clk: ssc1_clk { 302270864Simp #clock-cells = <0>; 303270864Simp reg = <15>; 304270864Simp }; 305270864Simp 306270864Simp ssc2_clk: ssc2_clk { 307270864Simp #clock-cells = <0>; 308270864Simp reg = <16>; 309270864Simp }; 310270864Simp 311270864Simp tc0_clk: tc0_clk { 312270864Simp #clock-cells = <0>; 313270864Simp reg = <17>; 314270864Simp }; 315270864Simp 316270864Simp tc1_clk: tc1_clk { 317270864Simp #clock-cells = <0>; 318270864Simp reg = <18>; 319270864Simp }; 320270864Simp 321270864Simp tc2_clk: tc2_clk { 322270864Simp #clock-cells = <0>; 323270864Simp reg = <19>; 324270864Simp }; 325270864Simp 326270864Simp tc3_clk: tc3_clk { 327270864Simp #clock-cells = <0>; 328270864Simp reg = <20>; 329270864Simp }; 330270864Simp 331270864Simp tc4_clk: tc4_clk { 332270864Simp #clock-cells = <0>; 333270864Simp reg = <21>; 334270864Simp }; 335270864Simp 336270864Simp tc5_clk: tc5_clk { 337270864Simp #clock-cells = <0>; 338270864Simp reg = <22>; 339270864Simp }; 340270864Simp 341270864Simp ohci_clk: ohci_clk { 342270864Simp #clock-cells = <0>; 343270864Simp reg = <23>; 344270864Simp }; 345270864Simp 346270864Simp macb0_clk: macb0_clk { 347270864Simp #clock-cells = <0>; 348270864Simp reg = <24>; 349270864Simp }; 350270864Simp }; 351262569Simp }; 352262569Simp 353262569Simp st: timer@fffffd00 { 354262569Simp compatible = "atmel,at91rm9200-st"; 355262569Simp reg = <0xfffffd00 0x100>; 356262569Simp interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; 357262569Simp }; 358262569Simp 359262569Simp tcb0: timer@fffa0000 { 360262569Simp compatible = "atmel,at91rm9200-tcb"; 361262569Simp reg = <0xfffa0000 0x100>; 362262569Simp interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0 363262569Simp 18 IRQ_TYPE_LEVEL_HIGH 0 364262569Simp 19 IRQ_TYPE_LEVEL_HIGH 0>; 365270864Simp clocks = <&tc0_clk>, <&tc1_clk>, <&tc2_clk>; 366270864Simp clock-names = "t0_clk", "t1_clk", "t2_clk"; 367262569Simp }; 368262569Simp 369262569Simp tcb1: timer@fffa4000 { 370262569Simp compatible = "atmel,at91rm9200-tcb"; 371262569Simp reg = <0xfffa4000 0x100>; 372262569Simp interrupts = <20 IRQ_TYPE_LEVEL_HIGH 0 373262569Simp 21 IRQ_TYPE_LEVEL_HIGH 0 374262569Simp 22 IRQ_TYPE_LEVEL_HIGH 0>; 375270864Simp clocks = <&tc3_clk>, <&tc4_clk>, <&tc5_clk>; 376270864Simp clock-names = "t0_clk", "t1_clk", "t2_clk"; 377262569Simp }; 378262569Simp 379262569Simp i2c0: i2c@fffb8000 { 380262569Simp compatible = "atmel,at91rm9200-i2c"; 381262569Simp reg = <0xfffb8000 0x4000>; 382262569Simp interrupts = <12 IRQ_TYPE_LEVEL_HIGH 6>; 383262569Simp pinctrl-names = "default"; 384262569Simp pinctrl-0 = <&pinctrl_twi>; 385270864Simp clocks = <&twi0_clk>; 386262569Simp #address-cells = <1>; 387262569Simp #size-cells = <0>; 388262569Simp status = "disabled"; 389262569Simp }; 390262569Simp 391262569Simp mmc0: mmc@fffb4000 { 392262569Simp compatible = "atmel,hsmci"; 393262569Simp reg = <0xfffb4000 0x4000>; 394262569Simp interrupts = <10 IRQ_TYPE_LEVEL_HIGH 0>; 395270864Simp clocks = <&mci0_clk>; 396270864Simp clock-names = "mci_clk"; 397262569Simp #address-cells = <1>; 398262569Simp #size-cells = <0>; 399262569Simp pinctrl-names = "default"; 400262569Simp status = "disabled"; 401262569Simp }; 402262569Simp 403262569Simp ssc0: ssc@fffd0000 { 404262569Simp compatible = "atmel,at91rm9200-ssc"; 405262569Simp reg = <0xfffd0000 0x4000>; 406262569Simp interrupts = <14 IRQ_TYPE_LEVEL_HIGH 5>; 407262569Simp pinctrl-names = "default"; 408262569Simp pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>; 409270864Simp clocks = <&ssc0_clk>; 410270864Simp clock-names = "pclk"; 411262569Simp status = "disable"; 412262569Simp }; 413262569Simp 414262569Simp ssc1: ssc@fffd4000 { 415262569Simp compatible = "atmel,at91rm9200-ssc"; 416262569Simp reg = <0xfffd4000 0x4000>; 417262569Simp interrupts = <15 IRQ_TYPE_LEVEL_HIGH 5>; 418262569Simp pinctrl-names = "default"; 419262569Simp pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>; 420270864Simp clocks = <&ssc1_clk>; 421270864Simp clock-names = "pclk"; 422262569Simp status = "disable"; 423262569Simp }; 424262569Simp 425262569Simp ssc2: ssc@fffd8000 { 426262569Simp compatible = "atmel,at91rm9200-ssc"; 427262569Simp reg = <0xfffd8000 0x4000>; 428262569Simp interrupts = <16 IRQ_TYPE_LEVEL_HIGH 5>; 429262569Simp pinctrl-names = "default"; 430262569Simp pinctrl-0 = <&pinctrl_ssc2_tx &pinctrl_ssc2_rx>; 431270864Simp clocks = <&ssc2_clk>; 432270864Simp clock-names = "pclk"; 433262569Simp status = "disable"; 434262569Simp }; 435262569Simp 436262569Simp macb0: ethernet@fffbc000 { 437262569Simp compatible = "cdns,at91rm9200-emac", "cdns,emac"; 438262569Simp reg = <0xfffbc000 0x4000>; 439262569Simp interrupts = <24 IRQ_TYPE_LEVEL_HIGH 3>; 440262569Simp phy-mode = "rmii"; 441262569Simp pinctrl-names = "default"; 442262569Simp pinctrl-0 = <&pinctrl_macb_rmii>; 443270864Simp clocks = <&macb0_clk>; 444270864Simp clock-names = "ether_clk"; 445262569Simp status = "disabled"; 446262569Simp }; 447262569Simp 448262569Simp pinctrl@fffff400 { 449262569Simp #address-cells = <1>; 450262569Simp #size-cells = <1>; 451262569Simp compatible = "atmel,at91rm9200-pinctrl", "simple-bus"; 452262569Simp ranges = <0xfffff400 0xfffff400 0x800>; 453262569Simp 454262569Simp atmel,mux-mask = < 455262569Simp /* A B */ 456262569Simp 0xffffffff 0xffffffff /* pioA */ 457262569Simp 0xffffffff 0x083fffff /* pioB */ 458262569Simp 0xffff3fff 0x00000000 /* pioC */ 459262569Simp 0x03ff87ff 0x0fffff80 /* pioD */ 460262569Simp >; 461262569Simp 462262569Simp /* shared pinctrl settings */ 463262569Simp dbgu { 464262569Simp pinctrl_dbgu: dbgu-0 { 465262569Simp atmel,pins = 466262569Simp <AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA30 periph A */ 467262569Simp AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PA31 periph with pullup */ 468262569Simp }; 469262569Simp }; 470262569Simp 471262569Simp uart0 { 472262569Simp pinctrl_uart0: uart0-0 { 473262569Simp atmel,pins = 474262569Simp <AT91_PIOA 17 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA17 periph A */ 475262569Simp AT91_PIOA 18 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA18 periph A */ 476262569Simp }; 477262569Simp 478262569Simp pinctrl_uart0_cts: uart0_cts-0 { 479262569Simp atmel,pins = 480262569Simp <AT91_PIOA 20 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA20 periph A */ 481262569Simp }; 482262569Simp 483262569Simp pinctrl_uart0_rts: uart0_rts-0 { 484262569Simp atmel,pins = 485262569Simp <AT91_PIOA 21 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA21 periph A */ 486262569Simp }; 487262569Simp }; 488262569Simp 489262569Simp uart1 { 490262569Simp pinctrl_uart1: uart1-0 { 491262569Simp atmel,pins = 492262569Simp <AT91_PIOB 20 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PB20 periph A with pullup */ 493262569Simp AT91_PIOB 21 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB21 periph A */ 494262569Simp }; 495262569Simp 496262569Simp pinctrl_uart1_rts: uart1_rts-0 { 497262569Simp atmel,pins = 498262569Simp <AT91_PIOB 24 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB24 periph A */ 499262569Simp }; 500262569Simp 501262569Simp pinctrl_uart1_cts: uart1_cts-0 { 502262569Simp atmel,pins = 503262569Simp <AT91_PIOB 26 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB26 periph A */ 504262569Simp }; 505262569Simp 506262569Simp pinctrl_uart1_dtr_dsr: uart1_dtr_dsr-0 { 507262569Simp atmel,pins = 508262569Simp <AT91_PIOB 19 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB19 periph A */ 509262569Simp AT91_PIOB 25 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB25 periph A */ 510262569Simp }; 511262569Simp 512262569Simp pinctrl_uart1_dcd: uart1_dcd-0 { 513262569Simp atmel,pins = 514262569Simp <AT91_PIOB 23 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB23 periph A */ 515262569Simp }; 516262569Simp 517262569Simp pinctrl_uart1_ri: uart1_ri-0 { 518262569Simp atmel,pins = 519262569Simp <AT91_PIOB 18 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB18 periph A */ 520262569Simp }; 521262569Simp }; 522262569Simp 523262569Simp uart2 { 524262569Simp pinctrl_uart2: uart2-0 { 525262569Simp atmel,pins = 526262569Simp <AT91_PIOA 22 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA22 periph A */ 527262569Simp AT91_PIOA 23 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PA23 periph A with pullup */ 528262569Simp }; 529262569Simp 530262569Simp pinctrl_uart2_rts: uart2_rts-0 { 531262569Simp atmel,pins = 532262569Simp <AT91_PIOA 30 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PA30 periph B */ 533262569Simp }; 534262569Simp 535262569Simp pinctrl_uart2_cts: uart2_cts-0 { 536262569Simp atmel,pins = 537262569Simp <AT91_PIOA 31 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PA31 periph B */ 538262569Simp }; 539262569Simp }; 540262569Simp 541262569Simp uart3 { 542262569Simp pinctrl_uart3: uart3-0 { 543262569Simp atmel,pins = 544262569Simp <AT91_PIOA 5 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* PA5 periph B with pullup */ 545262569Simp AT91_PIOA 6 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PA6 periph B */ 546262569Simp }; 547262569Simp 548262569Simp pinctrl_uart3_rts: uart3_rts-0 { 549262569Simp atmel,pins = 550262569Simp <AT91_PIOB 0 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PB0 periph B */ 551262569Simp }; 552262569Simp 553262569Simp pinctrl_uart3_cts: uart3_cts-0 { 554262569Simp atmel,pins = 555262569Simp <AT91_PIOB 1 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PB1 periph B */ 556262569Simp }; 557262569Simp }; 558262569Simp 559262569Simp nand { 560262569Simp pinctrl_nand: nand-0 { 561262569Simp atmel,pins = 562262569Simp <AT91_PIOC 2 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP /* PC2 gpio RDY pin pull_up */ 563262569Simp AT91_PIOB 1 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>; /* PB1 gpio CD pin pull_up */ 564262569Simp }; 565262569Simp }; 566262569Simp 567262569Simp macb { 568262569Simp pinctrl_macb_rmii: macb_rmii-0 { 569262569Simp atmel,pins = 570262569Simp <AT91_PIOA 7 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA7 periph A */ 571262569Simp AT91_PIOA 8 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA8 periph A */ 572262569Simp AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA9 periph A */ 573262569Simp AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA10 periph A */ 574262569Simp AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA11 periph A */ 575262569Simp AT91_PIOA 12 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA12 periph A */ 576262569Simp AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA13 periph A */ 577262569Simp AT91_PIOA 14 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA14 periph A */ 578262569Simp AT91_PIOA 15 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA15 periph A */ 579262569Simp AT91_PIOA 16 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA16 periph A */ 580262569Simp }; 581262569Simp 582262569Simp pinctrl_macb_rmii_mii: macb_rmii_mii-0 { 583262569Simp atmel,pins = 584262569Simp <AT91_PIOB 12 AT91_PERIPH_B AT91_PINCTRL_NONE /* PB12 periph B */ 585262569Simp AT91_PIOB 13 AT91_PERIPH_B AT91_PINCTRL_NONE /* PB13 periph B */ 586262569Simp AT91_PIOB 14 AT91_PERIPH_B AT91_PINCTRL_NONE /* PB14 periph B */ 587262569Simp AT91_PIOB 15 AT91_PERIPH_B AT91_PINCTRL_NONE /* PB15 periph B */ 588262569Simp AT91_PIOB 16 AT91_PERIPH_B AT91_PINCTRL_NONE /* PB16 periph B */ 589262569Simp AT91_PIOB 17 AT91_PERIPH_B AT91_PINCTRL_NONE /* PB17 periph B */ 590262569Simp AT91_PIOB 18 AT91_PERIPH_B AT91_PINCTRL_NONE /* PB18 periph B */ 591262569Simp AT91_PIOB 19 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PB19 periph B */ 592262569Simp }; 593262569Simp }; 594262569Simp 595262569Simp mmc0 { 596262569Simp pinctrl_mmc0_clk: mmc0_clk-0 { 597262569Simp atmel,pins = 598262569Simp <AT91_PIOA 27 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA27 periph A */ 599262569Simp }; 600262569Simp 601262569Simp pinctrl_mmc0_slot0_cmd_dat0: mmc0_slot0_cmd_dat0-0 { 602262569Simp atmel,pins = 603262569Simp <AT91_PIOA 28 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA28 periph A with pullup */ 604262569Simp AT91_PIOA 29 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PA29 periph A with pullup */ 605262569Simp }; 606262569Simp 607262569Simp pinctrl_mmc0_slot0_dat1_3: mmc0_slot0_dat1_3-0 { 608262569Simp atmel,pins = 609262569Simp <AT91_PIOB 3 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* PB3 periph B with pullup */ 610262569Simp AT91_PIOB 4 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* PB4 periph B with pullup */ 611262569Simp AT91_PIOB 5 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>; /* PB5 periph B with pullup */ 612262569Simp }; 613262569Simp 614262569Simp pinctrl_mmc0_slot1_cmd_dat0: mmc0_slot1_cmd_dat0-0 { 615262569Simp atmel,pins = 616262569Simp <AT91_PIOA 8 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* PA8 periph B with pullup */ 617262569Simp AT91_PIOA 9 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>; /* PA9 periph B with pullup */ 618262569Simp }; 619262569Simp 620262569Simp pinctrl_mmc0_slot1_dat1_3: mmc0_slot1_dat1_3-0 { 621262569Simp atmel,pins = 622262569Simp <AT91_PIOA 10 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* PA10 periph B with pullup */ 623262569Simp AT91_PIOA 11 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* PA11 periph B with pullup */ 624262569Simp AT91_PIOA 12 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>; /* PA12 periph B with pullup */ 625262569Simp }; 626262569Simp }; 627262569Simp 628262569Simp ssc0 { 629262569Simp pinctrl_ssc0_tx: ssc0_tx-0 { 630262569Simp atmel,pins = 631262569Simp <AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB0 periph A */ 632262569Simp AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB1 periph A */ 633262569Simp AT91_PIOB 2 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB2 periph A */ 634262569Simp }; 635262569Simp 636262569Simp pinctrl_ssc0_rx: ssc0_rx-0 { 637262569Simp atmel,pins = 638262569Simp <AT91_PIOB 3 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB3 periph A */ 639262569Simp AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB4 periph A */ 640262569Simp AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB5 periph A */ 641262569Simp }; 642262569Simp }; 643262569Simp 644262569Simp ssc1 { 645262569Simp pinctrl_ssc1_tx: ssc1_tx-0 { 646262569Simp atmel,pins = 647262569Simp <AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB6 periph A */ 648262569Simp AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB7 periph A */ 649262569Simp AT91_PIOB 8 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB8 periph A */ 650262569Simp }; 651262569Simp 652262569Simp pinctrl_ssc1_rx: ssc1_rx-0 { 653262569Simp atmel,pins = 654262569Simp <AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB9 periph A */ 655262569Simp AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB10 periph A */ 656262569Simp AT91_PIOB 11 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB11 periph A */ 657262569Simp }; 658262569Simp }; 659262569Simp 660262569Simp ssc2 { 661262569Simp pinctrl_ssc2_tx: ssc2_tx-0 { 662262569Simp atmel,pins = 663262569Simp <AT91_PIOB 12 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB12 periph A */ 664262569Simp AT91_PIOB 13 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB13 periph A */ 665262569Simp AT91_PIOB 14 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB14 periph A */ 666262569Simp }; 667262569Simp 668262569Simp pinctrl_ssc2_rx: ssc2_rx-0 { 669262569Simp atmel,pins = 670262569Simp <AT91_PIOB 15 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB15 periph A */ 671262569Simp AT91_PIOB 16 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB16 periph A */ 672262569Simp AT91_PIOB 17 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB17 periph A */ 673262569Simp }; 674262569Simp }; 675262569Simp 676262569Simp twi { 677262569Simp pinctrl_twi: twi-0 { 678262569Simp atmel,pins = 679262569Simp <AT91_PIOA 25 AT91_PERIPH_A AT91_PINCTRL_MULTI_DRIVE /* PA25 periph A with multi drive */ 680262569Simp AT91_PIOA 26 AT91_PERIPH_A AT91_PINCTRL_MULTI_DRIVE>; /* PA26 periph A with multi drive */ 681262569Simp }; 682262569Simp 683262569Simp pinctrl_twi_gpio: twi_gpio-0 { 684262569Simp atmel,pins = 685262569Simp <AT91_PIOA 25 AT91_PERIPH_GPIO AT91_PINCTRL_MULTI_DRIVE /* PA25 GPIO with multi drive */ 686262569Simp AT91_PIOA 26 AT91_PERIPH_GPIO AT91_PINCTRL_MULTI_DRIVE>; /* PA26 GPIO with multi drive */ 687262569Simp }; 688262569Simp }; 689262569Simp 690262569Simp tcb0 { 691262569Simp pinctrl_tcb0_tclk0: tcb0_tclk0-0 { 692262569Simp atmel,pins = <AT91_PIOA 13 AT91_PERIPH_B AT91_PINCTRL_NONE>; 693262569Simp }; 694262569Simp 695262569Simp pinctrl_tcb0_tclk1: tcb0_tclk1-0 { 696262569Simp atmel,pins = <AT91_PIOA 14 AT91_PERIPH_B AT91_PINCTRL_NONE>; 697262569Simp }; 698262569Simp 699262569Simp pinctrl_tcb0_tclk2: tcb0_tclk2-0 { 700262569Simp atmel,pins = <AT91_PIOA 15 AT91_PERIPH_B AT91_PINCTRL_NONE>; 701262569Simp }; 702262569Simp 703262569Simp pinctrl_tcb0_tioa0: tcb0_tioa0-0 { 704262569Simp atmel,pins = <AT91_PIOA 17 AT91_PERIPH_B AT91_PINCTRL_NONE>; 705262569Simp }; 706262569Simp 707262569Simp pinctrl_tcb0_tioa1: tcb0_tioa1-0 { 708262569Simp atmel,pins = <AT91_PIOA 19 AT91_PERIPH_B AT91_PINCTRL_NONE>; 709262569Simp }; 710262569Simp 711262569Simp pinctrl_tcb0_tioa2: tcb0_tioa2-0 { 712262569Simp atmel,pins = <AT91_PIOA 21 AT91_PERIPH_B AT91_PINCTRL_NONE>; 713262569Simp }; 714262569Simp 715262569Simp pinctrl_tcb0_tiob0: tcb0_tiob0-0 { 716262569Simp atmel,pins = <AT91_PIOA 18 AT91_PERIPH_B AT91_PINCTRL_NONE>; 717262569Simp }; 718262569Simp 719262569Simp pinctrl_tcb0_tiob1: tcb0_tiob1-0 { 720262569Simp atmel,pins = <AT91_PIOA 20 AT91_PERIPH_B AT91_PINCTRL_NONE>; 721262569Simp }; 722262569Simp 723262569Simp pinctrl_tcb0_tiob2: tcb0_tiob2-0 { 724262569Simp atmel,pins = <AT91_PIOA 22 AT91_PERIPH_B AT91_PINCTRL_NONE>; 725262569Simp }; 726262569Simp }; 727262569Simp 728262569Simp tcb1 { 729262569Simp pinctrl_tcb1_tclk0: tcb1_tclk0-0 { 730262569Simp atmel,pins = <AT91_PIOA 27 AT91_PERIPH_B AT91_PINCTRL_NONE>; 731262569Simp }; 732262569Simp 733262569Simp pinctrl_tcb1_tclk1: tcb1_tclk1-0 { 734262569Simp atmel,pins = <AT91_PIOA 28 AT91_PERIPH_B AT91_PINCTRL_NONE>; 735262569Simp }; 736262569Simp 737262569Simp pinctrl_tcb1_tclk2: tcb1_tclk2-0 { 738262569Simp atmel,pins = <AT91_PIOA 29 AT91_PERIPH_B AT91_PINCTRL_NONE>; 739262569Simp }; 740262569Simp 741262569Simp pinctrl_tcb1_tioa0: tcb1_tioa0-0 { 742262569Simp atmel,pins = <AT91_PIOB 6 AT91_PERIPH_B AT91_PINCTRL_NONE>; 743262569Simp }; 744262569Simp 745262569Simp pinctrl_tcb1_tioa1: tcb1_tioa1-0 { 746262569Simp atmel,pins = <AT91_PIOB 8 AT91_PERIPH_B AT91_PINCTRL_NONE>; 747262569Simp }; 748262569Simp 749262569Simp pinctrl_tcb1_tioa2: tcb1_tioa2-0 { 750262569Simp atmel,pins = <AT91_PIOB 10 AT91_PERIPH_B AT91_PINCTRL_NONE>; 751262569Simp }; 752262569Simp 753262569Simp pinctrl_tcb1_tiob0: tcb1_tiob0-0 { 754262569Simp atmel,pins = <AT91_PIOB 7 AT91_PERIPH_B AT91_PINCTRL_NONE>; 755262569Simp }; 756262569Simp 757262569Simp pinctrl_tcb1_tiob1: tcb1_tiob1-0 { 758262569Simp atmel,pins = <AT91_PIOB 9 AT91_PERIPH_B AT91_PINCTRL_NONE>; 759262569Simp }; 760262569Simp 761262569Simp pinctrl_tcb1_tiob2: tcb1_tiob2-0 { 762262569Simp atmel,pins = <AT91_PIOB 11 AT91_PERIPH_B AT91_PINCTRL_NONE>; 763262569Simp }; 764262569Simp }; 765262569Simp 766262569Simp spi0 { 767262569Simp pinctrl_spi0: spi0-0 { 768262569Simp atmel,pins = 769262569Simp <AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA0 periph A SPI0_MISO pin */ 770262569Simp AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA1 periph A SPI0_MOSI pin */ 771262569Simp AT91_PIOA 2 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA2 periph A SPI0_SPCK pin */ 772262569Simp }; 773262569Simp }; 774262569Simp 775262569Simp pioA: gpio@fffff400 { 776262569Simp compatible = "atmel,at91rm9200-gpio"; 777262569Simp reg = <0xfffff400 0x200>; 778262569Simp interrupts = <2 IRQ_TYPE_LEVEL_HIGH 1>; 779262569Simp #gpio-cells = <2>; 780262569Simp gpio-controller; 781262569Simp interrupt-controller; 782262569Simp #interrupt-cells = <2>; 783270864Simp clocks = <&pioA_clk>; 784262569Simp }; 785262569Simp 786262569Simp pioB: gpio@fffff600 { 787262569Simp compatible = "atmel,at91rm9200-gpio"; 788262569Simp reg = <0xfffff600 0x200>; 789262569Simp interrupts = <3 IRQ_TYPE_LEVEL_HIGH 1>; 790262569Simp #gpio-cells = <2>; 791262569Simp gpio-controller; 792262569Simp interrupt-controller; 793262569Simp #interrupt-cells = <2>; 794270864Simp clocks = <&pioB_clk>; 795262569Simp }; 796262569Simp 797262569Simp pioC: gpio@fffff800 { 798262569Simp compatible = "atmel,at91rm9200-gpio"; 799262569Simp reg = <0xfffff800 0x200>; 800262569Simp interrupts = <4 IRQ_TYPE_LEVEL_HIGH 1>; 801262569Simp #gpio-cells = <2>; 802262569Simp gpio-controller; 803262569Simp interrupt-controller; 804262569Simp #interrupt-cells = <2>; 805270864Simp clocks = <&pioC_clk>; 806262569Simp }; 807262569Simp 808262569Simp pioD: gpio@fffffa00 { 809262569Simp compatible = "atmel,at91rm9200-gpio"; 810262569Simp reg = <0xfffffa00 0x200>; 811262569Simp interrupts = <5 IRQ_TYPE_LEVEL_HIGH 1>; 812262569Simp #gpio-cells = <2>; 813262569Simp gpio-controller; 814262569Simp interrupt-controller; 815262569Simp #interrupt-cells = <2>; 816270864Simp clocks = <&pioD_clk>; 817262569Simp }; 818262569Simp }; 819262569Simp 820262569Simp dbgu: serial@fffff200 { 821262569Simp compatible = "atmel,at91rm9200-usart"; 822262569Simp reg = <0xfffff200 0x200>; 823262569Simp interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; 824262569Simp pinctrl-names = "default"; 825262569Simp pinctrl-0 = <&pinctrl_dbgu>; 826270864Simp clocks = <&mck>; 827270864Simp clock-names = "usart"; 828262569Simp status = "disabled"; 829262569Simp }; 830262569Simp 831262569Simp usart0: serial@fffc0000 { 832262569Simp compatible = "atmel,at91rm9200-usart"; 833262569Simp reg = <0xfffc0000 0x200>; 834262569Simp interrupts = <6 IRQ_TYPE_LEVEL_HIGH 5>; 835262569Simp atmel,use-dma-rx; 836262569Simp atmel,use-dma-tx; 837262569Simp pinctrl-names = "default"; 838262569Simp pinctrl-0 = <&pinctrl_uart0>; 839270864Simp clocks = <&usart0_clk>; 840270864Simp clock-names = "usart"; 841262569Simp status = "disabled"; 842262569Simp }; 843262569Simp 844262569Simp usart1: serial@fffc4000 { 845262569Simp compatible = "atmel,at91rm9200-usart"; 846262569Simp reg = <0xfffc4000 0x200>; 847262569Simp interrupts = <7 IRQ_TYPE_LEVEL_HIGH 5>; 848262569Simp atmel,use-dma-rx; 849262569Simp atmel,use-dma-tx; 850262569Simp pinctrl-names = "default"; 851262569Simp pinctrl-0 = <&pinctrl_uart1>; 852270864Simp clocks = <&usart1_clk>; 853270864Simp clock-names = "usart"; 854262569Simp status = "disabled"; 855262569Simp }; 856262569Simp 857262569Simp usart2: serial@fffc8000 { 858262569Simp compatible = "atmel,at91rm9200-usart"; 859262569Simp reg = <0xfffc8000 0x200>; 860262569Simp interrupts = <8 IRQ_TYPE_LEVEL_HIGH 5>; 861262569Simp atmel,use-dma-rx; 862262569Simp atmel,use-dma-tx; 863262569Simp pinctrl-names = "default"; 864262569Simp pinctrl-0 = <&pinctrl_uart2>; 865270864Simp clocks = <&usart2_clk>; 866270864Simp clock-names = "usart"; 867262569Simp status = "disabled"; 868262569Simp }; 869262569Simp 870262569Simp usart3: serial@fffcc000 { 871262569Simp compatible = "atmel,at91rm9200-usart"; 872262569Simp reg = <0xfffcc000 0x200>; 873262569Simp interrupts = <23 IRQ_TYPE_LEVEL_HIGH 5>; 874262569Simp atmel,use-dma-rx; 875262569Simp atmel,use-dma-tx; 876262569Simp pinctrl-names = "default"; 877262569Simp pinctrl-0 = <&pinctrl_uart3>; 878270864Simp clocks = <&usart3_clk>; 879270864Simp clock-names = "usart"; 880262569Simp status = "disabled"; 881262569Simp }; 882262569Simp 883262569Simp usb1: gadget@fffb0000 { 884262569Simp compatible = "atmel,at91rm9200-udc"; 885262569Simp reg = <0xfffb0000 0x4000>; 886262569Simp interrupts = <11 IRQ_TYPE_LEVEL_HIGH 2>; 887270864Simp clocks = <&udc_clk>, <&udpck>; 888270864Simp clock-names = "pclk", "hclk"; 889262569Simp status = "disabled"; 890262569Simp }; 891262569Simp 892262569Simp spi0: spi@fffe0000 { 893262569Simp #address-cells = <1>; 894262569Simp #size-cells = <0>; 895262569Simp compatible = "atmel,at91rm9200-spi"; 896262569Simp reg = <0xfffe0000 0x200>; 897262569Simp interrupts = <13 IRQ_TYPE_LEVEL_HIGH 3>; 898262569Simp pinctrl-names = "default"; 899262569Simp pinctrl-0 = <&pinctrl_spi0>; 900270864Simp clocks = <&spi0_clk>; 901270864Simp clock-names = "spi_clk"; 902262569Simp status = "disabled"; 903262569Simp }; 904262569Simp }; 905262569Simp 906262569Simp nand0: nand@40000000 { 907262569Simp compatible = "atmel,at91rm9200-nand"; 908262569Simp #address-cells = <1>; 909262569Simp #size-cells = <1>; 910262569Simp reg = <0x40000000 0x10000000>; 911262569Simp atmel,nand-addr-offset = <21>; 912262569Simp atmel,nand-cmd-offset = <22>; 913262569Simp pinctrl-names = "default"; 914262569Simp pinctrl-0 = <&pinctrl_nand>; 915262569Simp nand-ecc-mode = "soft"; 916262569Simp gpios = <&pioC 2 GPIO_ACTIVE_HIGH 917262569Simp 0 918262569Simp &pioB 1 GPIO_ACTIVE_HIGH 919262569Simp >; 920262569Simp status = "disabled"; 921262569Simp }; 922262569Simp 923262569Simp usb0: ohci@00300000 { 924262569Simp compatible = "atmel,at91rm9200-ohci", "usb-ohci"; 925262569Simp reg = <0x00300000 0x100000>; 926262569Simp interrupts = <23 IRQ_TYPE_LEVEL_HIGH 2>; 927270864Simp clocks = <&usb>, <&ohci_clk>, <&ohci_clk>, <&uhpck>; 928270864Simp clock-names = "usb_clk", "ohci_clk", "hclk", "uhpck"; 929262569Simp status = "disabled"; 930262569Simp }; 931262569Simp }; 932262569Simp 933262569Simp i2c@0 { 934262569Simp compatible = "i2c-gpio"; 935262569Simp gpios = <&pioA 25 GPIO_ACTIVE_HIGH /* sda */ 936262569Simp &pioA 26 GPIO_ACTIVE_HIGH /* scl */ 937262569Simp >; 938262569Simp i2c-gpio,sda-open-drain; 939262569Simp i2c-gpio,scl-open-drain; 940262569Simp i2c-gpio,delay-us = <2>; /* ~100 kHz */ 941262569Simp pinctrl-names = "default"; 942262569Simp pinctrl-0 = <&pinctrl_twi_gpio>; 943262569Simp #address-cells = <1>; 944262569Simp #size-cells = <0>; 945262569Simp status = "disabled"; 946262569Simp }; 947262569Simp}; 948