1// SPDX-License-Identifier: GPL-2.0 2#include <dt-bindings/clock/tegra114-car.h> 3#include <dt-bindings/gpio/tegra-gpio.h> 4#include <dt-bindings/memory/tegra114-mc.h> 5#include <dt-bindings/pinctrl/pinctrl-tegra.h> 6#include <dt-bindings/interrupt-controller/arm-gic.h> 7#include <dt-bindings/soc/tegra-pmc.h> 8 9/ { 10 compatible = "nvidia,tegra114"; 11 interrupt-parent = <&lic>; 12 #address-cells = <1>; 13 #size-cells = <1>; 14 15 memory@80000000 { 16 device_type = "memory"; 17 reg = <0x80000000 0x0>; 18 }; 19 20 sram@40000000 { 21 compatible = "mmio-sram"; 22 reg = <0x40000000 0x40000>; 23 #address-cells = <1>; 24 #size-cells = <1>; 25 ranges = <0 0x40000000 0x40000>; 26 27 vde_pool: sram@400 { 28 reg = <0x400 0x3fc00>; 29 pool; 30 }; 31 }; 32 33 host1x@50000000 { 34 compatible = "nvidia,tegra114-host1x"; 35 reg = <0x50000000 0x00028000>; 36 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, /* syncpt */ 37 <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* general */ 38 interrupt-names = "syncpt", "host1x"; 39 clocks = <&tegra_car TEGRA114_CLK_HOST1X>; 40 clock-names = "host1x"; 41 resets = <&tegra_car 28>, <&mc TEGRA114_MC_RESET_HC>; 42 reset-names = "host1x", "mc"; 43 iommus = <&mc TEGRA_SWGROUP_HC>; 44 45 #address-cells = <1>; 46 #size-cells = <1>; 47 48 ranges = <0x54000000 0x54000000 0x01000000>; 49 50 gr2d@54140000 { 51 compatible = "nvidia,tegra114-gr2d"; 52 reg = <0x54140000 0x00040000>; 53 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; 54 clocks = <&tegra_car TEGRA114_CLK_GR2D>; 55 resets = <&tegra_car 21>, <&mc TEGRA114_MC_RESET_2D>; 56 reset-names = "2d", "mc"; 57 58 iommus = <&mc TEGRA_SWGROUP_G2>; 59 }; 60 61 gr3d@54180000 { 62 compatible = "nvidia,tegra114-gr3d"; 63 reg = <0x54180000 0x00040000>; 64 clocks = <&tegra_car TEGRA114_CLK_GR3D>; 65 resets = <&tegra_car 24>, <&mc TEGRA114_MC_RESET_3D>; 66 reset-names = "3d", "mc"; 67 68 iommus = <&mc TEGRA_SWGROUP_NV>; 69 }; 70 71 dc@54200000 { 72 compatible = "nvidia,tegra114-dc"; 73 reg = <0x54200000 0x00040000>; 74 interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; 75 clocks = <&tegra_car TEGRA114_CLK_DISP1>, 76 <&tegra_car TEGRA114_CLK_PLL_P>; 77 clock-names = "dc", "parent"; 78 resets = <&tegra_car 27>; 79 reset-names = "dc"; 80 81 iommus = <&mc TEGRA_SWGROUP_DC>; 82 83 nvidia,head = <0>; 84 85 rgb { 86 status = "disabled"; 87 }; 88 }; 89 90 dc@54240000 { 91 compatible = "nvidia,tegra114-dc"; 92 reg = <0x54240000 0x00040000>; 93 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; 94 clocks = <&tegra_car TEGRA114_CLK_DISP2>, 95 <&tegra_car TEGRA114_CLK_PLL_P>; 96 clock-names = "dc", "parent"; 97 resets = <&tegra_car 26>; 98 reset-names = "dc"; 99 100 iommus = <&mc TEGRA_SWGROUP_DCB>; 101 102 nvidia,head = <1>; 103 104 rgb { 105 status = "disabled"; 106 }; 107 }; 108 109 hdmi@54280000 { 110 compatible = "nvidia,tegra114-hdmi"; 111 reg = <0x54280000 0x00040000>; 112 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; 113 clocks = <&tegra_car TEGRA114_CLK_HDMI>, 114 <&tegra_car TEGRA114_CLK_PLL_D2_OUT0>; 115 clock-names = "hdmi", "parent"; 116 resets = <&tegra_car 51>; 117 reset-names = "hdmi"; 118 status = "disabled"; 119 }; 120 121 dsia: dsi@54300000 { 122 compatible = "nvidia,tegra114-dsi"; 123 reg = <0x54300000 0x00040000>; 124 clocks = <&tegra_car TEGRA114_CLK_DSIA>, 125 <&tegra_car TEGRA114_CLK_DSIALP>, 126 <&tegra_car TEGRA114_CLK_PLL_D_OUT0>; 127 clock-names = "dsi", "lp", "parent"; 128 resets = <&tegra_car 48>; 129 reset-names = "dsi"; 130 nvidia,mipi-calibrate = <&mipi 0x060>; /* DSIA & DSIB pads */ 131 status = "disabled"; 132 133 #address-cells = <1>; 134 #size-cells = <0>; 135 }; 136 137 dsib: dsi@54400000 { 138 compatible = "nvidia,tegra114-dsi"; 139 reg = <0x54400000 0x00040000>; 140 clocks = <&tegra_car TEGRA114_CLK_DSIB>, 141 <&tegra_car TEGRA114_CLK_DSIBLP>, 142 <&tegra_car TEGRA114_CLK_PLL_D_OUT0>; 143 clock-names = "dsi", "lp", "parent"; 144 resets = <&tegra_car 82>; 145 reset-names = "dsi"; 146 nvidia,mipi-calibrate = <&mipi 0x180>; /* DSIC & DSID pads */ 147 status = "disabled"; 148 149 #address-cells = <1>; 150 #size-cells = <0>; 151 }; 152 }; 153 154 gic: interrupt-controller@50041000 { 155 compatible = "arm,cortex-a15-gic"; 156 #interrupt-cells = <3>; 157 interrupt-controller; 158 reg = <0x50041000 0x1000>, 159 <0x50042000 0x1000>, 160 <0x50044000 0x2000>, 161 <0x50046000 0x2000>; 162 interrupts = <GIC_PPI 9 163 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 164 interrupt-parent = <&gic>; 165 }; 166 167 lic: interrupt-controller@60004000 { 168 compatible = "nvidia,tegra114-ictlr", "nvidia,tegra30-ictlr"; 169 reg = <0x60004000 0x100>, 170 <0x60004100 0x50>, 171 <0x60004200 0x50>, 172 <0x60004300 0x50>, 173 <0x60004400 0x50>; 174 interrupt-controller; 175 #interrupt-cells = <3>; 176 interrupt-parent = <&gic>; 177 }; 178 179 timer@60005000 { 180 compatible = "nvidia,tegra114-timer", "nvidia,tegra30-timer"; 181 reg = <0x60005000 0x400>; 182 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, 183 <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>, 184 <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>, 185 <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>, 186 <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>, 187 <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>; 188 clocks = <&tegra_car TEGRA114_CLK_TIMER>; 189 }; 190 191 tegra_car: clock@60006000 { 192 compatible = "nvidia,tegra114-car"; 193 reg = <0x60006000 0x1000>; 194 #clock-cells = <1>; 195 #reset-cells = <1>; 196 }; 197 198 flow-controller@60007000 { 199 compatible = "nvidia,tegra114-flowctrl"; 200 reg = <0x60007000 0x1000>; 201 }; 202 203 apbdma: dma@6000a000 { 204 compatible = "nvidia,tegra114-apbdma"; 205 reg = <0x6000a000 0x1400>; 206 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>, 207 <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>, 208 <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>, 209 <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>, 210 <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>, 211 <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>, 212 <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>, 213 <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>, 214 <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>, 215 <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>, 216 <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>, 217 <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>, 218 <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>, 219 <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>, 220 <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>, 221 <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>, 222 <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>, 223 <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>, 224 <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>, 225 <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>, 226 <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>, 227 <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>, 228 <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>, 229 <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>, 230 <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>, 231 <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>, 232 <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>, 233 <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>, 234 <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>, 235 <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>, 236 <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>, 237 <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>; 238 clocks = <&tegra_car TEGRA114_CLK_APBDMA>; 239 resets = <&tegra_car 34>; 240 reset-names = "dma"; 241 #dma-cells = <1>; 242 }; 243 244 ahb: ahb@6000c000 { 245 compatible = "nvidia,tegra114-ahb", "nvidia,tegra30-ahb"; 246 reg = <0x6000c000 0x150>; 247 }; 248 249 gpio: gpio@6000d000 { 250 compatible = "nvidia,tegra114-gpio", "nvidia,tegra30-gpio"; 251 reg = <0x6000d000 0x1000>; 252 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>, 253 <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>, 254 <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>, 255 <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>, 256 <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>, 257 <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>, 258 <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>, 259 <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>; 260 #gpio-cells = <2>; 261 gpio-controller; 262 #interrupt-cells = <2>; 263 interrupt-controller; 264 gpio-ranges = <&pinmux 0 0 246>; 265 }; 266 267 vde@6001a000 { 268 compatible = "nvidia,tegra114-vde"; 269 reg = <0x6001a000 0x1000>, /* Syntax Engine */ 270 <0x6001b000 0x1000>, /* Video Bitstream Engine */ 271 <0x6001c000 0x100>, /* Macroblock Engine */ 272 <0x6001c200 0x100>, /* Post-processing Engine */ 273 <0x6001c400 0x100>, /* Motion Compensation Engine */ 274 <0x6001c600 0x100>, /* Transform Engine */ 275 <0x6001c800 0x100>, /* Pixel prediction block */ 276 <0x6001ca00 0x100>, /* Video DMA */ 277 <0x6001d800 0x400>; /* Video frame controls */ 278 reg-names = "sxe", "bsev", "mbe", "ppe", "mce", 279 "tfe", "ppb", "vdma", "frameid"; 280 iram = <&vde_pool>; /* IRAM region */ 281 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, /* Sync token interrupt */ 282 <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>, /* BSE-V interrupt */ 283 <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; /* SXE interrupt */ 284 interrupt-names = "sync-token", "bsev", "sxe"; 285 clocks = <&tegra_car TEGRA114_CLK_VDE>; 286 reset-names = "vde", "mc"; 287 resets = <&tegra_car 61>, <&mc TEGRA114_MC_RESET_VDE>; 288 iommus = <&mc TEGRA_SWGROUP_VDE>; 289 }; 290 291 apbmisc@70000800 { 292 compatible = "nvidia,tegra114-apbmisc", "nvidia,tegra20-apbmisc"; 293 reg = <0x70000800 0x64>, /* Chip revision */ 294 <0x70000008 0x04>; /* Strapping options */ 295 }; 296 297 pinmux: pinmux@70000868 { 298 compatible = "nvidia,tegra114-pinmux"; 299 reg = <0x70000868 0x148>, /* Pad control registers */ 300 <0x70003000 0x40c>; /* Mux registers */ 301 }; 302 303 /* 304 * There are two serial driver i.e. 8250 based simple serial 305 * driver and APB DMA based serial driver for higher baudrate 306 * and performace. To enable the 8250 based driver, the compatible 307 * is "nvidia,tegra114-uart", "nvidia,tegra20-uart" and to enable 308 * the APB DMA based serial driver, the compatible is 309 * "nvidia,tegra114-hsuart", "nvidia,tegra30-hsuart". 310 */ 311 uarta: serial@70006000 { 312 compatible = "nvidia,tegra114-uart", "nvidia,tegra20-uart"; 313 reg = <0x70006000 0x40>; 314 reg-shift = <2>; 315 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 316 clocks = <&tegra_car TEGRA114_CLK_UARTA>; 317 resets = <&tegra_car 6>; 318 dmas = <&apbdma 8>, <&apbdma 8>; 319 dma-names = "rx", "tx"; 320 status = "disabled"; 321 }; 322 323 uartb: serial@70006040 { 324 compatible = "nvidia,tegra114-uart", "nvidia,tegra20-uart"; 325 reg = <0x70006040 0x40>; 326 reg-shift = <2>; 327 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 328 clocks = <&tegra_car TEGRA114_CLK_UARTB>; 329 resets = <&tegra_car 7>; 330 dmas = <&apbdma 9>, <&apbdma 9>; 331 dma-names = "rx", "tx"; 332 status = "disabled"; 333 }; 334 335 uartc: serial@70006200 { 336 compatible = "nvidia,tegra114-uart", "nvidia,tegra20-uart"; 337 reg = <0x70006200 0x100>; 338 reg-shift = <2>; 339 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; 340 clocks = <&tegra_car TEGRA114_CLK_UARTC>; 341 resets = <&tegra_car 55>; 342 dmas = <&apbdma 10>, <&apbdma 10>; 343 dma-names = "rx", "tx"; 344 status = "disabled"; 345 }; 346 347 uartd: serial@70006300 { 348 compatible = "nvidia,tegra114-uart", "nvidia,tegra20-uart"; 349 reg = <0x70006300 0x100>; 350 reg-shift = <2>; 351 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; 352 clocks = <&tegra_car TEGRA114_CLK_UARTD>; 353 resets = <&tegra_car 65>; 354 dmas = <&apbdma 19>, <&apbdma 19>; 355 dma-names = "rx", "tx"; 356 status = "disabled"; 357 }; 358 359 pwm: pwm@7000a000 { 360 compatible = "nvidia,tegra114-pwm", "nvidia,tegra20-pwm"; 361 reg = <0x7000a000 0x100>; 362 #pwm-cells = <2>; 363 clocks = <&tegra_car TEGRA114_CLK_PWM>; 364 resets = <&tegra_car 17>; 365 reset-names = "pwm"; 366 status = "disabled"; 367 }; 368 369 i2c@7000c000 { 370 compatible = "nvidia,tegra114-i2c"; 371 reg = <0x7000c000 0x100>; 372 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 373 #address-cells = <1>; 374 #size-cells = <0>; 375 clocks = <&tegra_car TEGRA114_CLK_I2C1>; 376 clock-names = "div-clk"; 377 resets = <&tegra_car 12>; 378 reset-names = "i2c"; 379 dmas = <&apbdma 21>, <&apbdma 21>; 380 dma-names = "rx", "tx"; 381 status = "disabled"; 382 }; 383 384 i2c@7000c400 { 385 compatible = "nvidia,tegra114-i2c"; 386 reg = <0x7000c400 0x100>; 387 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; 388 #address-cells = <1>; 389 #size-cells = <0>; 390 clocks = <&tegra_car TEGRA114_CLK_I2C2>; 391 clock-names = "div-clk"; 392 resets = <&tegra_car 54>; 393 reset-names = "i2c"; 394 dmas = <&apbdma 22>, <&apbdma 22>; 395 dma-names = "rx", "tx"; 396 status = "disabled"; 397 }; 398 399 i2c@7000c500 { 400 compatible = "nvidia,tegra114-i2c"; 401 reg = <0x7000c500 0x100>; 402 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>; 403 #address-cells = <1>; 404 #size-cells = <0>; 405 clocks = <&tegra_car TEGRA114_CLK_I2C3>; 406 clock-names = "div-clk"; 407 resets = <&tegra_car 67>; 408 reset-names = "i2c"; 409 dmas = <&apbdma 23>, <&apbdma 23>; 410 dma-names = "rx", "tx"; 411 status = "disabled"; 412 }; 413 414 i2c@7000c700 { 415 compatible = "nvidia,tegra114-i2c"; 416 reg = <0x7000c700 0x100>; 417 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>; 418 #address-cells = <1>; 419 #size-cells = <0>; 420 clocks = <&tegra_car TEGRA114_CLK_I2C4>; 421 clock-names = "div-clk"; 422 resets = <&tegra_car 103>; 423 reset-names = "i2c"; 424 dmas = <&apbdma 26>, <&apbdma 26>; 425 dma-names = "rx", "tx"; 426 status = "disabled"; 427 }; 428 429 i2c@7000d000 { 430 compatible = "nvidia,tegra114-i2c"; 431 reg = <0x7000d000 0x100>; 432 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 433 #address-cells = <1>; 434 #size-cells = <0>; 435 clocks = <&tegra_car TEGRA114_CLK_I2C5>; 436 clock-names = "div-clk"; 437 resets = <&tegra_car 47>; 438 reset-names = "i2c"; 439 dmas = <&apbdma 24>, <&apbdma 24>; 440 dma-names = "rx", "tx"; 441 status = "disabled"; 442 }; 443 444 spi@7000d400 { 445 compatible = "nvidia,tegra114-spi"; 446 reg = <0x7000d400 0x200>; 447 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>; 448 #address-cells = <1>; 449 #size-cells = <0>; 450 clocks = <&tegra_car TEGRA114_CLK_SBC1>; 451 clock-names = "spi"; 452 resets = <&tegra_car 41>; 453 reset-names = "spi"; 454 dmas = <&apbdma 15>, <&apbdma 15>; 455 dma-names = "rx", "tx"; 456 status = "disabled"; 457 }; 458 459 spi@7000d600 { 460 compatible = "nvidia,tegra114-spi"; 461 reg = <0x7000d600 0x200>; 462 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; 463 #address-cells = <1>; 464 #size-cells = <0>; 465 clocks = <&tegra_car TEGRA114_CLK_SBC2>; 466 clock-names = "spi"; 467 resets = <&tegra_car 44>; 468 reset-names = "spi"; 469 dmas = <&apbdma 16>, <&apbdma 16>; 470 dma-names = "rx", "tx"; 471 status = "disabled"; 472 }; 473 474 spi@7000d800 { 475 compatible = "nvidia,tegra114-spi"; 476 reg = <0x7000d800 0x200>; 477 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 478 #address-cells = <1>; 479 #size-cells = <0>; 480 clocks = <&tegra_car TEGRA114_CLK_SBC3>; 481 clock-names = "spi"; 482 resets = <&tegra_car 46>; 483 reset-names = "spi"; 484 dmas = <&apbdma 17>, <&apbdma 17>; 485 dma-names = "rx", "tx"; 486 status = "disabled"; 487 }; 488 489 spi@7000da00 { 490 compatible = "nvidia,tegra114-spi"; 491 reg = <0x7000da00 0x200>; 492 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>; 493 #address-cells = <1>; 494 #size-cells = <0>; 495 clocks = <&tegra_car TEGRA114_CLK_SBC4>; 496 clock-names = "spi"; 497 resets = <&tegra_car 68>; 498 reset-names = "spi"; 499 dmas = <&apbdma 18>, <&apbdma 18>; 500 dma-names = "rx", "tx"; 501 status = "disabled"; 502 }; 503 504 spi@7000dc00 { 505 compatible = "nvidia,tegra114-spi"; 506 reg = <0x7000dc00 0x200>; 507 interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; 508 #address-cells = <1>; 509 #size-cells = <0>; 510 clocks = <&tegra_car TEGRA114_CLK_SBC5>; 511 clock-names = "spi"; 512 resets = <&tegra_car 104>; 513 reset-names = "spi"; 514 dmas = <&apbdma 27>, <&apbdma 27>; 515 dma-names = "rx", "tx"; 516 status = "disabled"; 517 }; 518 519 spi@7000de00 { 520 compatible = "nvidia,tegra114-spi"; 521 reg = <0x7000de00 0x200>; 522 interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; 523 #address-cells = <1>; 524 #size-cells = <0>; 525 clocks = <&tegra_car TEGRA114_CLK_SBC6>; 526 clock-names = "spi"; 527 resets = <&tegra_car 105>; 528 reset-names = "spi"; 529 dmas = <&apbdma 28>, <&apbdma 28>; 530 dma-names = "rx", "tx"; 531 status = "disabled"; 532 }; 533 534 rtc@7000e000 { 535 compatible = "nvidia,tegra114-rtc", "nvidia,tegra20-rtc"; 536 reg = <0x7000e000 0x100>; 537 interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 538 clocks = <&tegra_car TEGRA114_CLK_RTC>; 539 }; 540 541 kbc@7000e200 { 542 compatible = "nvidia,tegra114-kbc"; 543 reg = <0x7000e200 0x100>; 544 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; 545 clocks = <&tegra_car TEGRA114_CLK_KBC>; 546 resets = <&tegra_car 36>; 547 reset-names = "kbc"; 548 status = "disabled"; 549 }; 550 551 tegra_pmc: pmc@7000e400 { 552 compatible = "nvidia,tegra114-pmc"; 553 reg = <0x7000e400 0x400>; 554 clocks = <&tegra_car TEGRA114_CLK_PCLK>, <&clk32k_in>; 555 clock-names = "pclk", "clk32k_in"; 556 #clock-cells = <1>; 557 }; 558 559 fuse@7000f800 { 560 compatible = "nvidia,tegra114-efuse"; 561 reg = <0x7000f800 0x400>; 562 clocks = <&tegra_car TEGRA114_CLK_FUSE>; 563 clock-names = "fuse"; 564 resets = <&tegra_car 39>; 565 reset-names = "fuse"; 566 }; 567 568 mc: memory-controller@70019000 { 569 compatible = "nvidia,tegra114-mc"; 570 reg = <0x70019000 0x1000>; 571 clocks = <&tegra_car TEGRA114_CLK_MC>; 572 clock-names = "mc"; 573 574 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; 575 576 #reset-cells = <1>; 577 #iommu-cells = <1>; 578 }; 579 580 hda@70030000 { 581 compatible = "nvidia,tegra114-hda", "nvidia,tegra30-hda"; 582 reg = <0x70030000 0x10000>; 583 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; 584 clocks = <&tegra_car TEGRA114_CLK_HDA>, 585 <&tegra_car TEGRA114_CLK_HDA2HDMI>, 586 <&tegra_car TEGRA114_CLK_HDA2CODEC_2X>; 587 clock-names = "hda", "hda2hdmi", "hda2codec_2x"; 588 resets = <&tegra_car 125>, /* hda */ 589 <&tegra_car 128>, /* hda2hdmi */ 590 <&tegra_car 111>; /* hda2codec_2x */ 591 reset-names = "hda", "hda2hdmi", "hda2codec_2x"; 592 status = "disabled"; 593 }; 594 595 ahub@70080000 { 596 compatible = "nvidia,tegra114-ahub"; 597 reg = <0x70080000 0x200>, 598 <0x70080200 0x100>, 599 <0x70081000 0x200>; 600 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; 601 clocks = <&tegra_car TEGRA114_CLK_D_AUDIO>, 602 <&tegra_car TEGRA114_CLK_APBIF>; 603 clock-names = "d_audio", "apbif"; 604 resets = <&tegra_car 106>, /* d_audio */ 605 <&tegra_car 107>, /* apbif */ 606 <&tegra_car 30>, /* i2s0 */ 607 <&tegra_car 11>, /* i2s1 */ 608 <&tegra_car 18>, /* i2s2 */ 609 <&tegra_car 101>, /* i2s3 */ 610 <&tegra_car 102>, /* i2s4 */ 611 <&tegra_car 108>, /* dam0 */ 612 <&tegra_car 109>, /* dam1 */ 613 <&tegra_car 110>, /* dam2 */ 614 <&tegra_car 10>, /* spdif */ 615 <&tegra_car 153>, /* amx */ 616 <&tegra_car 154>; /* adx */ 617 reset-names = "d_audio", "apbif", "i2s0", "i2s1", "i2s2", 618 "i2s3", "i2s4", "dam0", "dam1", "dam2", 619 "spdif", "amx", "adx"; 620 dmas = <&apbdma 1>, <&apbdma 1>, 621 <&apbdma 2>, <&apbdma 2>, 622 <&apbdma 3>, <&apbdma 3>, 623 <&apbdma 4>, <&apbdma 4>, 624 <&apbdma 6>, <&apbdma 6>, 625 <&apbdma 7>, <&apbdma 7>, 626 <&apbdma 12>, <&apbdma 12>, 627 <&apbdma 13>, <&apbdma 13>, 628 <&apbdma 14>, <&apbdma 14>, 629 <&apbdma 29>, <&apbdma 29>; 630 dma-names = "rx0", "tx0", "rx1", "tx1", "rx2", "tx2", 631 "rx3", "tx3", "rx4", "tx4", "rx5", "tx5", 632 "rx6", "tx6", "rx7", "tx7", "rx8", "tx8", 633 "rx9", "tx9"; 634 ranges; 635 #address-cells = <1>; 636 #size-cells = <1>; 637 638 tegra_i2s0: i2s@70080300 { 639 compatible = "nvidia,tegra114-i2s", "nvidia,tegra30-i2s"; 640 reg = <0x70080300 0x100>; 641 nvidia,ahub-cif-ids = <4 4>; 642 clocks = <&tegra_car TEGRA114_CLK_I2S0>; 643 resets = <&tegra_car 30>; 644 reset-names = "i2s"; 645 status = "disabled"; 646 }; 647 648 tegra_i2s1: i2s@70080400 { 649 compatible = "nvidia,tegra114-i2s", "nvidia,tegra30-i2s"; 650 reg = <0x70080400 0x100>; 651 nvidia,ahub-cif-ids = <5 5>; 652 clocks = <&tegra_car TEGRA114_CLK_I2S1>; 653 resets = <&tegra_car 11>; 654 reset-names = "i2s"; 655 status = "disabled"; 656 }; 657 658 tegra_i2s2: i2s@70080500 { 659 compatible = "nvidia,tegra114-i2s", "nvidia,tegra30-i2s"; 660 reg = <0x70080500 0x100>; 661 nvidia,ahub-cif-ids = <6 6>; 662 clocks = <&tegra_car TEGRA114_CLK_I2S2>; 663 resets = <&tegra_car 18>; 664 reset-names = "i2s"; 665 status = "disabled"; 666 }; 667 668 tegra_i2s3: i2s@70080600 { 669 compatible = "nvidia,tegra114-i2s", "nvidia,tegra30-i2s"; 670 reg = <0x70080600 0x100>; 671 nvidia,ahub-cif-ids = <7 7>; 672 clocks = <&tegra_car TEGRA114_CLK_I2S3>; 673 resets = <&tegra_car 101>; 674 reset-names = "i2s"; 675 status = "disabled"; 676 }; 677 678 tegra_i2s4: i2s@70080700 { 679 compatible = "nvidia,tegra114-i2s", "nvidia,tegra30-i2s"; 680 reg = <0x70080700 0x100>; 681 nvidia,ahub-cif-ids = <8 8>; 682 clocks = <&tegra_car TEGRA114_CLK_I2S4>; 683 resets = <&tegra_car 102>; 684 reset-names = "i2s"; 685 status = "disabled"; 686 }; 687 }; 688 689 mipi: mipi@700e3000 { 690 compatible = "nvidia,tegra114-mipi"; 691 reg = <0x700e3000 0x100>; 692 clocks = <&tegra_car TEGRA114_CLK_MIPI_CAL>; 693 #nvidia,mipi-calibrate-cells = <1>; 694 }; 695 696 mmc@78000000 { 697 compatible = "nvidia,tegra114-sdhci"; 698 reg = <0x78000000 0x200>; 699 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 700 clocks = <&tegra_car TEGRA114_CLK_SDMMC1>; 701 clock-names = "sdhci"; 702 resets = <&tegra_car 14>; 703 reset-names = "sdhci"; 704 status = "disabled"; 705 }; 706 707 mmc@78000200 { 708 compatible = "nvidia,tegra114-sdhci"; 709 reg = <0x78000200 0x200>; 710 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; 711 clocks = <&tegra_car TEGRA114_CLK_SDMMC2>; 712 clock-names = "sdhci"; 713 resets = <&tegra_car 9>; 714 reset-names = "sdhci"; 715 status = "disabled"; 716 }; 717 718 mmc@78000400 { 719 compatible = "nvidia,tegra114-sdhci"; 720 reg = <0x78000400 0x200>; 721 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; 722 clocks = <&tegra_car TEGRA114_CLK_SDMMC3>; 723 clock-names = "sdhci"; 724 resets = <&tegra_car 69>; 725 reset-names = "sdhci"; 726 status = "disabled"; 727 }; 728 729 mmc@78000600 { 730 compatible = "nvidia,tegra114-sdhci"; 731 reg = <0x78000600 0x200>; 732 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 733 clocks = <&tegra_car TEGRA114_CLK_SDMMC4>; 734 clock-names = "sdhci"; 735 resets = <&tegra_car 15>; 736 reset-names = "sdhci"; 737 status = "disabled"; 738 }; 739 740 usb@7d000000 { 741 compatible = "nvidia,tegra114-ehci", "nvidia,tegra30-ehci"; 742 reg = <0x7d000000 0x4000>; 743 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 744 phy_type = "utmi"; 745 clocks = <&tegra_car TEGRA114_CLK_USBD>; 746 resets = <&tegra_car 22>; 747 reset-names = "usb"; 748 nvidia,phy = <&phy1>; 749 status = "disabled"; 750 }; 751 752 phy1: usb-phy@7d000000 { 753 compatible = "nvidia,tegra114-usb-phy", "nvidia,tegra30-usb-phy"; 754 reg = <0x7d000000 0x4000>, 755 <0x7d000000 0x4000>; 756 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 757 phy_type = "utmi"; 758 clocks = <&tegra_car TEGRA114_CLK_USBD>, 759 <&tegra_car TEGRA114_CLK_PLL_U>, 760 <&tegra_car TEGRA114_CLK_USBD>; 761 clock-names = "reg", "pll_u", "utmi-pads"; 762 resets = <&tegra_car 22>, <&tegra_car 22>; 763 reset-names = "usb", "utmi-pads"; 764 #phy-cells = <0>; 765 nvidia,hssync-start-delay = <0>; 766 nvidia,idle-wait-delay = <17>; 767 nvidia,elastic-limit = <16>; 768 nvidia,term-range-adj = <6>; 769 nvidia,xcvr-setup = <9>; 770 nvidia,xcvr-lsfslew = <0>; 771 nvidia,xcvr-lsrslew = <3>; 772 nvidia,hssquelch-level = <2>; 773 nvidia,hsdiscon-level = <5>; 774 nvidia,xcvr-hsslew = <12>; 775 nvidia,has-utmi-pad-registers; 776 nvidia,pmc = <&tegra_pmc 0>; 777 status = "disabled"; 778 }; 779 780 usb@7d008000 { 781 compatible = "nvidia,tegra114-ehci", "nvidia,tegra30-ehci"; 782 reg = <0x7d008000 0x4000>; 783 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 784 phy_type = "utmi"; 785 clocks = <&tegra_car TEGRA114_CLK_USB3>; 786 resets = <&tegra_car 59>; 787 reset-names = "usb"; 788 nvidia,phy = <&phy3>; 789 status = "disabled"; 790 }; 791 792 phy3: usb-phy@7d008000 { 793 compatible = "nvidia,tegra114-usb-phy", "nvidia,tegra30-usb-phy"; 794 reg = <0x7d008000 0x4000>, 795 <0x7d000000 0x4000>; 796 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 797 phy_type = "utmi"; 798 clocks = <&tegra_car TEGRA114_CLK_USB3>, 799 <&tegra_car TEGRA114_CLK_PLL_U>, 800 <&tegra_car TEGRA114_CLK_USBD>; 801 clock-names = "reg", "pll_u", "utmi-pads"; 802 resets = <&tegra_car 59>, <&tegra_car 22>; 803 reset-names = "usb", "utmi-pads"; 804 #phy-cells = <0>; 805 nvidia,hssync-start-delay = <0>; 806 nvidia,idle-wait-delay = <17>; 807 nvidia,elastic-limit = <16>; 808 nvidia,term-range-adj = <6>; 809 nvidia,xcvr-setup = <9>; 810 nvidia,xcvr-lsfslew = <0>; 811 nvidia,xcvr-lsrslew = <3>; 812 nvidia,hssquelch-level = <2>; 813 nvidia,hsdiscon-level = <5>; 814 nvidia,xcvr-hsslew = <12>; 815 nvidia,pmc = <&tegra_pmc 2>; 816 status = "disabled"; 817 }; 818 819 cpus { 820 #address-cells = <1>; 821 #size-cells = <0>; 822 823 cpu0: cpu@0 { 824 device_type = "cpu"; 825 compatible = "arm,cortex-a15"; 826 reg = <0>; 827 }; 828 829 cpu1: cpu@1 { 830 device_type = "cpu"; 831 compatible = "arm,cortex-a15"; 832 reg = <1>; 833 }; 834 835 cpu2: cpu@2 { 836 device_type = "cpu"; 837 compatible = "arm,cortex-a15"; 838 reg = <2>; 839 }; 840 841 cpu3: cpu@3 { 842 device_type = "cpu"; 843 compatible = "arm,cortex-a15"; 844 reg = <3>; 845 }; 846 }; 847 848 pmu { 849 compatible = "arm,cortex-a15-pmu"; 850 interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>, 851 <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>, 852 <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>, 853 <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>; 854 interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; 855 }; 856 857 timer { 858 compatible = "arm,armv7-timer"; 859 interrupts = 860 <GIC_PPI 13 861 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 862 <GIC_PPI 14 863 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 864 <GIC_PPI 11 865 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 866 <GIC_PPI 10 867 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 868 interrupt-parent = <&gic>; 869 }; 870}; 871