1// SPDX-License-Identifier: GPL-2.0-or-later 2/* 3 * at91sam9260.dtsi - Device Tree Include file for AT91SAM9260 family SoC 4 * 5 * Copyright (C) 2011 Atmel, 6 * 2011 Nicolas Ferre <nicolas.ferre@atmel.com>, 7 * 2011 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> 8 */ 9 10#include <dt-bindings/pinctrl/at91.h> 11#include <dt-bindings/interrupt-controller/irq.h> 12#include <dt-bindings/gpio/gpio.h> 13#include <dt-bindings/clock/at91.h> 14#include <dt-bindings/mfd/at91-usart.h> 15 16/ { 17 #address-cells = <1>; 18 #size-cells = <1>; 19 model = "Atmel AT91SAM9260 family SoC"; 20 compatible = "atmel,at91sam9260"; 21 interrupt-parent = <&aic>; 22 23 aliases { 24 serial0 = &dbgu; 25 serial1 = &usart0; 26 serial2 = &usart1; 27 serial3 = &usart2; 28 serial4 = &usart3; 29 serial5 = &uart0; 30 serial6 = &uart1; 31 gpio0 = &pioA; 32 gpio1 = &pioB; 33 gpio2 = &pioC; 34 tcb0 = &tcb0; 35 tcb1 = &tcb1; 36 i2c0 = &i2c0; 37 ssc0 = &ssc0; 38 }; 39 cpus { 40 #address-cells = <1>; 41 #size-cells = <0>; 42 43 cpu@0 { 44 compatible = "arm,arm926ej-s"; 45 device_type = "cpu"; 46 reg = <0>; 47 }; 48 }; 49 50 memory@20000000 { 51 device_type = "memory"; 52 reg = <0x20000000 0x04000000>; 53 }; 54 55 clocks { 56 slow_xtal: slow_xtal { 57 compatible = "fixed-clock"; 58 #clock-cells = <0>; 59 clock-frequency = <0>; 60 }; 61 62 main_xtal: main_xtal { 63 compatible = "fixed-clock"; 64 #clock-cells = <0>; 65 clock-frequency = <0>; 66 }; 67 68 adc_op_clk: adc_op_clk { 69 compatible = "fixed-clock"; 70 #clock-cells = <0>; 71 clock-frequency = <5000000>; 72 }; 73 }; 74 75 sram0: sram@2ff000 { 76 compatible = "mmio-sram"; 77 reg = <0x002ff000 0x2000>; 78 #address-cells = <1>; 79 #size-cells = <1>; 80 ranges = <0 0x002ff000 0x2000>; 81 }; 82 83 ahb { 84 compatible = "simple-bus"; 85 #address-cells = <1>; 86 #size-cells = <1>; 87 ranges; 88 89 apb { 90 compatible = "simple-bus"; 91 #address-cells = <1>; 92 #size-cells = <1>; 93 ranges; 94 95 aic: interrupt-controller@fffff000 { 96 #interrupt-cells = <3>; 97 compatible = "atmel,at91rm9200-aic"; 98 interrupt-controller; 99 reg = <0xfffff000 0x200>; 100 atmel,external-irqs = <29 30 31>; 101 }; 102 103 ramc0: ramc@ffffea00 { 104 compatible = "atmel,at91sam9260-sdramc"; 105 reg = <0xffffea00 0x200>; 106 }; 107 108 smc: smc@ffffec00 { 109 compatible = "atmel,at91sam9260-smc", "syscon"; 110 reg = <0xffffec00 0x200>; 111 }; 112 113 matrix: matrix@ffffee00 { 114 compatible = "atmel,at91sam9260-matrix", "syscon"; 115 reg = <0xffffee00 0x200>; 116 }; 117 118 pmc: clock-controller@fffffc00 { 119 compatible = "atmel,at91sam9260-pmc", "syscon"; 120 reg = <0xfffffc00 0x100>; 121 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; 122 #clock-cells = <2>; 123 clocks = <&slow_xtal>, <&main_xtal>; 124 clock-names = "slow_xtal", "main_xtal"; 125 }; 126 127 reset-controller@fffffd00 { 128 compatible = "atmel,at91sam9260-rstc"; 129 reg = <0xfffffd00 0x10>; 130 clocks = <&pmc PMC_TYPE_CORE PMC_SLOW>; 131 }; 132 133 shdwc: poweroff@fffffd10 { 134 compatible = "atmel,at91sam9260-shdwc"; 135 reg = <0xfffffd10 0x10>; 136 clocks = <&pmc PMC_TYPE_CORE PMC_SLOW>; 137 }; 138 139 pit: timer@fffffd30 { 140 compatible = "atmel,at91sam9260-pit"; 141 reg = <0xfffffd30 0xf>; 142 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; 143 clocks = <&pmc PMC_TYPE_CORE PMC_MCK>; 144 }; 145 146 tcb0: timer@fffa0000 { 147 compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon"; 148 #address-cells = <1>; 149 #size-cells = <0>; 150 reg = <0xfffa0000 0x100>; 151 interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0>, 152 <18 IRQ_TYPE_LEVEL_HIGH 0>, 153 <19 IRQ_TYPE_LEVEL_HIGH 0>; 154 clocks = <&pmc PMC_TYPE_PERIPHERAL 17>, <&pmc PMC_TYPE_PERIPHERAL 18>, <&pmc PMC_TYPE_PERIPHERAL 19>, <&pmc PMC_TYPE_CORE PMC_SLOW>; 155 clock-names = "t0_clk", "t1_clk", "t2_clk", "slow_clk"; 156 }; 157 158 tcb1: timer@fffdc000 { 159 compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon"; 160 #address-cells = <1>; 161 #size-cells = <0>; 162 reg = <0xfffdc000 0x100>; 163 interrupts = <26 IRQ_TYPE_LEVEL_HIGH 0>, 164 <27 IRQ_TYPE_LEVEL_HIGH 0>, 165 <28 IRQ_TYPE_LEVEL_HIGH 0>; 166 clocks = <&pmc PMC_TYPE_PERIPHERAL 26>, <&pmc PMC_TYPE_PERIPHERAL 27>, <&pmc PMC_TYPE_PERIPHERAL 28>, <&pmc PMC_TYPE_CORE PMC_SLOW>; 167 clock-names = "t0_clk", "t1_clk", "t2_clk", "slow_clk"; 168 }; 169 170 pinctrl: pinctrl@fffff400 { 171 #address-cells = <1>; 172 #size-cells = <1>; 173 compatible = "atmel,at91rm9200-pinctrl", "simple-mfd"; 174 ranges = <0xfffff400 0xfffff400 0x600>; 175 176 atmel,mux-mask = < 177 /* A B */ 178 0xffffffff 0xffc00c3b /* pioA */ 179 0xffffffff 0x7fff3ccf /* pioB */ 180 0xffffffff 0x007fffff /* pioC */ 181 >; 182 183 /* shared pinctrl settings */ 184 dbgu { 185 pinctrl_dbgu: dbgu-0 { 186 atmel,pins = 187 <AT91_PIOB 14 AT91_PERIPH_A AT91_PINCTRL_PULL_UP 188 AT91_PIOB 15 AT91_PERIPH_A AT91_PINCTRL_NONE>; 189 }; 190 }; 191 192 usart0 { 193 pinctrl_usart0: usart0-0 { 194 atmel,pins = 195 <AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_PULL_UP 196 AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; 197 }; 198 199 pinctrl_usart0_rts: usart0_rts-0 { 200 atmel,pins = 201 <AT91_PIOB 26 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB26 periph A */ 202 }; 203 204 pinctrl_usart0_cts: usart0_cts-0 { 205 atmel,pins = 206 <AT91_PIOB 27 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB27 periph A */ 207 }; 208 209 pinctrl_usart0_dtr_dsr: usart0_dtr_dsr-0 { 210 atmel,pins = 211 <AT91_PIOB 24 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB24 periph A */ 212 AT91_PIOB 22 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB22 periph A */ 213 }; 214 215 pinctrl_usart0_dcd: usart0_dcd-0 { 216 atmel,pins = 217 <AT91_PIOB 23 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB23 periph A */ 218 }; 219 220 pinctrl_usart0_ri: usart0_ri-0 { 221 atmel,pins = 222 <AT91_PIOB 25 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB25 periph A */ 223 }; 224 }; 225 226 usart1 { 227 pinctrl_usart1: usart1-0 { 228 atmel,pins = 229 <AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_PULL_UP 230 AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; 231 }; 232 233 pinctrl_usart1_rts: usart1_rts-0 { 234 atmel,pins = 235 <AT91_PIOB 28 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB28 periph A */ 236 }; 237 238 pinctrl_usart1_cts: usart1_cts-0 { 239 atmel,pins = 240 <AT91_PIOB 29 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB29 periph A */ 241 }; 242 }; 243 244 usart2 { 245 pinctrl_usart2: usart2-0 { 246 atmel,pins = 247 <AT91_PIOB 8 AT91_PERIPH_A AT91_PINCTRL_PULL_UP 248 AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; 249 }; 250 251 pinctrl_usart2_rts: usart2_rts-0 { 252 atmel,pins = 253 <AT91_PIOA 4 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA4 periph A */ 254 }; 255 256 pinctrl_usart2_cts: usart2_cts-0 { 257 atmel,pins = 258 <AT91_PIOA 5 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA5 periph A */ 259 }; 260 }; 261 262 usart3 { 263 pinctrl_usart3: usart3-0 { 264 atmel,pins = 265 <AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_PULL_UP 266 AT91_PIOB 11 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; 267 }; 268 269 pinctrl_usart3_rts: usart3_rts-0 { 270 atmel,pins = 271 <AT91_PIOC 8 AT91_PERIPH_B AT91_PINCTRL_NONE>; 272 }; 273 274 pinctrl_usart3_cts: usart3_cts-0 { 275 atmel,pins = 276 <AT91_PIOC 10 AT91_PERIPH_B AT91_PINCTRL_NONE>; 277 }; 278 }; 279 280 uart0 { 281 pinctrl_uart0: uart0-0 { 282 atmel,pins = 283 <AT91_PIOA 31 AT91_PERIPH_B AT91_PINCTRL_PULL_UP 284 AT91_PIOA 30 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>; 285 }; 286 }; 287 288 uart1 { 289 pinctrl_uart1: uart1-0 { 290 atmel,pins = 291 <AT91_PIOB 12 AT91_PERIPH_A AT91_PINCTRL_PULL_UP 292 AT91_PIOB 13 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; 293 }; 294 }; 295 296 nand { 297 pinctrl_nand_rb: nand-rb-0 { 298 atmel,pins = 299 <AT91_PIOC 13 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>; 300 }; 301 302 pinctrl_nand_cs: nand-cs-0 { 303 atmel,pins = 304 <AT91_PIOC 14 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>; 305 }; 306 }; 307 308 macb { 309 pinctrl_macb_rmii: macb_rmii-0 { 310 atmel,pins = 311 <AT91_PIOA 12 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA12 periph A */ 312 AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA13 periph A */ 313 AT91_PIOA 14 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA14 periph A */ 314 AT91_PIOA 15 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA15 periph A */ 315 AT91_PIOA 16 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA16 periph A */ 316 AT91_PIOA 17 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA17 periph A */ 317 AT91_PIOA 18 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA18 periph A */ 318 AT91_PIOA 19 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA19 periph A */ 319 AT91_PIOA 20 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA20 periph A */ 320 AT91_PIOA 21 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA21 periph A */ 321 }; 322 323 pinctrl_macb_rmii_mii: macb_rmii_mii-0 { 324 atmel,pins = 325 <AT91_PIOA 22 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA22 periph B */ 326 AT91_PIOA 23 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA23 periph B */ 327 AT91_PIOA 24 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA24 periph B */ 328 AT91_PIOA 25 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA25 periph B */ 329 AT91_PIOA 26 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA26 periph B */ 330 AT91_PIOA 27 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA27 periph B */ 331 AT91_PIOA 28 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA28 periph B */ 332 AT91_PIOA 29 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PA29 periph B */ 333 }; 334 335 pinctrl_macb_rmii_mii_alt: macb_rmii_mii-1 { 336 atmel,pins = 337 <AT91_PIOA 10 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA10 periph B */ 338 AT91_PIOA 11 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA11 periph B */ 339 AT91_PIOA 22 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA22 periph B */ 340 AT91_PIOA 25 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA25 periph B */ 341 AT91_PIOA 26 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA26 periph B */ 342 AT91_PIOA 27 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA27 periph B */ 343 AT91_PIOA 28 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA28 periph B */ 344 AT91_PIOA 29 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PA29 periph B */ 345 }; 346 }; 347 348 mmc0 { 349 pinctrl_mmc0_clk: mmc0_clk-0 { 350 atmel,pins = 351 <AT91_PIOA 8 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA8 periph A */ 352 }; 353 354 pinctrl_mmc0_slot0_cmd_dat0: mmc0_slot0_cmd_dat0-0 { 355 atmel,pins = 356 <AT91_PIOA 7 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA7 periph A with pullup */ 357 AT91_PIOA 6 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PA6 periph A with pullup */ 358 }; 359 360 pinctrl_mmc0_slot0_dat1_3: mmc0_slot0_dat1_3-0 { 361 atmel,pins = 362 <AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA9 periph A with pullup */ 363 AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA10 periph A with pullup */ 364 AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PA11 periph A with pullup */ 365 }; 366 367 pinctrl_mmc0_slot1_cmd_dat0: mmc0_slot1_cmd_dat0-0 { 368 atmel,pins = 369 <AT91_PIOA 1 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* PA1 periph B with pullup */ 370 AT91_PIOA 0 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>; /* PA0 periph B with pullup */ 371 }; 372 373 pinctrl_mmc0_slot1_dat1_3: mmc0_slot1_dat1_3-0 { 374 atmel,pins = 375 <AT91_PIOA 5 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* PA5 periph B with pullup */ 376 AT91_PIOA 4 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* PA4 periph B with pullup */ 377 AT91_PIOA 3 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>; /* PA3 periph B with pullup */ 378 }; 379 }; 380 381 ssc0 { 382 pinctrl_ssc0_tx: ssc0_tx-0 { 383 atmel,pins = 384 <AT91_PIOB 16 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB16 periph A */ 385 AT91_PIOB 17 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB17 periph A */ 386 AT91_PIOB 18 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB18 periph A */ 387 }; 388 389 pinctrl_ssc0_rx: ssc0_rx-0 { 390 atmel,pins = 391 <AT91_PIOB 19 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB19 periph A */ 392 AT91_PIOB 20 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB20 periph A */ 393 AT91_PIOB 21 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB21 periph A */ 394 }; 395 }; 396 397 spi0 { 398 pinctrl_spi0: spi0-0 { 399 atmel,pins = 400 <AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA0 periph A SPI0_MISO pin */ 401 AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA1 periph A SPI0_MOSI pin */ 402 AT91_PIOA 2 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA2 periph A SPI0_SPCK pin */ 403 }; 404 }; 405 406 spi1 { 407 pinctrl_spi1: spi1-0 { 408 atmel,pins = 409 <AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB0 periph A SPI1_MISO pin */ 410 AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB1 periph A SPI1_MOSI pin */ 411 AT91_PIOB 2 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB2 periph A SPI1_SPCK pin */ 412 }; 413 }; 414 415 i2c_gpio0 { 416 pinctrl_i2c_gpio0: i2c_gpio0-0 { 417 atmel,pins = 418 <AT91_PIOA 23 AT91_PERIPH_GPIO AT91_PINCTRL_MULTI_DRIVE 419 AT91_PIOA 24 AT91_PERIPH_GPIO AT91_PINCTRL_MULTI_DRIVE>; 420 }; 421 }; 422 423 tcb0 { 424 pinctrl_tcb0_tclk0: tcb0_tclk0-0 { 425 atmel,pins = <AT91_PIOA 25 AT91_PERIPH_A AT91_PINCTRL_NONE>; 426 }; 427 428 pinctrl_tcb0_tclk1: tcb0_tclk1-0 { 429 atmel,pins = <AT91_PIOB 6 AT91_PERIPH_B AT91_PINCTRL_NONE>; 430 }; 431 432 pinctrl_tcb0_tclk2: tcb0_tclk2-0 { 433 atmel,pins = <AT91_PIOB 7 AT91_PERIPH_B AT91_PINCTRL_NONE>; 434 }; 435 436 pinctrl_tcb0_tioa0: tcb0_tioa0-0 { 437 atmel,pins = <AT91_PIOA 26 AT91_PERIPH_A AT91_PINCTRL_NONE>; 438 }; 439 440 pinctrl_tcb0_tioa1: tcb0_tioa1-0 { 441 atmel,pins = <AT91_PIOA 27 AT91_PERIPH_A AT91_PINCTRL_NONE>; 442 }; 443 444 pinctrl_tcb0_tioa2: tcb0_tioa2-0 { 445 atmel,pins = <AT91_PIOA 28 AT91_PERIPH_A AT91_PINCTRL_NONE>; 446 }; 447 448 pinctrl_tcb0_tiob0: tcb0_tiob0-0 { 449 atmel,pins = <AT91_PIOC 9 AT91_PERIPH_B AT91_PINCTRL_NONE>; 450 }; 451 452 pinctrl_tcb0_tiob1: tcb0_tiob1-0 { 453 atmel,pins = <AT91_PIOC 7 AT91_PERIPH_A AT91_PINCTRL_NONE>; 454 }; 455 456 pinctrl_tcb0_tiob2: tcb0_tiob2-0 { 457 atmel,pins = <AT91_PIOC 6 AT91_PERIPH_A AT91_PINCTRL_NONE>; 458 }; 459 }; 460 461 tcb1 { 462 pinctrl_tcb1_tclk0: tcb1_tclk0-0 { 463 atmel,pins = <AT91_PIOB 16 AT91_PERIPH_B AT91_PINCTRL_NONE>; 464 }; 465 466 pinctrl_tcb1_tclk1: tcb1_tclk1-0 { 467 atmel,pins = <AT91_PIOB 17 AT91_PERIPH_B AT91_PINCTRL_NONE>; 468 }; 469 470 pinctrl_tcb1_tclk2: tcb1_tclk2-0 { 471 atmel,pins = <AT91_PIOC 22 AT91_PERIPH_B AT91_PINCTRL_NONE>; 472 }; 473 474 pinctrl_tcb1_tioa0: tcb1_tioa0-0 { 475 atmel,pins = <AT91_PIOB 0 AT91_PERIPH_B AT91_PINCTRL_NONE>; 476 }; 477 478 pinctrl_tcb1_tioa1: tcb1_tioa1-0 { 479 atmel,pins = <AT91_PIOB 2 AT91_PERIPH_B AT91_PINCTRL_NONE>; 480 }; 481 482 pinctrl_tcb1_tioa2: tcb1_tioa2-0 { 483 atmel,pins = <AT91_PIOB 3 AT91_PERIPH_B AT91_PINCTRL_NONE>; 484 }; 485 486 pinctrl_tcb1_tiob0: tcb1_tiob0-0 { 487 atmel,pins = <AT91_PIOB 1 AT91_PERIPH_B AT91_PINCTRL_NONE>; 488 }; 489 490 pinctrl_tcb1_tiob1: tcb1_tiob1-0 { 491 atmel,pins = <AT91_PIOB 18 AT91_PERIPH_B AT91_PINCTRL_NONE>; 492 }; 493 494 pinctrl_tcb1_tiob2: tcb1_tiob2-0 { 495 atmel,pins = <AT91_PIOB 19 AT91_PERIPH_B AT91_PINCTRL_NONE>; 496 }; 497 }; 498 499 pioA: gpio@fffff400 { 500 compatible = "atmel,at91rm9200-gpio"; 501 reg = <0xfffff400 0x200>; 502 interrupts = <2 IRQ_TYPE_LEVEL_HIGH 1>; 503 #gpio-cells = <2>; 504 gpio-controller; 505 interrupt-controller; 506 #interrupt-cells = <2>; 507 clocks = <&pmc PMC_TYPE_PERIPHERAL 2>; 508 }; 509 510 pioB: gpio@fffff600 { 511 compatible = "atmel,at91rm9200-gpio"; 512 reg = <0xfffff600 0x200>; 513 interrupts = <3 IRQ_TYPE_LEVEL_HIGH 1>; 514 #gpio-cells = <2>; 515 gpio-controller; 516 interrupt-controller; 517 #interrupt-cells = <2>; 518 clocks = <&pmc PMC_TYPE_PERIPHERAL 3>; 519 }; 520 521 pioC: gpio@fffff800 { 522 compatible = "atmel,at91rm9200-gpio"; 523 reg = <0xfffff800 0x200>; 524 interrupts = <4 IRQ_TYPE_LEVEL_HIGH 1>; 525 #gpio-cells = <2>; 526 gpio-controller; 527 interrupt-controller; 528 #interrupt-cells = <2>; 529 clocks = <&pmc PMC_TYPE_PERIPHERAL 4>; 530 }; 531 }; 532 533 dbgu: serial@fffff200 { 534 compatible = "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart"; 535 reg = <0xfffff200 0x200>; 536 atmel,usart-mode = <AT91_USART_MODE_SERIAL>; 537 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; 538 pinctrl-names = "default"; 539 pinctrl-0 = <&pinctrl_dbgu>; 540 clocks = <&pmc PMC_TYPE_CORE PMC_MCK>; 541 clock-names = "usart"; 542 status = "disabled"; 543 }; 544 545 usart0: serial@fffb0000 { 546 compatible = "atmel,at91sam9260-usart"; 547 reg = <0xfffb0000 0x200>; 548 atmel,usart-mode = <AT91_USART_MODE_SERIAL>; 549 interrupts = <6 IRQ_TYPE_LEVEL_HIGH 5>; 550 atmel,use-dma-rx; 551 atmel,use-dma-tx; 552 pinctrl-names = "default"; 553 pinctrl-0 = <&pinctrl_usart0>; 554 clocks = <&pmc PMC_TYPE_PERIPHERAL 6>; 555 clock-names = "usart"; 556 status = "disabled"; 557 }; 558 559 usart1: serial@fffb4000 { 560 compatible = "atmel,at91sam9260-usart"; 561 reg = <0xfffb4000 0x200>; 562 atmel,usart-mode = <AT91_USART_MODE_SERIAL>; 563 interrupts = <7 IRQ_TYPE_LEVEL_HIGH 5>; 564 atmel,use-dma-rx; 565 atmel,use-dma-tx; 566 pinctrl-names = "default"; 567 pinctrl-0 = <&pinctrl_usart1>; 568 clocks = <&pmc PMC_TYPE_PERIPHERAL 7>; 569 clock-names = "usart"; 570 status = "disabled"; 571 }; 572 573 usart2: serial@fffb8000 { 574 compatible = "atmel,at91sam9260-usart"; 575 reg = <0xfffb8000 0x200>; 576 atmel,usart-mode = <AT91_USART_MODE_SERIAL>; 577 interrupts = <8 IRQ_TYPE_LEVEL_HIGH 5>; 578 atmel,use-dma-rx; 579 atmel,use-dma-tx; 580 pinctrl-names = "default"; 581 pinctrl-0 = <&pinctrl_usart2>; 582 clocks = <&pmc PMC_TYPE_PERIPHERAL 8>; 583 clock-names = "usart"; 584 status = "disabled"; 585 }; 586 587 usart3: serial@fffd0000 { 588 compatible = "atmel,at91sam9260-usart"; 589 reg = <0xfffd0000 0x200>; 590 atmel,usart-mode = <AT91_USART_MODE_SERIAL>; 591 interrupts = <23 IRQ_TYPE_LEVEL_HIGH 5>; 592 atmel,use-dma-rx; 593 atmel,use-dma-tx; 594 pinctrl-names = "default"; 595 pinctrl-0 = <&pinctrl_usart3>; 596 clocks = <&pmc PMC_TYPE_PERIPHERAL 23>; 597 clock-names = "usart"; 598 status = "disabled"; 599 }; 600 601 uart0: serial@fffd4000 { 602 compatible = "atmel,at91sam9260-usart"; 603 reg = <0xfffd4000 0x200>; 604 atmel,usart-mode = <AT91_USART_MODE_SERIAL>; 605 interrupts = <24 IRQ_TYPE_LEVEL_HIGH 5>; 606 atmel,use-dma-rx; 607 atmel,use-dma-tx; 608 pinctrl-names = "default"; 609 pinctrl-0 = <&pinctrl_uart0>; 610 clocks = <&pmc PMC_TYPE_PERIPHERAL 24>; 611 clock-names = "usart"; 612 status = "disabled"; 613 }; 614 615 uart1: serial@fffd8000 { 616 compatible = "atmel,at91sam9260-usart"; 617 reg = <0xfffd8000 0x200>; 618 atmel,usart-mode = <AT91_USART_MODE_SERIAL>; 619 interrupts = <25 IRQ_TYPE_LEVEL_HIGH 5>; 620 atmel,use-dma-rx; 621 atmel,use-dma-tx; 622 pinctrl-names = "default"; 623 pinctrl-0 = <&pinctrl_uart1>; 624 clocks = <&pmc PMC_TYPE_PERIPHERAL 25>; 625 clock-names = "usart"; 626 status = "disabled"; 627 }; 628 629 macb0: ethernet@fffc4000 { 630 compatible = "cdns,at91sam9260-macb", "cdns,macb"; 631 reg = <0xfffc4000 0x100>; 632 interrupts = <21 IRQ_TYPE_LEVEL_HIGH 3>; 633 pinctrl-names = "default"; 634 pinctrl-0 = <&pinctrl_macb_rmii>; 635 clocks = <&pmc PMC_TYPE_PERIPHERAL 21>, <&pmc PMC_TYPE_PERIPHERAL 21>; 636 clock-names = "hclk", "pclk"; 637 status = "disabled"; 638 }; 639 640 usb1: gadget@fffa4000 { 641 compatible = "atmel,at91sam9260-udc"; 642 reg = <0xfffa4000 0x4000>; 643 interrupts = <10 IRQ_TYPE_LEVEL_HIGH 2>; 644 clocks = <&pmc PMC_TYPE_PERIPHERAL 10>, <&pmc PMC_TYPE_SYSTEM 7>; 645 clock-names = "pclk", "hclk"; 646 status = "disabled"; 647 }; 648 649 i2c0: i2c@fffac000 { 650 compatible = "atmel,at91sam9260-i2c"; 651 reg = <0xfffac000 0x100>; 652 interrupts = <11 IRQ_TYPE_LEVEL_HIGH 6>; 653 #address-cells = <1>; 654 #size-cells = <0>; 655 clocks = <&pmc PMC_TYPE_PERIPHERAL 11>; 656 status = "disabled"; 657 }; 658 659 mmc0: mmc@fffa8000 { 660 compatible = "atmel,hsmci"; 661 reg = <0xfffa8000 0x600>; 662 interrupts = <9 IRQ_TYPE_LEVEL_HIGH 0>; 663 #address-cells = <1>; 664 #size-cells = <0>; 665 clocks = <&pmc PMC_TYPE_PERIPHERAL 9>; 666 clock-names = "mci_clk"; 667 status = "disabled"; 668 }; 669 670 ssc0: ssc@fffbc000 { 671 compatible = "atmel,at91rm9200-ssc"; 672 reg = <0xfffbc000 0x4000>; 673 interrupts = <14 IRQ_TYPE_LEVEL_HIGH 5>; 674 pinctrl-names = "default"; 675 pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>; 676 clocks = <&pmc PMC_TYPE_PERIPHERAL 14>; 677 clock-names = "pclk"; 678 status = "disabled"; 679 }; 680 681 spi0: spi@fffc8000 { 682 #address-cells = <1>; 683 #size-cells = <0>; 684 compatible = "atmel,at91rm9200-spi"; 685 reg = <0xfffc8000 0x200>; 686 interrupts = <12 IRQ_TYPE_LEVEL_HIGH 3>; 687 pinctrl-names = "default"; 688 pinctrl-0 = <&pinctrl_spi0>; 689 clocks = <&pmc PMC_TYPE_PERIPHERAL 12>; 690 clock-names = "spi_clk"; 691 status = "disabled"; 692 }; 693 694 spi1: spi@fffcc000 { 695 #address-cells = <1>; 696 #size-cells = <0>; 697 compatible = "atmel,at91rm9200-spi"; 698 reg = <0xfffcc000 0x200>; 699 interrupts = <13 IRQ_TYPE_LEVEL_HIGH 3>; 700 pinctrl-names = "default"; 701 pinctrl-0 = <&pinctrl_spi1>; 702 clocks = <&pmc PMC_TYPE_PERIPHERAL 13>; 703 clock-names = "spi_clk"; 704 status = "disabled"; 705 }; 706 707 adc0: adc@fffe0000 { 708 compatible = "atmel,at91sam9260-adc"; 709 reg = <0xfffe0000 0x100>; 710 interrupts = <5 IRQ_TYPE_LEVEL_HIGH 0>; 711 clocks = <&pmc PMC_TYPE_PERIPHERAL 5>, <&adc_op_clk>; 712 clock-names = "adc_clk", "adc_op_clk"; 713 atmel,adc-use-external-triggers; 714 atmel,adc-channels-used = <0xf>; 715 atmel,adc-vref = <3300>; 716 atmel,adc-startup-time = <15>; 717 }; 718 719 rtc@fffffd20 { 720 compatible = "atmel,at91sam9260-rtt"; 721 reg = <0xfffffd20 0x10>; 722 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; 723 clocks = <&pmc PMC_TYPE_CORE PMC_SLOW>; 724 status = "disabled"; 725 }; 726 727 watchdog: watchdog@fffffd40 { 728 compatible = "atmel,at91sam9260-wdt"; 729 reg = <0xfffffd40 0x10>; 730 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; 731 clocks = <&pmc PMC_TYPE_CORE PMC_SLOW>; 732 atmel,watchdog-type = "hardware"; 733 atmel,reset-type = "all"; 734 atmel,dbg-halt; 735 status = "disabled"; 736 }; 737 738 gpbr: syscon@fffffd50 { 739 compatible = "atmel,at91sam9260-gpbr", "syscon"; 740 reg = <0xfffffd50 0x10>; 741 status = "disabled"; 742 }; 743 }; 744 745 usb0: ohci@500000 { 746 compatible = "atmel,at91rm9200-ohci", "usb-ohci"; 747 reg = <0x00500000 0x100000>; 748 interrupts = <20 IRQ_TYPE_LEVEL_HIGH 2>; 749 clocks = <&pmc PMC_TYPE_PERIPHERAL 20>, <&pmc PMC_TYPE_PERIPHERAL 20>, <&pmc PMC_TYPE_SYSTEM 6>; 750 clock-names = "ohci_clk", "hclk", "uhpck"; 751 status = "disabled"; 752 }; 753 754 ebi: ebi@10000000 { 755 compatible = "atmel,at91sam9260-ebi"; 756 #address-cells = <2>; 757 #size-cells = <1>; 758 atmel,smc = <&smc>; 759 atmel,matrix = <&matrix>; 760 reg = <0x10000000 0x80000000>; 761 ranges = <0x0 0x0 0x10000000 0x10000000 762 0x1 0x0 0x20000000 0x10000000 763 0x2 0x0 0x30000000 0x10000000 764 0x3 0x0 0x40000000 0x10000000 765 0x4 0x0 0x50000000 0x10000000 766 0x5 0x0 0x60000000 0x10000000 767 0x6 0x0 0x70000000 0x10000000 768 0x7 0x0 0x80000000 0x10000000>; 769 clocks = <&pmc PMC_TYPE_CORE PMC_MCK>; 770 status = "disabled"; 771 772 nand_controller: nand-controller { 773 compatible = "atmel,at91sam9260-nand-controller"; 774 #address-cells = <2>; 775 #size-cells = <1>; 776 ranges; 777 status = "disabled"; 778 }; 779 }; 780 }; 781 782 i2c_gpio0: i2c-gpio-0 { 783 compatible = "i2c-gpio"; 784 gpios = <&pioA 23 GPIO_ACTIVE_HIGH /* sda */ 785 &pioA 24 GPIO_ACTIVE_HIGH /* scl */ 786 >; 787 i2c-gpio,sda-open-drain; 788 i2c-gpio,scl-open-drain; 789 i2c-gpio,delay-us = <2>; /* ~100 kHz */ 790 #address-cells = <1>; 791 #size-cells = <0>; 792 pinctrl-names = "default"; 793 pinctrl-0 = <&pinctrl_i2c_gpio0>; 794 status = "disabled"; 795 }; 796}; 797