1// SPDX-License-Identifier: GPL-2.0 2#include <dt-bindings/clock/tegra20-car.h> 3#include <dt-bindings/gpio/tegra-gpio.h> 4#include <dt-bindings/memory/tegra20-mc.h> 5#include <dt-bindings/pinctrl/pinctrl-tegra.h> 6#include <dt-bindings/interrupt-controller/arm-gic.h> 7 8/ { 9 compatible = "nvidia,tegra20"; 10 interrupt-parent = <&lic>; 11 #address-cells = <1>; 12 #size-cells = <1>; 13 14 memory@0 { 15 device_type = "memory"; 16 reg = <0 0>; 17 }; 18 19 iram@40000000 { 20 compatible = "mmio-sram"; 21 reg = <0x40000000 0x40000>; 22 #address-cells = <1>; 23 #size-cells = <1>; 24 ranges = <0 0x40000000 0x40000>; 25 26 vde_pool: vde@400 { 27 reg = <0x400 0x3fc00>; 28 pool; 29 }; 30 }; 31 32 host1x@50000000 { 33 compatible = "nvidia,tegra20-host1x", "simple-bus"; 34 reg = <0x50000000 0x00024000>; 35 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, /* syncpt */ 36 <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* general */ 37 clocks = <&tegra_car TEGRA20_CLK_HOST1X>; 38 resets = <&tegra_car 28>; 39 reset-names = "host1x"; 40 41 #address-cells = <1>; 42 #size-cells = <1>; 43 44 ranges = <0x54000000 0x54000000 0x04000000>; 45 46 mpe@54040000 { 47 compatible = "nvidia,tegra20-mpe"; 48 reg = <0x54040000 0x00040000>; 49 interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>; 50 clocks = <&tegra_car TEGRA20_CLK_MPE>; 51 resets = <&tegra_car 60>; 52 reset-names = "mpe"; 53 }; 54 55 vi@54080000 { 56 compatible = "nvidia,tegra20-vi"; 57 reg = <0x54080000 0x00040000>; 58 interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>; 59 clocks = <&tegra_car TEGRA20_CLK_VI>; 60 resets = <&tegra_car 20>; 61 reset-names = "vi"; 62 }; 63 64 epp@540c0000 { 65 compatible = "nvidia,tegra20-epp"; 66 reg = <0x540c0000 0x00040000>; 67 interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; 68 clocks = <&tegra_car TEGRA20_CLK_EPP>; 69 resets = <&tegra_car 19>; 70 reset-names = "epp"; 71 }; 72 73 isp@54100000 { 74 compatible = "nvidia,tegra20-isp"; 75 reg = <0x54100000 0x00040000>; 76 interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 77 clocks = <&tegra_car TEGRA20_CLK_ISP>; 78 resets = <&tegra_car 23>; 79 reset-names = "isp"; 80 }; 81 82 gr2d@54140000 { 83 compatible = "nvidia,tegra20-gr2d"; 84 reg = <0x54140000 0x00040000>; 85 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; 86 clocks = <&tegra_car TEGRA20_CLK_GR2D>; 87 resets = <&tegra_car 21>; 88 reset-names = "2d"; 89 }; 90 91 gr3d@54180000 { 92 compatible = "nvidia,tegra20-gr3d"; 93 reg = <0x54180000 0x00040000>; 94 clocks = <&tegra_car TEGRA20_CLK_GR3D>; 95 resets = <&tegra_car 24>; 96 reset-names = "3d"; 97 }; 98 99 dc@54200000 { 100 compatible = "nvidia,tegra20-dc"; 101 reg = <0x54200000 0x00040000>; 102 interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; 103 clocks = <&tegra_car TEGRA20_CLK_DISP1>, 104 <&tegra_car TEGRA20_CLK_PLL_P>; 105 clock-names = "dc", "parent"; 106 resets = <&tegra_car 27>; 107 reset-names = "dc"; 108 109 nvidia,head = <0>; 110 111 rgb { 112 status = "disabled"; 113 }; 114 }; 115 116 dc@54240000 { 117 compatible = "nvidia,tegra20-dc"; 118 reg = <0x54240000 0x00040000>; 119 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; 120 clocks = <&tegra_car TEGRA20_CLK_DISP2>, 121 <&tegra_car TEGRA20_CLK_PLL_P>; 122 clock-names = "dc", "parent"; 123 resets = <&tegra_car 26>; 124 reset-names = "dc"; 125 126 nvidia,head = <1>; 127 128 rgb { 129 status = "disabled"; 130 }; 131 }; 132 133 hdmi@54280000 { 134 compatible = "nvidia,tegra20-hdmi"; 135 reg = <0x54280000 0x00040000>; 136 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; 137 clocks = <&tegra_car TEGRA20_CLK_HDMI>, 138 <&tegra_car TEGRA20_CLK_PLL_D_OUT0>; 139 clock-names = "hdmi", "parent"; 140 resets = <&tegra_car 51>; 141 reset-names = "hdmi"; 142 status = "disabled"; 143 }; 144 145 tvo@542c0000 { 146 compatible = "nvidia,tegra20-tvo"; 147 reg = <0x542c0000 0x00040000>; 148 interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>; 149 clocks = <&tegra_car TEGRA20_CLK_TVO>; 150 status = "disabled"; 151 }; 152 153 dsi@54300000 { 154 compatible = "nvidia,tegra20-dsi"; 155 reg = <0x54300000 0x00040000>; 156 clocks = <&tegra_car TEGRA20_CLK_DSI>; 157 resets = <&tegra_car 48>; 158 reset-names = "dsi"; 159 status = "disabled"; 160 }; 161 }; 162 163 timer@50040600 { 164 compatible = "arm,cortex-a9-twd-timer"; 165 interrupt-parent = <&intc>; 166 reg = <0x50040600 0x20>; 167 interrupts = <GIC_PPI 13 168 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_EDGE_RISING)>; 169 clocks = <&tegra_car TEGRA20_CLK_TWD>; 170 }; 171 172 intc: interrupt-controller@50041000 { 173 compatible = "arm,cortex-a9-gic"; 174 reg = <0x50041000 0x1000 175 0x50040100 0x0100>; 176 interrupt-controller; 177 #interrupt-cells = <3>; 178 interrupt-parent = <&intc>; 179 }; 180 181 cache-controller@50043000 { 182 compatible = "arm,pl310-cache"; 183 reg = <0x50043000 0x1000>; 184 arm,data-latency = <5 5 2>; 185 arm,tag-latency = <4 4 2>; 186 cache-unified; 187 cache-level = <2>; 188 }; 189 190 lic: interrupt-controller@60004000 { 191 compatible = "nvidia,tegra20-ictlr"; 192 reg = <0x60004000 0x100>, 193 <0x60004100 0x50>, 194 <0x60004200 0x50>, 195 <0x60004300 0x50>; 196 interrupt-controller; 197 #interrupt-cells = <3>; 198 interrupt-parent = <&intc>; 199 }; 200 201 timer@60005000 { 202 compatible = "nvidia,tegra20-timer"; 203 reg = <0x60005000 0x60>; 204 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, 205 <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>, 206 <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>, 207 <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; 208 clocks = <&tegra_car TEGRA20_CLK_TIMER>; 209 }; 210 211 tegra_car: clock@60006000 { 212 compatible = "nvidia,tegra20-car"; 213 reg = <0x60006000 0x1000>; 214 #clock-cells = <1>; 215 #reset-cells = <1>; 216 }; 217 218 flow-controller@60007000 { 219 compatible = "nvidia,tegra20-flowctrl"; 220 reg = <0x60007000 0x1000>; 221 }; 222 223 apbdma: dma@6000a000 { 224 compatible = "nvidia,tegra20-apbdma"; 225 reg = <0x6000a000 0x1200>; 226 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>, 227 <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>, 228 <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>, 229 <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>, 230 <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>, 231 <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>, 232 <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>, 233 <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>, 234 <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>, 235 <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>, 236 <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>, 237 <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>, 238 <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>, 239 <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>, 240 <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>, 241 <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; 242 clocks = <&tegra_car TEGRA20_CLK_APBDMA>; 243 resets = <&tegra_car 34>; 244 reset-names = "dma"; 245 #dma-cells = <1>; 246 }; 247 248 ahb@6000c000 { 249 compatible = "nvidia,tegra20-ahb"; 250 reg = <0x6000c000 0x110>; /* AHB Arbitration + Gizmo Controller */ 251 }; 252 253 gpio: gpio@6000d000 { 254 compatible = "nvidia,tegra20-gpio"; 255 reg = <0x6000d000 0x1000>; 256 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>, 257 <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>, 258 <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>, 259 <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>, 260 <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>, 261 <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>, 262 <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; 263 #gpio-cells = <2>; 264 gpio-controller; 265 #interrupt-cells = <2>; 266 interrupt-controller; 267 /* 268 gpio-ranges = <&pinmux 0 0 224>; 269 */ 270 }; 271 272 vde@6001a000 { 273 compatible = "nvidia,tegra20-vde"; 274 reg = <0x6001a000 0x1000 /* Syntax Engine */ 275 0x6001b000 0x1000 /* Video Bitstream Engine */ 276 0x6001c000 0x100 /* Macroblock Engine */ 277 0x6001c200 0x100 /* Post-processing Engine */ 278 0x6001c400 0x100 /* Motion Compensation Engine */ 279 0x6001c600 0x100 /* Transform Engine */ 280 0x6001c800 0x100 /* Pixel prediction block */ 281 0x6001ca00 0x100 /* Video DMA */ 282 0x6001d800 0x300>; /* Video frame controls */ 283 reg-names = "sxe", "bsev", "mbe", "ppe", "mce", 284 "tfe", "ppb", "vdma", "frameid"; 285 iram = <&vde_pool>; /* IRAM region */ 286 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, /* Sync token interrupt */ 287 <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>, /* BSE-V interrupt */ 288 <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; /* SXE interrupt */ 289 interrupt-names = "sync-token", "bsev", "sxe"; 290 clocks = <&tegra_car TEGRA20_CLK_VDE>; 291 reset-names = "vde", "mc"; 292 resets = <&tegra_car 61>, <&mc TEGRA20_MC_RESET_VDE>; 293 }; 294 295 apbmisc@70000800 { 296 compatible = "nvidia,tegra20-apbmisc"; 297 reg = <0x70000800 0x64 /* Chip revision */ 298 0x70000008 0x04>; /* Strapping options */ 299 }; 300 301 pinmux: pinmux@70000014 { 302 compatible = "nvidia,tegra20-pinmux"; 303 reg = <0x70000014 0x10 /* Tri-state registers */ 304 0x70000080 0x20 /* Mux registers */ 305 0x700000a0 0x14 /* Pull-up/down registers */ 306 0x70000868 0xa8>; /* Pad control registers */ 307 }; 308 309 das@70000c00 { 310 compatible = "nvidia,tegra20-das"; 311 reg = <0x70000c00 0x80>; 312 }; 313 314 tegra_ac97: ac97@70002000 { 315 compatible = "nvidia,tegra20-ac97"; 316 reg = <0x70002000 0x200>; 317 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; 318 clocks = <&tegra_car TEGRA20_CLK_AC97>; 319 resets = <&tegra_car 3>; 320 reset-names = "ac97"; 321 dmas = <&apbdma 12>, <&apbdma 12>; 322 dma-names = "rx", "tx"; 323 status = "disabled"; 324 }; 325 326 tegra_i2s1: i2s@70002800 { 327 compatible = "nvidia,tegra20-i2s"; 328 reg = <0x70002800 0x200>; 329 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 330 clocks = <&tegra_car TEGRA20_CLK_I2S1>; 331 resets = <&tegra_car 11>; 332 reset-names = "i2s"; 333 dmas = <&apbdma 2>, <&apbdma 2>; 334 dma-names = "rx", "tx"; 335 status = "disabled"; 336 }; 337 338 tegra_i2s2: i2s@70002a00 { 339 compatible = "nvidia,tegra20-i2s"; 340 reg = <0x70002a00 0x200>; 341 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 342 clocks = <&tegra_car TEGRA20_CLK_I2S2>; 343 resets = <&tegra_car 18>; 344 reset-names = "i2s"; 345 dmas = <&apbdma 1>, <&apbdma 1>; 346 dma-names = "rx", "tx"; 347 status = "disabled"; 348 }; 349 350 /* 351 * There are two serial driver i.e. 8250 based simple serial 352 * driver and APB DMA based serial driver for higher baudrate 353 * and performace. To enable the 8250 based driver, the compatible 354 * is "nvidia,tegra20-uart" and to enable the APB DMA based serial 355 * driver, the compatible is "nvidia,tegra20-hsuart". 356 */ 357 uarta: serial@70006000 { 358 compatible = "nvidia,tegra20-uart"; 359 reg = <0x70006000 0x40>; 360 reg-shift = <2>; 361 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 362 clocks = <&tegra_car TEGRA20_CLK_UARTA>; 363 resets = <&tegra_car 6>; 364 reset-names = "serial"; 365 dmas = <&apbdma 8>, <&apbdma 8>; 366 dma-names = "rx", "tx"; 367 status = "disabled"; 368 }; 369 370 uartb: serial@70006040 { 371 compatible = "nvidia,tegra20-uart"; 372 reg = <0x70006040 0x40>; 373 reg-shift = <2>; 374 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 375 clocks = <&tegra_car TEGRA20_CLK_UARTB>; 376 resets = <&tegra_car 7>; 377 reset-names = "serial"; 378 dmas = <&apbdma 9>, <&apbdma 9>; 379 dma-names = "rx", "tx"; 380 status = "disabled"; 381 }; 382 383 uartc: serial@70006200 { 384 compatible = "nvidia,tegra20-uart"; 385 reg = <0x70006200 0x100>; 386 reg-shift = <2>; 387 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; 388 clocks = <&tegra_car TEGRA20_CLK_UARTC>; 389 resets = <&tegra_car 55>; 390 reset-names = "serial"; 391 dmas = <&apbdma 10>, <&apbdma 10>; 392 dma-names = "rx", "tx"; 393 status = "disabled"; 394 }; 395 396 uartd: serial@70006300 { 397 compatible = "nvidia,tegra20-uart"; 398 reg = <0x70006300 0x100>; 399 reg-shift = <2>; 400 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; 401 clocks = <&tegra_car TEGRA20_CLK_UARTD>; 402 resets = <&tegra_car 65>; 403 reset-names = "serial"; 404 dmas = <&apbdma 19>, <&apbdma 19>; 405 dma-names = "rx", "tx"; 406 status = "disabled"; 407 }; 408 409 uarte: serial@70006400 { 410 compatible = "nvidia,tegra20-uart"; 411 reg = <0x70006400 0x100>; 412 reg-shift = <2>; 413 interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; 414 clocks = <&tegra_car TEGRA20_CLK_UARTE>; 415 resets = <&tegra_car 66>; 416 reset-names = "serial"; 417 dmas = <&apbdma 20>, <&apbdma 20>; 418 dma-names = "rx", "tx"; 419 status = "disabled"; 420 }; 421 422 nand-controller@70008000 { 423 compatible = "nvidia,tegra20-nand"; 424 reg = <0x70008000 0x100>; 425 #address-cells = <1>; 426 #size-cells = <0>; 427 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 428 clocks = <&tegra_car TEGRA20_CLK_NDFLASH>; 429 clock-names = "nand"; 430 resets = <&tegra_car 13>; 431 reset-names = "nand"; 432 assigned-clocks = <&tegra_car TEGRA20_CLK_NDFLASH>; 433 assigned-clock-rates = <150000000>; 434 status = "disabled"; 435 }; 436 437 gmi@70009000 { 438 compatible = "nvidia,tegra20-gmi"; 439 reg = <0x70009000 0x1000>; 440 #address-cells = <2>; 441 #size-cells = <1>; 442 ranges = <0 0 0xd0000000 0xfffffff>; 443 clocks = <&tegra_car TEGRA20_CLK_NOR>; 444 clock-names = "gmi"; 445 resets = <&tegra_car 42>; 446 reset-names = "gmi"; 447 status = "disabled"; 448 }; 449 450 pwm: pwm@7000a000 { 451 compatible = "nvidia,tegra20-pwm"; 452 reg = <0x7000a000 0x100>; 453 #pwm-cells = <2>; 454 clocks = <&tegra_car TEGRA20_CLK_PWM>; 455 resets = <&tegra_car 17>; 456 reset-names = "pwm"; 457 status = "disabled"; 458 }; 459 460 rtc@7000e000 { 461 compatible = "nvidia,tegra20-rtc"; 462 reg = <0x7000e000 0x100>; 463 interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 464 clocks = <&tegra_car TEGRA20_CLK_RTC>; 465 }; 466 467 i2c@7000c000 { 468 compatible = "nvidia,tegra20-i2c"; 469 reg = <0x7000c000 0x100>; 470 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 471 #address-cells = <1>; 472 #size-cells = <0>; 473 clocks = <&tegra_car TEGRA20_CLK_I2C1>, 474 <&tegra_car TEGRA20_CLK_PLL_P_OUT3>; 475 clock-names = "div-clk", "fast-clk"; 476 resets = <&tegra_car 12>; 477 reset-names = "i2c"; 478 dmas = <&apbdma 21>, <&apbdma 21>; 479 dma-names = "rx", "tx"; 480 status = "disabled"; 481 }; 482 483 spi@7000c380 { 484 compatible = "nvidia,tegra20-sflash"; 485 reg = <0x7000c380 0x80>; 486 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 487 #address-cells = <1>; 488 #size-cells = <0>; 489 clocks = <&tegra_car TEGRA20_CLK_SPI>; 490 resets = <&tegra_car 43>; 491 reset-names = "spi"; 492 dmas = <&apbdma 11>, <&apbdma 11>; 493 dma-names = "rx", "tx"; 494 status = "disabled"; 495 }; 496 497 i2c@7000c400 { 498 compatible = "nvidia,tegra20-i2c"; 499 reg = <0x7000c400 0x100>; 500 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; 501 #address-cells = <1>; 502 #size-cells = <0>; 503 clocks = <&tegra_car TEGRA20_CLK_I2C2>, 504 <&tegra_car TEGRA20_CLK_PLL_P_OUT3>; 505 clock-names = "div-clk", "fast-clk"; 506 resets = <&tegra_car 54>; 507 reset-names = "i2c"; 508 dmas = <&apbdma 22>, <&apbdma 22>; 509 dma-names = "rx", "tx"; 510 status = "disabled"; 511 }; 512 513 i2c@7000c500 { 514 compatible = "nvidia,tegra20-i2c"; 515 reg = <0x7000c500 0x100>; 516 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>; 517 #address-cells = <1>; 518 #size-cells = <0>; 519 clocks = <&tegra_car TEGRA20_CLK_I2C3>, 520 <&tegra_car TEGRA20_CLK_PLL_P_OUT3>; 521 clock-names = "div-clk", "fast-clk"; 522 resets = <&tegra_car 67>; 523 reset-names = "i2c"; 524 dmas = <&apbdma 23>, <&apbdma 23>; 525 dma-names = "rx", "tx"; 526 status = "disabled"; 527 }; 528 529 i2c@7000d000 { 530 compatible = "nvidia,tegra20-i2c-dvc"; 531 reg = <0x7000d000 0x200>; 532 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 533 #address-cells = <1>; 534 #size-cells = <0>; 535 clocks = <&tegra_car TEGRA20_CLK_DVC>, 536 <&tegra_car TEGRA20_CLK_PLL_P_OUT3>; 537 clock-names = "div-clk", "fast-clk"; 538 resets = <&tegra_car 47>; 539 reset-names = "i2c"; 540 dmas = <&apbdma 24>, <&apbdma 24>; 541 dma-names = "rx", "tx"; 542 status = "disabled"; 543 }; 544 545 spi@7000d400 { 546 compatible = "nvidia,tegra20-slink"; 547 reg = <0x7000d400 0x200>; 548 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>; 549 #address-cells = <1>; 550 #size-cells = <0>; 551 clocks = <&tegra_car TEGRA20_CLK_SBC1>; 552 resets = <&tegra_car 41>; 553 reset-names = "spi"; 554 dmas = <&apbdma 15>, <&apbdma 15>; 555 dma-names = "rx", "tx"; 556 status = "disabled"; 557 }; 558 559 spi@7000d600 { 560 compatible = "nvidia,tegra20-slink"; 561 reg = <0x7000d600 0x200>; 562 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; 563 #address-cells = <1>; 564 #size-cells = <0>; 565 clocks = <&tegra_car TEGRA20_CLK_SBC2>; 566 resets = <&tegra_car 44>; 567 reset-names = "spi"; 568 dmas = <&apbdma 16>, <&apbdma 16>; 569 dma-names = "rx", "tx"; 570 status = "disabled"; 571 }; 572 573 spi@7000d800 { 574 compatible = "nvidia,tegra20-slink"; 575 reg = <0x7000d800 0x200>; 576 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 577 #address-cells = <1>; 578 #size-cells = <0>; 579 clocks = <&tegra_car TEGRA20_CLK_SBC3>; 580 resets = <&tegra_car 46>; 581 reset-names = "spi"; 582 dmas = <&apbdma 17>, <&apbdma 17>; 583 dma-names = "rx", "tx"; 584 status = "disabled"; 585 }; 586 587 spi@7000da00 { 588 compatible = "nvidia,tegra20-slink"; 589 reg = <0x7000da00 0x200>; 590 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>; 591 #address-cells = <1>; 592 #size-cells = <0>; 593 clocks = <&tegra_car TEGRA20_CLK_SBC4>; 594 resets = <&tegra_car 68>; 595 reset-names = "spi"; 596 dmas = <&apbdma 18>, <&apbdma 18>; 597 dma-names = "rx", "tx"; 598 status = "disabled"; 599 }; 600 601 kbc@7000e200 { 602 compatible = "nvidia,tegra20-kbc"; 603 reg = <0x7000e200 0x100>; 604 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; 605 clocks = <&tegra_car TEGRA20_CLK_KBC>; 606 resets = <&tegra_car 36>; 607 reset-names = "kbc"; 608 status = "disabled"; 609 }; 610 611 pmc@7000e400 { 612 compatible = "nvidia,tegra20-pmc"; 613 reg = <0x7000e400 0x400>; 614 clocks = <&tegra_car TEGRA20_CLK_PCLK>, <&clk32k_in>; 615 clock-names = "pclk", "clk32k_in"; 616 }; 617 618 mc: memory-controller@7000f000 { 619 compatible = "nvidia,tegra20-mc-gart"; 620 reg = <0x7000f000 0x400 /* controller registers */ 621 0x58000000 0x02000000>; /* GART aperture */ 622 clocks = <&tegra_car TEGRA20_CLK_MC>; 623 clock-names = "mc"; 624 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; 625 #reset-cells = <1>; 626 #iommu-cells = <0>; 627 }; 628 629 memory-controller@7000f400 { 630 compatible = "nvidia,tegra20-emc"; 631 reg = <0x7000f400 0x200>; 632 interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>; 633 clocks = <&tegra_car TEGRA20_CLK_EMC>; 634 #address-cells = <1>; 635 #size-cells = <0>; 636 }; 637 638 fuse@7000f800 { 639 compatible = "nvidia,tegra20-efuse"; 640 reg = <0x7000f800 0x400>; 641 clocks = <&tegra_car TEGRA20_CLK_FUSE>; 642 clock-names = "fuse"; 643 resets = <&tegra_car 39>; 644 reset-names = "fuse"; 645 }; 646 647 pcie@80003000 { 648 compatible = "nvidia,tegra20-pcie"; 649 device_type = "pci"; 650 reg = <0x80003000 0x00000800 /* PADS registers */ 651 0x80003800 0x00000200 /* AFI registers */ 652 0x90000000 0x10000000>; /* configuration space */ 653 reg-names = "pads", "afi", "cs"; 654 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH /* controller interrupt */ 655 GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */ 656 interrupt-names = "intr", "msi"; 657 658 #interrupt-cells = <1>; 659 interrupt-map-mask = <0 0 0 0>; 660 interrupt-map = <0 0 0 0 &intc GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 661 662 bus-range = <0x00 0xff>; 663 #address-cells = <3>; 664 #size-cells = <2>; 665 666 ranges = <0x82000000 0 0x80000000 0x80000000 0 0x00001000 /* port 0 registers */ 667 0x82000000 0 0x80001000 0x80001000 0 0x00001000 /* port 1 registers */ 668 0x81000000 0 0 0x82000000 0 0x00010000 /* downstream I/O */ 669 0x82000000 0 0xa0000000 0xa0000000 0 0x08000000 /* non-prefetchable memory */ 670 0xc2000000 0 0xa8000000 0xa8000000 0 0x18000000>; /* prefetchable memory */ 671 672 clocks = <&tegra_car TEGRA20_CLK_PEX>, 673 <&tegra_car TEGRA20_CLK_AFI>, 674 <&tegra_car TEGRA20_CLK_PLL_E>; 675 clock-names = "pex", "afi", "pll_e"; 676 resets = <&tegra_car 70>, 677 <&tegra_car 72>, 678 <&tegra_car 74>; 679 reset-names = "pex", "afi", "pcie_x"; 680 status = "disabled"; 681 682 pci@1,0 { 683 device_type = "pci"; 684 assigned-addresses = <0x82000800 0 0x80000000 0 0x1000>; 685 reg = <0x000800 0 0 0 0>; 686 bus-range = <0x00 0xff>; 687 status = "disabled"; 688 689 #address-cells = <3>; 690 #size-cells = <2>; 691 ranges; 692 693 nvidia,num-lanes = <2>; 694 }; 695 696 pci@2,0 { 697 device_type = "pci"; 698 assigned-addresses = <0x82001000 0 0x80001000 0 0x1000>; 699 reg = <0x001000 0 0 0 0>; 700 bus-range = <0x00 0xff>; 701 status = "disabled"; 702 703 #address-cells = <3>; 704 #size-cells = <2>; 705 ranges; 706 707 nvidia,num-lanes = <2>; 708 }; 709 }; 710 711 usb@c5000000 { 712 compatible = "nvidia,tegra20-ehci", "usb-ehci"; 713 reg = <0xc5000000 0x4000>; 714 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 715 phy_type = "utmi"; 716 nvidia,has-legacy-mode; 717 clocks = <&tegra_car TEGRA20_CLK_USBD>; 718 resets = <&tegra_car 22>; 719 reset-names = "usb"; 720 nvidia,needs-double-reset; 721 nvidia,phy = <&phy1>; 722 status = "disabled"; 723 }; 724 725 phy1: usb-phy@c5000000 { 726 compatible = "nvidia,tegra20-usb-phy"; 727 reg = <0xc5000000 0x4000 0xc5000000 0x4000>; 728 phy_type = "utmi"; 729 clocks = <&tegra_car TEGRA20_CLK_USBD>, 730 <&tegra_car TEGRA20_CLK_PLL_U>, 731 <&tegra_car TEGRA20_CLK_CLK_M>, 732 <&tegra_car TEGRA20_CLK_USBD>; 733 clock-names = "reg", "pll_u", "timer", "utmi-pads"; 734 resets = <&tegra_car 22>, <&tegra_car 22>; 735 reset-names = "usb", "utmi-pads"; 736 nvidia,has-legacy-mode; 737 nvidia,hssync-start-delay = <9>; 738 nvidia,idle-wait-delay = <17>; 739 nvidia,elastic-limit = <16>; 740 nvidia,term-range-adj = <6>; 741 nvidia,xcvr-setup = <9>; 742 nvidia,xcvr-lsfslew = <1>; 743 nvidia,xcvr-lsrslew = <1>; 744 nvidia,has-utmi-pad-registers; 745 status = "disabled"; 746 }; 747 748 usb@c5004000 { 749 compatible = "nvidia,tegra20-ehci", "usb-ehci"; 750 reg = <0xc5004000 0x4000>; 751 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; 752 phy_type = "ulpi"; 753 clocks = <&tegra_car TEGRA20_CLK_USB2>; 754 resets = <&tegra_car 58>; 755 reset-names = "usb"; 756 nvidia,phy = <&phy2>; 757 status = "disabled"; 758 }; 759 760 phy2: usb-phy@c5004000 { 761 compatible = "nvidia,tegra20-usb-phy"; 762 reg = <0xc5004000 0x4000>; 763 phy_type = "ulpi"; 764 clocks = <&tegra_car TEGRA20_CLK_USB2>, 765 <&tegra_car TEGRA20_CLK_PLL_U>, 766 <&tegra_car TEGRA20_CLK_CDEV2>; 767 clock-names = "reg", "pll_u", "ulpi-link"; 768 resets = <&tegra_car 58>, <&tegra_car 22>; 769 reset-names = "usb", "utmi-pads"; 770 status = "disabled"; 771 }; 772 773 usb@c5008000 { 774 compatible = "nvidia,tegra20-ehci", "usb-ehci"; 775 reg = <0xc5008000 0x4000>; 776 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 777 phy_type = "utmi"; 778 clocks = <&tegra_car TEGRA20_CLK_USB3>; 779 resets = <&tegra_car 59>; 780 reset-names = "usb"; 781 nvidia,phy = <&phy3>; 782 status = "disabled"; 783 }; 784 785 phy3: usb-phy@c5008000 { 786 compatible = "nvidia,tegra20-usb-phy"; 787 reg = <0xc5008000 0x4000 0xc5000000 0x4000>; 788 phy_type = "utmi"; 789 clocks = <&tegra_car TEGRA20_CLK_USB3>, 790 <&tegra_car TEGRA20_CLK_PLL_U>, 791 <&tegra_car TEGRA20_CLK_CLK_M>, 792 <&tegra_car TEGRA20_CLK_USBD>; 793 clock-names = "reg", "pll_u", "timer", "utmi-pads"; 794 resets = <&tegra_car 59>, <&tegra_car 22>; 795 reset-names = "usb", "utmi-pads"; 796 nvidia,hssync-start-delay = <9>; 797 nvidia,idle-wait-delay = <17>; 798 nvidia,elastic-limit = <16>; 799 nvidia,term-range-adj = <6>; 800 nvidia,xcvr-setup = <9>; 801 nvidia,xcvr-lsfslew = <2>; 802 nvidia,xcvr-lsrslew = <2>; 803 status = "disabled"; 804 }; 805 806 sdhci@c8000000 { 807 compatible = "nvidia,tegra20-sdhci"; 808 reg = <0xc8000000 0x200>; 809 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 810 clocks = <&tegra_car TEGRA20_CLK_SDMMC1>; 811 resets = <&tegra_car 14>; 812 reset-names = "sdhci"; 813 status = "disabled"; 814 }; 815 816 sdhci@c8000200 { 817 compatible = "nvidia,tegra20-sdhci"; 818 reg = <0xc8000200 0x200>; 819 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; 820 clocks = <&tegra_car TEGRA20_CLK_SDMMC2>; 821 resets = <&tegra_car 9>; 822 reset-names = "sdhci"; 823 status = "disabled"; 824 }; 825 826 sdhci@c8000400 { 827 compatible = "nvidia,tegra20-sdhci"; 828 reg = <0xc8000400 0x200>; 829 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; 830 clocks = <&tegra_car TEGRA20_CLK_SDMMC3>; 831 resets = <&tegra_car 69>; 832 reset-names = "sdhci"; 833 status = "disabled"; 834 }; 835 836 sdhci@c8000600 { 837 compatible = "nvidia,tegra20-sdhci"; 838 reg = <0xc8000600 0x200>; 839 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 840 clocks = <&tegra_car TEGRA20_CLK_SDMMC4>; 841 resets = <&tegra_car 15>; 842 reset-names = "sdhci"; 843 status = "disabled"; 844 }; 845 846 cpus { 847 #address-cells = <1>; 848 #size-cells = <0>; 849 850 cpu@0 { 851 device_type = "cpu"; 852 compatible = "arm,cortex-a9"; 853 reg = <0>; 854 }; 855 856 cpu@1 { 857 device_type = "cpu"; 858 compatible = "arm,cortex-a9"; 859 reg = <1>; 860 }; 861 }; 862 863 pmu { 864 compatible = "arm,cortex-a9-pmu"; 865 interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>, 866 <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>; 867 interrupt-affinity = <&{/cpus/cpu@0}>, 868 <&{/cpus/cpu@1}>; 869 }; 870}; 871