| .. | .. |
|---|
| 3 | 3 | #include <dt-bindings/gpio/tegra-gpio.h> |
|---|
| 4 | 4 | #include <dt-bindings/memory/tegra210-mc.h> |
|---|
| 5 | 5 | #include <dt-bindings/pinctrl/pinctrl-tegra.h> |
|---|
| 6 | +#include <dt-bindings/pinctrl/pinctrl-tegra-io-pad.h> |
|---|
| 7 | +#include <dt-bindings/reset/tegra210-car.h> |
|---|
| 6 | 8 | #include <dt-bindings/interrupt-controller/arm-gic.h> |
|---|
| 7 | 9 | #include <dt-bindings/thermal/tegra124-soctherm.h> |
|---|
| 10 | +#include <dt-bindings/soc/tegra-pmc.h> |
|---|
| 8 | 11 | |
|---|
| 9 | 12 | / { |
|---|
| 10 | 13 | compatible = "nvidia,tegra210"; |
|---|
| .. | .. |
|---|
| 15 | 18 | pcie@1003000 { |
|---|
| 16 | 19 | compatible = "nvidia,tegra210-pcie"; |
|---|
| 17 | 20 | device_type = "pci"; |
|---|
| 18 | | - reg = <0x0 0x01003000 0x0 0x00000800 /* PADS registers */ |
|---|
| 19 | | - 0x0 0x01003800 0x0 0x00000800 /* AFI registers */ |
|---|
| 20 | | - 0x0 0x02000000 0x0 0x10000000>; /* configuration space */ |
|---|
| 21 | + reg = <0x0 0x01003000 0x0 0x00000800>, /* PADS registers */ |
|---|
| 22 | + <0x0 0x01003800 0x0 0x00000800>, /* AFI registers */ |
|---|
| 23 | + <0x0 0x02000000 0x0 0x10000000>; /* configuration space */ |
|---|
| 21 | 24 | reg-names = "pads", "afi", "cs"; |
|---|
| 22 | 25 | interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */ |
|---|
| 23 | 26 | <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */ |
|---|
| .. | .. |
|---|
| 31 | 34 | #address-cells = <3>; |
|---|
| 32 | 35 | #size-cells = <2>; |
|---|
| 33 | 36 | |
|---|
| 34 | | - ranges = <0x82000000 0 0x01000000 0x0 0x01000000 0 0x00001000 /* port 0 configuration space */ |
|---|
| 35 | | - 0x82000000 0 0x01001000 0x0 0x01001000 0 0x00001000 /* port 1 configuration space */ |
|---|
| 36 | | - 0x81000000 0 0x0 0x0 0x12000000 0 0x00010000 /* downstream I/O (64 KiB) */ |
|---|
| 37 | | - 0x82000000 0 0x13000000 0x0 0x13000000 0 0x0d000000 /* non-prefetchable memory (208 MiB) */ |
|---|
| 38 | | - 0xc2000000 0 0x20000000 0x0 0x20000000 0 0x20000000>; /* prefetchable memory (512 MiB) */ |
|---|
| 37 | + ranges = <0x02000000 0 0x01000000 0x0 0x01000000 0 0x00001000>, /* port 0 configuration space */ |
|---|
| 38 | + <0x02000000 0 0x01001000 0x0 0x01001000 0 0x00001000>, /* port 1 configuration space */ |
|---|
| 39 | + <0x01000000 0 0x0 0x0 0x12000000 0 0x00010000>, /* downstream I/O (64 KiB) */ |
|---|
| 40 | + <0x02000000 0 0x13000000 0x0 0x13000000 0 0x0d000000>, /* non-prefetchable memory (208 MiB) */ |
|---|
| 41 | + <0x42000000 0 0x20000000 0x0 0x20000000 0 0x20000000>; /* prefetchable memory (512 MiB) */ |
|---|
| 39 | 42 | |
|---|
| 40 | 43 | clocks = <&tegra_car TEGRA210_CLK_PCIE>, |
|---|
| 41 | 44 | <&tegra_car TEGRA210_CLK_AFI>, |
|---|
| .. | .. |
|---|
| 46 | 49 | <&tegra_car 72>, |
|---|
| 47 | 50 | <&tegra_car 74>; |
|---|
| 48 | 51 | reset-names = "pex", "afi", "pcie_x"; |
|---|
| 52 | + |
|---|
| 53 | + pinctrl-names = "default", "idle"; |
|---|
| 54 | + pinctrl-0 = <&pex_dpd_disable>; |
|---|
| 55 | + pinctrl-1 = <&pex_dpd_enable>; |
|---|
| 56 | + |
|---|
| 49 | 57 | status = "disabled"; |
|---|
| 50 | 58 | |
|---|
| 51 | 59 | pci@1,0 { |
|---|
| .. | .. |
|---|
| 78 | 86 | }; |
|---|
| 79 | 87 | |
|---|
| 80 | 88 | host1x@50000000 { |
|---|
| 81 | | - compatible = "nvidia,tegra210-host1x", "simple-bus"; |
|---|
| 89 | + compatible = "nvidia,tegra210-host1x"; |
|---|
| 82 | 90 | reg = <0x0 0x50000000 0x0 0x00034000>; |
|---|
| 83 | 91 | interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, /* syncpt */ |
|---|
| 84 | 92 | <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* general */ |
|---|
| 93 | + interrupt-names = "syncpt", "host1x"; |
|---|
| 85 | 94 | clocks = <&tegra_car TEGRA210_CLK_HOST1X>; |
|---|
| 86 | 95 | clock-names = "host1x"; |
|---|
| 87 | 96 | resets = <&tegra_car 28>; |
|---|
| .. | .. |
|---|
| 129 | 138 | |
|---|
| 130 | 139 | vi@54080000 { |
|---|
| 131 | 140 | compatible = "nvidia,tegra210-vi"; |
|---|
| 132 | | - reg = <0x0 0x54080000 0x0 0x00040000>; |
|---|
| 141 | + reg = <0x0 0x54080000 0x0 0x700>; |
|---|
| 133 | 142 | interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>; |
|---|
| 134 | 143 | status = "disabled"; |
|---|
| 144 | + assigned-clocks = <&tegra_car TEGRA210_CLK_VI>; |
|---|
| 145 | + assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_C4_OUT0>; |
|---|
| 146 | + |
|---|
| 147 | + clocks = <&tegra_car TEGRA210_CLK_VI>; |
|---|
| 148 | + power-domains = <&pd_venc>; |
|---|
| 149 | + |
|---|
| 150 | + #address-cells = <1>; |
|---|
| 151 | + #size-cells = <1>; |
|---|
| 152 | + |
|---|
| 153 | + ranges = <0x0 0x0 0x54080000 0x2000>; |
|---|
| 154 | + |
|---|
| 155 | + csi@838 { |
|---|
| 156 | + compatible = "nvidia,tegra210-csi"; |
|---|
| 157 | + reg = <0x838 0x1300>; |
|---|
| 158 | + status = "disabled"; |
|---|
| 159 | + assigned-clocks = <&tegra_car TEGRA210_CLK_CILAB>, |
|---|
| 160 | + <&tegra_car TEGRA210_CLK_CILCD>, |
|---|
| 161 | + <&tegra_car TEGRA210_CLK_CILE>, |
|---|
| 162 | + <&tegra_car TEGRA210_CLK_CSI_TPG>; |
|---|
| 163 | + assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_P>, |
|---|
| 164 | + <&tegra_car TEGRA210_CLK_PLL_P>, |
|---|
| 165 | + <&tegra_car TEGRA210_CLK_PLL_P>; |
|---|
| 166 | + assigned-clock-rates = <102000000>, |
|---|
| 167 | + <102000000>, |
|---|
| 168 | + <102000000>, |
|---|
| 169 | + <972000000>; |
|---|
| 170 | + |
|---|
| 171 | + clocks = <&tegra_car TEGRA210_CLK_CSI>, |
|---|
| 172 | + <&tegra_car TEGRA210_CLK_CILAB>, |
|---|
| 173 | + <&tegra_car TEGRA210_CLK_CILCD>, |
|---|
| 174 | + <&tegra_car TEGRA210_CLK_CILE>, |
|---|
| 175 | + <&tegra_car TEGRA210_CLK_CSI_TPG>; |
|---|
| 176 | + clock-names = "csi", "cilab", "cilcd", "cile", "csi_tpg"; |
|---|
| 177 | + power-domains = <&pd_sor>; |
|---|
| 178 | + }; |
|---|
| 135 | 179 | }; |
|---|
| 136 | 180 | |
|---|
| 137 | 181 | tsec@54100000 { |
|---|
| .. | .. |
|---|
| 143 | 187 | compatible = "nvidia,tegra210-dc"; |
|---|
| 144 | 188 | reg = <0x0 0x54200000 0x0 0x00040000>; |
|---|
| 145 | 189 | interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; |
|---|
| 146 | | - clocks = <&tegra_car TEGRA210_CLK_DISP1>, |
|---|
| 147 | | - <&tegra_car TEGRA210_CLK_PLL_P>; |
|---|
| 148 | | - clock-names = "dc", "parent"; |
|---|
| 190 | + clocks = <&tegra_car TEGRA210_CLK_DISP1>; |
|---|
| 191 | + clock-names = "dc"; |
|---|
| 149 | 192 | resets = <&tegra_car 27>; |
|---|
| 150 | 193 | reset-names = "dc"; |
|---|
| 151 | 194 | |
|---|
| 152 | 195 | iommus = <&mc TEGRA_SWGROUP_DC>; |
|---|
| 153 | 196 | |
|---|
| 197 | + nvidia,outputs = <&dsia &dsib &sor0 &sor1>; |
|---|
| 154 | 198 | nvidia,head = <0>; |
|---|
| 155 | 199 | }; |
|---|
| 156 | 200 | |
|---|
| .. | .. |
|---|
| 158 | 202 | compatible = "nvidia,tegra210-dc"; |
|---|
| 159 | 203 | reg = <0x0 0x54240000 0x0 0x00040000>; |
|---|
| 160 | 204 | interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; |
|---|
| 161 | | - clocks = <&tegra_car TEGRA210_CLK_DISP2>, |
|---|
| 162 | | - <&tegra_car TEGRA210_CLK_PLL_P>; |
|---|
| 163 | | - clock-names = "dc", "parent"; |
|---|
| 205 | + clocks = <&tegra_car TEGRA210_CLK_DISP2>; |
|---|
| 206 | + clock-names = "dc"; |
|---|
| 164 | 207 | resets = <&tegra_car 26>; |
|---|
| 165 | 208 | reset-names = "dc"; |
|---|
| 166 | 209 | |
|---|
| 167 | 210 | iommus = <&mc TEGRA_SWGROUP_DCB>; |
|---|
| 168 | 211 | |
|---|
| 212 | + nvidia,outputs = <&dsia &dsib &sor0 &sor1>; |
|---|
| 169 | 213 | nvidia,head = <1>; |
|---|
| 170 | 214 | }; |
|---|
| 171 | 215 | |
|---|
| 172 | | - dsi@54300000 { |
|---|
| 216 | + dsia: dsi@54300000 { |
|---|
| 173 | 217 | compatible = "nvidia,tegra210-dsi"; |
|---|
| 174 | 218 | reg = <0x0 0x54300000 0x0 0x00040000>; |
|---|
| 175 | 219 | clocks = <&tegra_car TEGRA210_CLK_DSIA>, |
|---|
| .. | .. |
|---|
| 206 | 250 | status = "disabled"; |
|---|
| 207 | 251 | }; |
|---|
| 208 | 252 | |
|---|
| 209 | | - dsi@54400000 { |
|---|
| 253 | + dsib: dsi@54400000 { |
|---|
| 210 | 254 | compatible = "nvidia,tegra210-dsi"; |
|---|
| 211 | 255 | reg = <0x0 0x54400000 0x0 0x00040000>; |
|---|
| 212 | 256 | clocks = <&tegra_car TEGRA210_CLK_DSIB>, |
|---|
| .. | .. |
|---|
| 242 | 286 | status = "disabled"; |
|---|
| 243 | 287 | }; |
|---|
| 244 | 288 | |
|---|
| 245 | | - sor@54540000 { |
|---|
| 289 | + sor0: sor@54540000 { |
|---|
| 246 | 290 | compatible = "nvidia,tegra210-sor"; |
|---|
| 247 | 291 | reg = <0x0 0x54540000 0x0 0x00040000>; |
|---|
| 248 | 292 | interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>; |
|---|
| 249 | 293 | clocks = <&tegra_car TEGRA210_CLK_SOR0>, |
|---|
| 294 | + <&tegra_car TEGRA210_CLK_SOR0_OUT>, |
|---|
| 250 | 295 | <&tegra_car TEGRA210_CLK_PLL_D_OUT0>, |
|---|
| 251 | 296 | <&tegra_car TEGRA210_CLK_PLL_DP>, |
|---|
| 252 | 297 | <&tegra_car TEGRA210_CLK_SOR_SAFE>; |
|---|
| 253 | | - clock-names = "sor", "parent", "dp", "safe"; |
|---|
| 298 | + clock-names = "sor", "out", "parent", "dp", "safe"; |
|---|
| 254 | 299 | resets = <&tegra_car 182>; |
|---|
| 255 | 300 | reset-names = "sor"; |
|---|
| 256 | 301 | pinctrl-0 = <&state_dpaux_aux>; |
|---|
| .. | .. |
|---|
| 261 | 306 | status = "disabled"; |
|---|
| 262 | 307 | }; |
|---|
| 263 | 308 | |
|---|
| 264 | | - sor@54580000 { |
|---|
| 309 | + sor1: sor@54580000 { |
|---|
| 265 | 310 | compatible = "nvidia,tegra210-sor1"; |
|---|
| 266 | 311 | reg = <0x0 0x54580000 0x0 0x00040000>; |
|---|
| 267 | 312 | interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; |
|---|
| .. | .. |
|---|
| 282 | 327 | }; |
|---|
| 283 | 328 | |
|---|
| 284 | 329 | dpaux: dpaux@545c0000 { |
|---|
| 285 | | - compatible = "nvidia,tegra124-dpaux"; |
|---|
| 330 | + compatible = "nvidia,tegra210-dpaux"; |
|---|
| 286 | 331 | reg = <0x0 0x545c0000 0x0 0x00040000>; |
|---|
| 287 | 332 | interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>; |
|---|
| 288 | 333 | clocks = <&tegra_car TEGRA210_CLK_DPAUX>, |
|---|
| .. | .. |
|---|
| 318 | 363 | compatible = "nvidia,tegra210-isp"; |
|---|
| 319 | 364 | reg = <0x0 0x54600000 0x0 0x00040000>; |
|---|
| 320 | 365 | interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; |
|---|
| 366 | + clocks = <&tegra_car TEGRA210_CLK_ISPA>; |
|---|
| 367 | + resets = <&tegra_car 23>; |
|---|
| 368 | + reset-names = "isp"; |
|---|
| 321 | 369 | status = "disabled"; |
|---|
| 322 | 370 | }; |
|---|
| 323 | 371 | |
|---|
| .. | .. |
|---|
| 325 | 373 | compatible = "nvidia,tegra210-isp"; |
|---|
| 326 | 374 | reg = <0x0 0x54680000 0x0 0x00040000>; |
|---|
| 327 | 375 | interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; |
|---|
| 376 | + clocks = <&tegra_car TEGRA210_CLK_ISPB>; |
|---|
| 377 | + resets = <&tegra_car 3>; |
|---|
| 378 | + reset-names = "isp"; |
|---|
| 328 | 379 | status = "disabled"; |
|---|
| 329 | 380 | }; |
|---|
| 330 | 381 | |
|---|
| .. | .. |
|---|
| 332 | 383 | compatible = "nvidia,tegra210-i2c-vi"; |
|---|
| 333 | 384 | reg = <0x0 0x546c0000 0x0 0x00040000>; |
|---|
| 334 | 385 | interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; |
|---|
| 386 | + clocks = <&tegra_car TEGRA210_CLK_VI_I2C>, |
|---|
| 387 | + <&tegra_car TEGRA210_CLK_I2CSLOW>; |
|---|
| 388 | + clock-names = "div-clk", "slow"; |
|---|
| 389 | + resets = <&tegra_car 208>; |
|---|
| 390 | + reset-names = "i2c"; |
|---|
| 391 | + power-domains = <&pd_venc>; |
|---|
| 335 | 392 | status = "disabled"; |
|---|
| 393 | + |
|---|
| 394 | + #address-cells = <1>; |
|---|
| 395 | + #size-cells = <0>; |
|---|
| 336 | 396 | }; |
|---|
| 337 | 397 | }; |
|---|
| 338 | 398 | |
|---|
| .. | .. |
|---|
| 382 | 442 | }; |
|---|
| 383 | 443 | |
|---|
| 384 | 444 | timer@60005000 { |
|---|
| 385 | | - compatible = "nvidia,tegra210-timer", "nvidia,tegra20-timer"; |
|---|
| 445 | + compatible = "nvidia,tegra210-timer"; |
|---|
| 386 | 446 | reg = <0x0 0x60005000 0x0 0x400>; |
|---|
| 387 | | - interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, |
|---|
| 447 | + interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>, |
|---|
| 448 | + <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, |
|---|
| 388 | 449 | <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>, |
|---|
| 389 | 450 | <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>, |
|---|
| 390 | 451 | <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>, |
|---|
| 391 | 452 | <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>, |
|---|
| 392 | | - <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>; |
|---|
| 453 | + <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>, |
|---|
| 454 | + <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>, |
|---|
| 455 | + <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>, |
|---|
| 456 | + <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>, |
|---|
| 457 | + <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>, |
|---|
| 458 | + <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>, |
|---|
| 459 | + <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>, |
|---|
| 460 | + <GIC_SPI 179 IRQ_TYPE_LEVEL_HIGH>; |
|---|
| 393 | 461 | clocks = <&tegra_car TEGRA210_CLK_TIMER>; |
|---|
| 394 | 462 | clock-names = "timer"; |
|---|
| 395 | 463 | }; |
|---|
| .. | .. |
|---|
| 468 | 536 | apbmisc@70000800 { |
|---|
| 469 | 537 | compatible = "nvidia,tegra210-apbmisc", "nvidia,tegra20-apbmisc"; |
|---|
| 470 | 538 | reg = <0x0 0x70000800 0x0 0x64>, /* Chip revision */ |
|---|
| 471 | | - <0x0 0x7000e864 0x0 0x04>; /* Strapping options */ |
|---|
| 539 | + <0x0 0x70000008 0x0 0x04>; /* Strapping options */ |
|---|
| 472 | 540 | }; |
|---|
| 473 | 541 | |
|---|
| 474 | 542 | pinmux: pinmux@700008d4 { |
|---|
| 475 | 543 | compatible = "nvidia,tegra210-pinmux"; |
|---|
| 476 | 544 | reg = <0x0 0x700008d4 0x0 0x29c>, /* Pad control registers */ |
|---|
| 477 | 545 | <0x0 0x70003000 0x0 0x294>; /* Mux registers */ |
|---|
| 546 | + sdmmc1_3v3_drv: sdmmc1-3v3-drv { |
|---|
| 547 | + sdmmc1 { |
|---|
| 548 | + nvidia,pins = "drive_sdmmc1"; |
|---|
| 549 | + nvidia,pull-down-strength = <0x8>; |
|---|
| 550 | + nvidia,pull-up-strength = <0x8>; |
|---|
| 551 | + }; |
|---|
| 552 | + }; |
|---|
| 553 | + sdmmc1_1v8_drv: sdmmc1-1v8-drv { |
|---|
| 554 | + sdmmc1 { |
|---|
| 555 | + nvidia,pins = "drive_sdmmc1"; |
|---|
| 556 | + nvidia,pull-down-strength = <0x4>; |
|---|
| 557 | + nvidia,pull-up-strength = <0x3>; |
|---|
| 558 | + }; |
|---|
| 559 | + }; |
|---|
| 560 | + sdmmc2_1v8_drv: sdmmc2-1v8-drv { |
|---|
| 561 | + sdmmc2 { |
|---|
| 562 | + nvidia,pins = "drive_sdmmc2"; |
|---|
| 563 | + nvidia,pull-down-strength = <0x10>; |
|---|
| 564 | + nvidia,pull-up-strength = <0x10>; |
|---|
| 565 | + }; |
|---|
| 566 | + }; |
|---|
| 567 | + sdmmc3_3v3_drv: sdmmc3-3v3-drv { |
|---|
| 568 | + sdmmc3 { |
|---|
| 569 | + nvidia,pins = "drive_sdmmc3"; |
|---|
| 570 | + nvidia,pull-down-strength = <0x8>; |
|---|
| 571 | + nvidia,pull-up-strength = <0x8>; |
|---|
| 572 | + }; |
|---|
| 573 | + }; |
|---|
| 574 | + sdmmc3_1v8_drv: sdmmc3-1v8-drv { |
|---|
| 575 | + sdmmc3 { |
|---|
| 576 | + nvidia,pins = "drive_sdmmc3"; |
|---|
| 577 | + nvidia,pull-down-strength = <0x4>; |
|---|
| 578 | + nvidia,pull-up-strength = <0x3>; |
|---|
| 579 | + }; |
|---|
| 580 | + }; |
|---|
| 581 | + sdmmc4_1v8_drv: sdmmc4-1v8-drv { |
|---|
| 582 | + sdmmc4 { |
|---|
| 583 | + nvidia,pins = "drive_sdmmc4"; |
|---|
| 584 | + nvidia,pull-down-strength = <0x10>; |
|---|
| 585 | + nvidia,pull-up-strength = <0x10>; |
|---|
| 586 | + }; |
|---|
| 587 | + }; |
|---|
| 478 | 588 | }; |
|---|
| 479 | 589 | |
|---|
| 480 | 590 | /* |
|---|
| .. | .. |
|---|
| 553 | 663 | }; |
|---|
| 554 | 664 | |
|---|
| 555 | 665 | i2c@7000c000 { |
|---|
| 556 | | - compatible = "nvidia,tegra210-i2c", "nvidia,tegra114-i2c"; |
|---|
| 666 | + compatible = "nvidia,tegra210-i2c", "nvidia,tegra124-i2c"; |
|---|
| 557 | 667 | reg = <0x0 0x7000c000 0x0 0x100>; |
|---|
| 558 | 668 | interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; |
|---|
| 559 | 669 | #address-cells = <1>; |
|---|
| .. | .. |
|---|
| 568 | 678 | }; |
|---|
| 569 | 679 | |
|---|
| 570 | 680 | i2c@7000c400 { |
|---|
| 571 | | - compatible = "nvidia,tegra210-i2c", "nvidia,tegra114-i2c"; |
|---|
| 681 | + compatible = "nvidia,tegra210-i2c", "nvidia,tegra124-i2c"; |
|---|
| 572 | 682 | reg = <0x0 0x7000c400 0x0 0x100>; |
|---|
| 573 | 683 | interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; |
|---|
| 574 | 684 | #address-cells = <1>; |
|---|
| .. | .. |
|---|
| 583 | 693 | }; |
|---|
| 584 | 694 | |
|---|
| 585 | 695 | i2c@7000c500 { |
|---|
| 586 | | - compatible = "nvidia,tegra210-i2c", "nvidia,tegra114-i2c"; |
|---|
| 696 | + compatible = "nvidia,tegra210-i2c", "nvidia,tegra124-i2c"; |
|---|
| 587 | 697 | reg = <0x0 0x7000c500 0x0 0x100>; |
|---|
| 588 | 698 | interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>; |
|---|
| 589 | 699 | #address-cells = <1>; |
|---|
| .. | .. |
|---|
| 598 | 708 | }; |
|---|
| 599 | 709 | |
|---|
| 600 | 710 | i2c@7000c700 { |
|---|
| 601 | | - compatible = "nvidia,tegra210-i2c", "nvidia,tegra114-i2c"; |
|---|
| 711 | + compatible = "nvidia,tegra210-i2c", "nvidia,tegra124-i2c"; |
|---|
| 602 | 712 | reg = <0x0 0x7000c700 0x0 0x100>; |
|---|
| 603 | 713 | interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>; |
|---|
| 604 | 714 | #address-cells = <1>; |
|---|
| .. | .. |
|---|
| 616 | 726 | }; |
|---|
| 617 | 727 | |
|---|
| 618 | 728 | i2c@7000d000 { |
|---|
| 619 | | - compatible = "nvidia,tegra210-i2c", "nvidia,tegra114-i2c"; |
|---|
| 729 | + compatible = "nvidia,tegra210-i2c", "nvidia,tegra124-i2c"; |
|---|
| 620 | 730 | reg = <0x0 0x7000d000 0x0 0x100>; |
|---|
| 621 | 731 | interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; |
|---|
| 622 | 732 | #address-cells = <1>; |
|---|
| .. | .. |
|---|
| 631 | 741 | }; |
|---|
| 632 | 742 | |
|---|
| 633 | 743 | i2c@7000d100 { |
|---|
| 634 | | - compatible = "nvidia,tegra210-i2c", "nvidia,tegra114-i2c"; |
|---|
| 744 | + compatible = "nvidia,tegra210-i2c", "nvidia,tegra124-i2c"; |
|---|
| 635 | 745 | reg = <0x0 0x7000d100 0x0 0x100>; |
|---|
| 636 | 746 | interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>; |
|---|
| 637 | 747 | #address-cells = <1>; |
|---|
| .. | .. |
|---|
| 711 | 821 | rtc@7000e000 { |
|---|
| 712 | 822 | compatible = "nvidia,tegra210-rtc", "nvidia,tegra20-rtc"; |
|---|
| 713 | 823 | reg = <0x0 0x7000e000 0x0 0x100>; |
|---|
| 714 | | - interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; |
|---|
| 824 | + interrupts = <16 IRQ_TYPE_LEVEL_HIGH>; |
|---|
| 825 | + interrupt-parent = <&tegra_pmc>; |
|---|
| 715 | 826 | clocks = <&tegra_car TEGRA210_CLK_RTC>; |
|---|
| 716 | 827 | clock-names = "rtc"; |
|---|
| 717 | 828 | }; |
|---|
| 718 | 829 | |
|---|
| 719 | | - pmc: pmc@7000e400 { |
|---|
| 830 | + tegra_pmc: pmc@7000e400 { |
|---|
| 720 | 831 | compatible = "nvidia,tegra210-pmc"; |
|---|
| 721 | 832 | reg = <0x0 0x7000e400 0x0 0x400>; |
|---|
| 722 | 833 | clocks = <&tegra_car TEGRA210_CLK_PCLK>, <&clk32k_in>; |
|---|
| 723 | 834 | clock-names = "pclk", "clk32k_in"; |
|---|
| 835 | + #clock-cells = <1>; |
|---|
| 836 | + #interrupt-cells = <2>; |
|---|
| 837 | + interrupt-controller; |
|---|
| 724 | 838 | |
|---|
| 725 | 839 | powergates { |
|---|
| 726 | 840 | pd_audio: aud { |
|---|
| .. | .. |
|---|
| 733 | 847 | pd_sor: sor { |
|---|
| 734 | 848 | clocks = <&tegra_car TEGRA210_CLK_SOR0>, |
|---|
| 735 | 849 | <&tegra_car TEGRA210_CLK_SOR1>, |
|---|
| 736 | | - <&tegra_car TEGRA210_CLK_CSI>, |
|---|
| 850 | + <&tegra_car TEGRA210_CLK_CILAB>, |
|---|
| 851 | + <&tegra_car TEGRA210_CLK_CILCD>, |
|---|
| 852 | + <&tegra_car TEGRA210_CLK_CILE>, |
|---|
| 737 | 853 | <&tegra_car TEGRA210_CLK_DSIA>, |
|---|
| 738 | 854 | <&tegra_car TEGRA210_CLK_DSIB>, |
|---|
| 739 | 855 | <&tegra_car TEGRA210_CLK_DPAUX>, |
|---|
| .. | .. |
|---|
| 741 | 857 | <&tegra_car TEGRA210_CLK_MIPI_CAL>; |
|---|
| 742 | 858 | resets = <&tegra_car TEGRA210_CLK_SOR0>, |
|---|
| 743 | 859 | <&tegra_car TEGRA210_CLK_SOR1>, |
|---|
| 744 | | - <&tegra_car TEGRA210_CLK_CSI>, |
|---|
| 745 | 860 | <&tegra_car TEGRA210_CLK_DSIA>, |
|---|
| 746 | 861 | <&tegra_car TEGRA210_CLK_DSIB>, |
|---|
| 747 | 862 | <&tegra_car TEGRA210_CLK_DPAUX>, |
|---|
| .. | .. |
|---|
| 775 | 890 | reset-names = "vic"; |
|---|
| 776 | 891 | #power-domain-cells = <0>; |
|---|
| 777 | 892 | }; |
|---|
| 893 | + |
|---|
| 894 | + pd_venc: venc { |
|---|
| 895 | + clocks = <&tegra_car TEGRA210_CLK_VI>, |
|---|
| 896 | + <&tegra_car TEGRA210_CLK_CSI>; |
|---|
| 897 | + resets = <&mc TEGRA210_MC_RESET_VI>, |
|---|
| 898 | + <&tegra_car 20>, |
|---|
| 899 | + <&tegra_car 52>; |
|---|
| 900 | + #power-domain-cells = <0>; |
|---|
| 901 | + }; |
|---|
| 902 | + }; |
|---|
| 903 | + |
|---|
| 904 | + sdmmc1_3v3: sdmmc1-3v3 { |
|---|
| 905 | + pins = "sdmmc1"; |
|---|
| 906 | + power-source = <TEGRA_IO_PAD_VOLTAGE_3V3>; |
|---|
| 907 | + }; |
|---|
| 908 | + |
|---|
| 909 | + sdmmc1_1v8: sdmmc1-1v8 { |
|---|
| 910 | + pins = "sdmmc1"; |
|---|
| 911 | + power-source = <TEGRA_IO_PAD_VOLTAGE_1V8>; |
|---|
| 912 | + }; |
|---|
| 913 | + |
|---|
| 914 | + sdmmc3_3v3: sdmmc3-3v3 { |
|---|
| 915 | + pins = "sdmmc3"; |
|---|
| 916 | + power-source = <TEGRA_IO_PAD_VOLTAGE_3V3>; |
|---|
| 917 | + }; |
|---|
| 918 | + |
|---|
| 919 | + sdmmc3_1v8: sdmmc3-1v8 { |
|---|
| 920 | + pins = "sdmmc3"; |
|---|
| 921 | + power-source = <TEGRA_IO_PAD_VOLTAGE_1V8>; |
|---|
| 922 | + }; |
|---|
| 923 | + |
|---|
| 924 | + pex_dpd_disable: pex_en { |
|---|
| 925 | + pex-dpd-disable { |
|---|
| 926 | + pins = "pex-bias", "pex-clk1", "pex-clk2"; |
|---|
| 927 | + low-power-disable; |
|---|
| 928 | + }; |
|---|
| 929 | + }; |
|---|
| 930 | + |
|---|
| 931 | + pex_dpd_enable: pex_dis { |
|---|
| 932 | + pex-dpd-enable { |
|---|
| 933 | + pins = "pex-bias", "pex-clk1", "pex-clk2"; |
|---|
| 934 | + low-power-enable; |
|---|
| 935 | + }; |
|---|
| 778 | 936 | }; |
|---|
| 779 | 937 | }; |
|---|
| 780 | 938 | |
|---|
| .. | .. |
|---|
| 796 | 954 | interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; |
|---|
| 797 | 955 | |
|---|
| 798 | 956 | #iommu-cells = <1>; |
|---|
| 957 | + #reset-cells = <1>; |
|---|
| 958 | + }; |
|---|
| 959 | + |
|---|
| 960 | + emc: external-memory-controller@7001b000 { |
|---|
| 961 | + compatible = "nvidia,tegra210-emc"; |
|---|
| 962 | + reg = <0x0 0x7001b000 0x0 0x1000>, |
|---|
| 963 | + <0x0 0x7001e000 0x0 0x1000>, |
|---|
| 964 | + <0x0 0x7001f000 0x0 0x1000>; |
|---|
| 965 | + clocks = <&tegra_car TEGRA210_CLK_EMC>; |
|---|
| 966 | + clock-names = "emc"; |
|---|
| 967 | + interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>; |
|---|
| 968 | + nvidia,memory-controller = <&mc>; |
|---|
| 969 | + #cooling-cells = <2>; |
|---|
| 799 | 970 | }; |
|---|
| 800 | 971 | |
|---|
| 801 | 972 | sata@70020000 { |
|---|
| .. | .. |
|---|
| 844 | 1015 | <&tegra_car TEGRA210_CLK_XUSB_HOST_SRC>, |
|---|
| 845 | 1016 | <&tegra_car TEGRA210_CLK_XUSB_FALCON_SRC>, |
|---|
| 846 | 1017 | <&tegra_car TEGRA210_CLK_XUSB_SS>, |
|---|
| 847 | | - <&tegra_car TEGRA210_CLK_XUSB_SS_DIV2>, |
|---|
| 848 | 1018 | <&tegra_car TEGRA210_CLK_XUSB_SS_SRC>, |
|---|
| 1019 | + <&tegra_car TEGRA210_CLK_XUSB_SS_DIV2>, |
|---|
| 849 | 1020 | <&tegra_car TEGRA210_CLK_XUSB_HS_SRC>, |
|---|
| 850 | 1021 | <&tegra_car TEGRA210_CLK_XUSB_FS_SRC>, |
|---|
| 851 | 1022 | <&tegra_car TEGRA210_CLK_PLL_U_480M>, |
|---|
| .. | .. |
|---|
| 853 | 1024 | <&tegra_car TEGRA210_CLK_PLL_E>; |
|---|
| 854 | 1025 | clock-names = "xusb_host", "xusb_host_src", |
|---|
| 855 | 1026 | "xusb_falcon_src", "xusb_ss", |
|---|
| 856 | | - "xusb_ss_div2", "xusb_ss_src", |
|---|
| 1027 | + "xusb_ss_src", "xusb_ss_div2", |
|---|
| 857 | 1028 | "xusb_hs_src", "xusb_fs_src", |
|---|
| 858 | 1029 | "pll_u_480m", "clk_m", "pll_e"; |
|---|
| 859 | 1030 | resets = <&tegra_car 89>, <&tegra_car 156>, |
|---|
| 860 | 1031 | <&tegra_car 143>; |
|---|
| 861 | 1032 | reset-names = "xusb_host", "xusb_ss", "xusb_src"; |
|---|
| 1033 | + power-domains = <&pd_xusbhost>, <&pd_xusbss>; |
|---|
| 1034 | + power-domain-names = "xusb_host", "xusb_ss"; |
|---|
| 862 | 1035 | |
|---|
| 863 | 1036 | nvidia,xusb-padctl = <&padctl>; |
|---|
| 864 | 1037 | |
|---|
| .. | .. |
|---|
| 1020 | 1193 | }; |
|---|
| 1021 | 1194 | }; |
|---|
| 1022 | 1195 | |
|---|
| 1023 | | - sdhci@700b0000 { |
|---|
| 1024 | | - compatible = "nvidia,tegra210-sdhci", "nvidia,tegra124-sdhci"; |
|---|
| 1196 | + mmc@700b0000 { |
|---|
| 1197 | + compatible = "nvidia,tegra210-sdhci"; |
|---|
| 1025 | 1198 | reg = <0x0 0x700b0000 0x0 0x200>; |
|---|
| 1026 | 1199 | interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; |
|---|
| 1027 | | - clocks = <&tegra_car TEGRA210_CLK_SDMMC1>; |
|---|
| 1028 | | - clock-names = "sdhci"; |
|---|
| 1200 | + clocks = <&tegra_car TEGRA210_CLK_SDMMC1>, |
|---|
| 1201 | + <&tegra_car TEGRA210_CLK_SDMMC_LEGACY>; |
|---|
| 1202 | + clock-names = "sdhci", "tmclk"; |
|---|
| 1029 | 1203 | resets = <&tegra_car 14>; |
|---|
| 1030 | 1204 | reset-names = "sdhci"; |
|---|
| 1205 | + pinctrl-names = "sdmmc-3v3", "sdmmc-1v8", |
|---|
| 1206 | + "sdmmc-3v3-drv", "sdmmc-1v8-drv"; |
|---|
| 1207 | + pinctrl-0 = <&sdmmc1_3v3>; |
|---|
| 1208 | + pinctrl-1 = <&sdmmc1_1v8>; |
|---|
| 1209 | + pinctrl-2 = <&sdmmc1_3v3_drv>; |
|---|
| 1210 | + pinctrl-3 = <&sdmmc1_1v8_drv>; |
|---|
| 1211 | + nvidia,pad-autocal-pull-up-offset-3v3 = <0x00>; |
|---|
| 1212 | + nvidia,pad-autocal-pull-down-offset-3v3 = <0x7d>; |
|---|
| 1213 | + nvidia,pad-autocal-pull-up-offset-1v8 = <0x7b>; |
|---|
| 1214 | + nvidia,pad-autocal-pull-down-offset-1v8 = <0x7b>; |
|---|
| 1215 | + nvidia,default-tap = <0x2>; |
|---|
| 1216 | + nvidia,default-trim = <0x4>; |
|---|
| 1217 | + assigned-clocks = <&tegra_car TEGRA210_CLK_SDMMC4>, |
|---|
| 1218 | + <&tegra_car TEGRA210_CLK_PLL_C4_OUT0>, |
|---|
| 1219 | + <&tegra_car TEGRA210_CLK_PLL_C4>; |
|---|
| 1220 | + assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_C4_OUT0>; |
|---|
| 1221 | + assigned-clock-rates = <200000000>, <1000000000>, <1000000000>; |
|---|
| 1031 | 1222 | status = "disabled"; |
|---|
| 1032 | 1223 | }; |
|---|
| 1033 | 1224 | |
|---|
| 1034 | | - sdhci@700b0200 { |
|---|
| 1035 | | - compatible = "nvidia,tegra210-sdhci", "nvidia,tegra124-sdhci"; |
|---|
| 1225 | + mmc@700b0200 { |
|---|
| 1226 | + compatible = "nvidia,tegra210-sdhci"; |
|---|
| 1036 | 1227 | reg = <0x0 0x700b0200 0x0 0x200>; |
|---|
| 1037 | 1228 | interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; |
|---|
| 1038 | | - clocks = <&tegra_car TEGRA210_CLK_SDMMC2>; |
|---|
| 1039 | | - clock-names = "sdhci"; |
|---|
| 1229 | + clocks = <&tegra_car TEGRA210_CLK_SDMMC2>, |
|---|
| 1230 | + <&tegra_car TEGRA210_CLK_SDMMC_LEGACY>; |
|---|
| 1231 | + clock-names = "sdhci", "tmclk"; |
|---|
| 1040 | 1232 | resets = <&tegra_car 9>; |
|---|
| 1041 | 1233 | reset-names = "sdhci"; |
|---|
| 1234 | + pinctrl-names = "sdmmc-1v8-drv"; |
|---|
| 1235 | + pinctrl-0 = <&sdmmc2_1v8_drv>; |
|---|
| 1236 | + nvidia,pad-autocal-pull-up-offset-1v8 = <0x05>; |
|---|
| 1237 | + nvidia,pad-autocal-pull-down-offset-1v8 = <0x05>; |
|---|
| 1238 | + nvidia,default-tap = <0x8>; |
|---|
| 1239 | + nvidia,default-trim = <0x0>; |
|---|
| 1042 | 1240 | status = "disabled"; |
|---|
| 1043 | 1241 | }; |
|---|
| 1044 | 1242 | |
|---|
| 1045 | | - sdhci@700b0400 { |
|---|
| 1046 | | - compatible = "nvidia,tegra210-sdhci", "nvidia,tegra124-sdhci"; |
|---|
| 1243 | + mmc@700b0400 { |
|---|
| 1244 | + compatible = "nvidia,tegra210-sdhci"; |
|---|
| 1047 | 1245 | reg = <0x0 0x700b0400 0x0 0x200>; |
|---|
| 1048 | 1246 | interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; |
|---|
| 1049 | | - clocks = <&tegra_car TEGRA210_CLK_SDMMC3>; |
|---|
| 1050 | | - clock-names = "sdhci"; |
|---|
| 1247 | + clocks = <&tegra_car TEGRA210_CLK_SDMMC3>, |
|---|
| 1248 | + <&tegra_car TEGRA210_CLK_SDMMC_LEGACY>; |
|---|
| 1249 | + clock-names = "sdhci", "tmclk"; |
|---|
| 1051 | 1250 | resets = <&tegra_car 69>; |
|---|
| 1052 | 1251 | reset-names = "sdhci"; |
|---|
| 1252 | + pinctrl-names = "sdmmc-3v3", "sdmmc-1v8", |
|---|
| 1253 | + "sdmmc-3v3-drv", "sdmmc-1v8-drv"; |
|---|
| 1254 | + pinctrl-0 = <&sdmmc3_3v3>; |
|---|
| 1255 | + pinctrl-1 = <&sdmmc3_1v8>; |
|---|
| 1256 | + pinctrl-2 = <&sdmmc3_3v3_drv>; |
|---|
| 1257 | + pinctrl-3 = <&sdmmc3_1v8_drv>; |
|---|
| 1258 | + nvidia,pad-autocal-pull-up-offset-3v3 = <0x00>; |
|---|
| 1259 | + nvidia,pad-autocal-pull-down-offset-3v3 = <0x7d>; |
|---|
| 1260 | + nvidia,pad-autocal-pull-up-offset-1v8 = <0x7b>; |
|---|
| 1261 | + nvidia,pad-autocal-pull-down-offset-1v8 = <0x7b>; |
|---|
| 1262 | + nvidia,default-tap = <0x3>; |
|---|
| 1263 | + nvidia,default-trim = <0x3>; |
|---|
| 1053 | 1264 | status = "disabled"; |
|---|
| 1054 | 1265 | }; |
|---|
| 1055 | 1266 | |
|---|
| 1056 | | - sdhci@700b0600 { |
|---|
| 1057 | | - compatible = "nvidia,tegra210-sdhci", "nvidia,tegra124-sdhci"; |
|---|
| 1267 | + mmc@700b0600 { |
|---|
| 1268 | + compatible = "nvidia,tegra210-sdhci"; |
|---|
| 1058 | 1269 | reg = <0x0 0x700b0600 0x0 0x200>; |
|---|
| 1059 | 1270 | interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; |
|---|
| 1060 | | - clocks = <&tegra_car TEGRA210_CLK_SDMMC4>; |
|---|
| 1061 | | - clock-names = "sdhci"; |
|---|
| 1271 | + clocks = <&tegra_car TEGRA210_CLK_SDMMC4>, |
|---|
| 1272 | + <&tegra_car TEGRA210_CLK_SDMMC_LEGACY>; |
|---|
| 1273 | + clock-names = "sdhci", "tmclk"; |
|---|
| 1062 | 1274 | resets = <&tegra_car 15>; |
|---|
| 1063 | 1275 | reset-names = "sdhci"; |
|---|
| 1276 | + pinctrl-names = "sdmmc-3v3-drv", "sdmmc-1v8-drv"; |
|---|
| 1277 | + pinctrl-0 = <&sdmmc4_1v8_drv>; |
|---|
| 1278 | + pinctrl-1 = <&sdmmc4_1v8_drv>; |
|---|
| 1279 | + nvidia,pad-autocal-pull-up-offset-1v8 = <0x05>; |
|---|
| 1280 | + nvidia,pad-autocal-pull-down-offset-1v8 = <0x05>; |
|---|
| 1281 | + nvidia,default-tap = <0x8>; |
|---|
| 1282 | + nvidia,default-trim = <0x0>; |
|---|
| 1283 | + assigned-clocks = <&tegra_car TEGRA210_CLK_SDMMC4>, |
|---|
| 1284 | + <&tegra_car TEGRA210_CLK_PLL_C4_OUT0>; |
|---|
| 1285 | + assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_C4_OUT0>; |
|---|
| 1286 | + nvidia,dqs-trim = <40>; |
|---|
| 1287 | + mmc-hs400-1_8v; |
|---|
| 1288 | + status = "disabled"; |
|---|
| 1289 | + }; |
|---|
| 1290 | + |
|---|
| 1291 | + usb@700d0000 { |
|---|
| 1292 | + compatible = "nvidia,tegra210-xudc"; |
|---|
| 1293 | + reg = <0x0 0x700d0000 0x0 0x8000>, |
|---|
| 1294 | + <0x0 0x700d8000 0x0 0x1000>, |
|---|
| 1295 | + <0x0 0x700d9000 0x0 0x1000>; |
|---|
| 1296 | + reg-names = "base", "fpci", "ipfs"; |
|---|
| 1297 | + interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; |
|---|
| 1298 | + clocks = <&tegra_car TEGRA210_CLK_XUSB_DEV>, |
|---|
| 1299 | + <&tegra_car TEGRA210_CLK_XUSB_SS>, |
|---|
| 1300 | + <&tegra_car TEGRA210_CLK_XUSB_SSP_SRC>, |
|---|
| 1301 | + <&tegra_car TEGRA210_CLK_XUSB_FS_SRC>, |
|---|
| 1302 | + <&tegra_car TEGRA210_CLK_XUSB_HS_SRC>; |
|---|
| 1303 | + clock-names = "dev", "ss", "ss_src", "fs_src", "hs_src"; |
|---|
| 1304 | + power-domains = <&pd_xusbdev>, <&pd_xusbss>; |
|---|
| 1305 | + power-domain-names = "dev", "ss"; |
|---|
| 1306 | + nvidia,xusb-padctl = <&padctl>; |
|---|
| 1064 | 1307 | status = "disabled"; |
|---|
| 1065 | 1308 | }; |
|---|
| 1066 | 1309 | |
|---|
| .. | .. |
|---|
| 1071 | 1314 | clock-names = "mipi-cal"; |
|---|
| 1072 | 1315 | power-domains = <&pd_sor>; |
|---|
| 1073 | 1316 | #nvidia,mipi-calibrate-cells = <1>; |
|---|
| 1317 | + }; |
|---|
| 1318 | + |
|---|
| 1319 | + dfll: clock@70110000 { |
|---|
| 1320 | + compatible = "nvidia,tegra210-dfll"; |
|---|
| 1321 | + reg = <0 0x70110000 0 0x100>, /* DFLL control */ |
|---|
| 1322 | + <0 0x70110000 0 0x100>, /* I2C output control */ |
|---|
| 1323 | + <0 0x70110100 0 0x100>, /* Integrated I2C controller */ |
|---|
| 1324 | + <0 0x70110200 0 0x100>; /* Look-up table RAM */ |
|---|
| 1325 | + interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; |
|---|
| 1326 | + clocks = <&tegra_car TEGRA210_CLK_DFLL_SOC>, |
|---|
| 1327 | + <&tegra_car TEGRA210_CLK_DFLL_REF>, |
|---|
| 1328 | + <&tegra_car TEGRA210_CLK_I2C5>; |
|---|
| 1329 | + clock-names = "soc", "ref", "i2c"; |
|---|
| 1330 | + resets = <&tegra_car TEGRA210_RST_DFLL_DVCO>; |
|---|
| 1331 | + reset-names = "dvco"; |
|---|
| 1332 | + #clock-cells = <0>; |
|---|
| 1333 | + clock-output-names = "dfllCPU_out"; |
|---|
| 1334 | + status = "disabled"; |
|---|
| 1074 | 1335 | }; |
|---|
| 1075 | 1336 | |
|---|
| 1076 | 1337 | aconnect@702c0000 { |
|---|
| .. | .. |
|---|
| 1116 | 1377 | status = "disabled"; |
|---|
| 1117 | 1378 | }; |
|---|
| 1118 | 1379 | |
|---|
| 1119 | | - agic: agic@702f9000 { |
|---|
| 1380 | + agic: interrupt-controller@702f9000 { |
|---|
| 1120 | 1381 | compatible = "nvidia,tegra210-agic"; |
|---|
| 1121 | 1382 | #interrupt-cells = <3>; |
|---|
| 1122 | 1383 | interrupt-controller; |
|---|
| .. | .. |
|---|
| 1126 | 1387 | clocks = <&tegra_car TEGRA210_CLK_APE>; |
|---|
| 1127 | 1388 | clock-names = "clk"; |
|---|
| 1128 | 1389 | status = "disabled"; |
|---|
| 1390 | + }; |
|---|
| 1391 | + |
|---|
| 1392 | + tegra_ahub: ahub@702d0800 { |
|---|
| 1393 | + compatible = "nvidia,tegra210-ahub"; |
|---|
| 1394 | + reg = <0x702d0800 0x800>; |
|---|
| 1395 | + clocks = <&tegra_car TEGRA210_CLK_D_AUDIO>; |
|---|
| 1396 | + clock-names = "ahub"; |
|---|
| 1397 | + assigned-clocks = <&tegra_car TEGRA210_CLK_D_AUDIO>; |
|---|
| 1398 | + assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>; |
|---|
| 1399 | + #address-cells = <1>; |
|---|
| 1400 | + #size-cells = <1>; |
|---|
| 1401 | + ranges = <0x702d0000 0x702d0000 0x0000e400>; |
|---|
| 1402 | + status = "disabled"; |
|---|
| 1403 | + |
|---|
| 1404 | + tegra_admaif: admaif@702d0000 { |
|---|
| 1405 | + compatible = "nvidia,tegra210-admaif"; |
|---|
| 1406 | + reg = <0x702d0000 0x800>; |
|---|
| 1407 | + dmas = <&adma 1>, <&adma 1>, |
|---|
| 1408 | + <&adma 2>, <&adma 2>, |
|---|
| 1409 | + <&adma 3>, <&adma 3>, |
|---|
| 1410 | + <&adma 4>, <&adma 4>, |
|---|
| 1411 | + <&adma 5>, <&adma 5>, |
|---|
| 1412 | + <&adma 6>, <&adma 6>, |
|---|
| 1413 | + <&adma 7>, <&adma 7>, |
|---|
| 1414 | + <&adma 8>, <&adma 8>, |
|---|
| 1415 | + <&adma 9>, <&adma 9>, |
|---|
| 1416 | + <&adma 10>, <&adma 10>; |
|---|
| 1417 | + dma-names = "rx1", "tx1", |
|---|
| 1418 | + "rx2", "tx2", |
|---|
| 1419 | + "rx3", "tx3", |
|---|
| 1420 | + "rx4", "tx4", |
|---|
| 1421 | + "rx5", "tx5", |
|---|
| 1422 | + "rx6", "tx6", |
|---|
| 1423 | + "rx7", "tx7", |
|---|
| 1424 | + "rx8", "tx8", |
|---|
| 1425 | + "rx9", "tx9", |
|---|
| 1426 | + "rx10", "tx10"; |
|---|
| 1427 | + status = "disabled"; |
|---|
| 1428 | + }; |
|---|
| 1429 | + |
|---|
| 1430 | + tegra_i2s1: i2s@702d1000 { |
|---|
| 1431 | + compatible = "nvidia,tegra210-i2s"; |
|---|
| 1432 | + reg = <0x702d1000 0x100>; |
|---|
| 1433 | + clocks = <&tegra_car TEGRA210_CLK_I2S0>, |
|---|
| 1434 | + <&tegra_car TEGRA210_CLK_I2S0_SYNC>; |
|---|
| 1435 | + clock-names = "i2s", "sync_input"; |
|---|
| 1436 | + assigned-clocks = <&tegra_car TEGRA210_CLK_I2S0>; |
|---|
| 1437 | + assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>; |
|---|
| 1438 | + assigned-clock-rates = <1536000>; |
|---|
| 1439 | + sound-name-prefix = "I2S1"; |
|---|
| 1440 | + status = "disabled"; |
|---|
| 1441 | + }; |
|---|
| 1442 | + |
|---|
| 1443 | + tegra_i2s2: i2s@702d1100 { |
|---|
| 1444 | + compatible = "nvidia,tegra210-i2s"; |
|---|
| 1445 | + reg = <0x702d1100 0x100>; |
|---|
| 1446 | + clocks = <&tegra_car TEGRA210_CLK_I2S1>, |
|---|
| 1447 | + <&tegra_car TEGRA210_CLK_I2S1_SYNC>; |
|---|
| 1448 | + clock-names = "i2s", "sync_input"; |
|---|
| 1449 | + assigned-clocks = <&tegra_car TEGRA210_CLK_I2S1>; |
|---|
| 1450 | + assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>; |
|---|
| 1451 | + assigned-clock-rates = <1536000>; |
|---|
| 1452 | + sound-name-prefix = "I2S2"; |
|---|
| 1453 | + status = "disabled"; |
|---|
| 1454 | + }; |
|---|
| 1455 | + |
|---|
| 1456 | + tegra_i2s3: i2s@702d1200 { |
|---|
| 1457 | + compatible = "nvidia,tegra210-i2s"; |
|---|
| 1458 | + reg = <0x702d1200 0x100>; |
|---|
| 1459 | + clocks = <&tegra_car TEGRA210_CLK_I2S2>, |
|---|
| 1460 | + <&tegra_car TEGRA210_CLK_I2S2_SYNC>; |
|---|
| 1461 | + clock-names = "i2s", "sync_input"; |
|---|
| 1462 | + assigned-clocks = <&tegra_car TEGRA210_CLK_I2S2>; |
|---|
| 1463 | + assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>; |
|---|
| 1464 | + assigned-clock-rates = <1536000>; |
|---|
| 1465 | + sound-name-prefix = "I2S3"; |
|---|
| 1466 | + status = "disabled"; |
|---|
| 1467 | + }; |
|---|
| 1468 | + |
|---|
| 1469 | + tegra_i2s4: i2s@702d1300 { |
|---|
| 1470 | + compatible = "nvidia,tegra210-i2s"; |
|---|
| 1471 | + reg = <0x702d1300 0x100>; |
|---|
| 1472 | + clocks = <&tegra_car TEGRA210_CLK_I2S3>, |
|---|
| 1473 | + <&tegra_car TEGRA210_CLK_I2S3_SYNC>; |
|---|
| 1474 | + clock-names = "i2s", "sync_input"; |
|---|
| 1475 | + assigned-clocks = <&tegra_car TEGRA210_CLK_I2S3>; |
|---|
| 1476 | + assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>; |
|---|
| 1477 | + assigned-clock-rates = <1536000>; |
|---|
| 1478 | + sound-name-prefix = "I2S4"; |
|---|
| 1479 | + status = "disabled"; |
|---|
| 1480 | + }; |
|---|
| 1481 | + |
|---|
| 1482 | + tegra_i2s5: i2s@702d1400 { |
|---|
| 1483 | + compatible = "nvidia,tegra210-i2s"; |
|---|
| 1484 | + reg = <0x702d1400 0x100>; |
|---|
| 1485 | + clocks = <&tegra_car TEGRA210_CLK_I2S4>, |
|---|
| 1486 | + <&tegra_car TEGRA210_CLK_I2S4_SYNC>; |
|---|
| 1487 | + clock-names = "i2s", "sync_input"; |
|---|
| 1488 | + assigned-clocks = <&tegra_car TEGRA210_CLK_I2S4>; |
|---|
| 1489 | + assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>; |
|---|
| 1490 | + assigned-clock-rates = <1536000>; |
|---|
| 1491 | + sound-name-prefix = "I2S5"; |
|---|
| 1492 | + status = "disabled"; |
|---|
| 1493 | + }; |
|---|
| 1494 | + |
|---|
| 1495 | + tegra_dmic1: dmic@702d4000 { |
|---|
| 1496 | + compatible = "nvidia,tegra210-dmic"; |
|---|
| 1497 | + reg = <0x702d4000 0x100>; |
|---|
| 1498 | + clocks = <&tegra_car TEGRA210_CLK_DMIC1>; |
|---|
| 1499 | + clock-names = "dmic"; |
|---|
| 1500 | + assigned-clocks = <&tegra_car TEGRA210_CLK_DMIC1>; |
|---|
| 1501 | + assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>; |
|---|
| 1502 | + assigned-clock-rates = <3072000>; |
|---|
| 1503 | + sound-name-prefix = "DMIC1"; |
|---|
| 1504 | + status = "disabled"; |
|---|
| 1505 | + }; |
|---|
| 1506 | + |
|---|
| 1507 | + tegra_dmic2: dmic@702d4100 { |
|---|
| 1508 | + compatible = "nvidia,tegra210-dmic"; |
|---|
| 1509 | + reg = <0x702d4100 0x100>; |
|---|
| 1510 | + clocks = <&tegra_car TEGRA210_CLK_DMIC2>; |
|---|
| 1511 | + clock-names = "dmic"; |
|---|
| 1512 | + assigned-clocks = <&tegra_car TEGRA210_CLK_DMIC2>; |
|---|
| 1513 | + assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>; |
|---|
| 1514 | + assigned-clock-rates = <3072000>; |
|---|
| 1515 | + sound-name-prefix = "DMIC2"; |
|---|
| 1516 | + status = "disabled"; |
|---|
| 1517 | + }; |
|---|
| 1518 | + |
|---|
| 1519 | + tegra_dmic3: dmic@702d4200 { |
|---|
| 1520 | + compatible = "nvidia,tegra210-dmic"; |
|---|
| 1521 | + reg = <0x702d4200 0x100>; |
|---|
| 1522 | + clocks = <&tegra_car TEGRA210_CLK_DMIC3>; |
|---|
| 1523 | + clock-names = "dmic"; |
|---|
| 1524 | + assigned-clocks = <&tegra_car TEGRA210_CLK_DMIC3>; |
|---|
| 1525 | + assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>; |
|---|
| 1526 | + assigned-clock-rates = <3072000>; |
|---|
| 1527 | + sound-name-prefix = "DMIC3"; |
|---|
| 1528 | + status = "disabled"; |
|---|
| 1529 | + }; |
|---|
| 1129 | 1530 | }; |
|---|
| 1130 | 1531 | }; |
|---|
| 1131 | 1532 | |
|---|
| .. | .. |
|---|
| 1227 | 1628 | device_type = "cpu"; |
|---|
| 1228 | 1629 | compatible = "arm,cortex-a57"; |
|---|
| 1229 | 1630 | reg = <0>; |
|---|
| 1631 | + clocks = <&tegra_car TEGRA210_CLK_CCLK_G>, |
|---|
| 1632 | + <&tegra_car TEGRA210_CLK_PLL_X>, |
|---|
| 1633 | + <&tegra_car TEGRA210_CLK_PLL_P_OUT4>, |
|---|
| 1634 | + <&dfll>; |
|---|
| 1635 | + clock-names = "cpu_g", "pll_x", "pll_p", "dfll"; |
|---|
| 1636 | + clock-latency = <300000>; |
|---|
| 1637 | + cpu-idle-states = <&CPU_SLEEP>; |
|---|
| 1638 | + next-level-cache = <&L2>; |
|---|
| 1230 | 1639 | }; |
|---|
| 1231 | 1640 | |
|---|
| 1232 | 1641 | cpu@1 { |
|---|
| 1233 | 1642 | device_type = "cpu"; |
|---|
| 1234 | 1643 | compatible = "arm,cortex-a57"; |
|---|
| 1235 | 1644 | reg = <1>; |
|---|
| 1645 | + cpu-idle-states = <&CPU_SLEEP>; |
|---|
| 1646 | + next-level-cache = <&L2>; |
|---|
| 1236 | 1647 | }; |
|---|
| 1237 | 1648 | |
|---|
| 1238 | 1649 | cpu@2 { |
|---|
| 1239 | 1650 | device_type = "cpu"; |
|---|
| 1240 | 1651 | compatible = "arm,cortex-a57"; |
|---|
| 1241 | 1652 | reg = <2>; |
|---|
| 1653 | + cpu-idle-states = <&CPU_SLEEP>; |
|---|
| 1654 | + next-level-cache = <&L2>; |
|---|
| 1242 | 1655 | }; |
|---|
| 1243 | 1656 | |
|---|
| 1244 | 1657 | cpu@3 { |
|---|
| 1245 | 1658 | device_type = "cpu"; |
|---|
| 1246 | 1659 | compatible = "arm,cortex-a57"; |
|---|
| 1247 | 1660 | reg = <3>; |
|---|
| 1661 | + cpu-idle-states = <&CPU_SLEEP>; |
|---|
| 1662 | + next-level-cache = <&L2>; |
|---|
| 1248 | 1663 | }; |
|---|
| 1664 | + |
|---|
| 1665 | + idle-states { |
|---|
| 1666 | + entry-method = "psci"; |
|---|
| 1667 | + |
|---|
| 1668 | + CPU_SLEEP: cpu-sleep { |
|---|
| 1669 | + compatible = "arm,idle-state"; |
|---|
| 1670 | + arm,psci-suspend-param = <0x40000007>; |
|---|
| 1671 | + entry-latency-us = <100>; |
|---|
| 1672 | + exit-latency-us = <30>; |
|---|
| 1673 | + min-residency-us = <1000>; |
|---|
| 1674 | + wakeup-latency-us = <130>; |
|---|
| 1675 | + idle-state-name = "cpu-sleep"; |
|---|
| 1676 | + status = "disabled"; |
|---|
| 1677 | + }; |
|---|
| 1678 | + }; |
|---|
| 1679 | + |
|---|
| 1680 | + L2: l2-cache { |
|---|
| 1681 | + compatible = "cache"; |
|---|
| 1682 | + }; |
|---|
| 1683 | + }; |
|---|
| 1684 | + |
|---|
| 1685 | + pmu { |
|---|
| 1686 | + compatible = "arm,armv8-pmuv3"; |
|---|
| 1687 | + interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>, |
|---|
| 1688 | + <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>, |
|---|
| 1689 | + <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>, |
|---|
| 1690 | + <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>; |
|---|
| 1691 | + interrupt-affinity = <&{/cpus/cpu@0} &{/cpus/cpu@1} |
|---|
| 1692 | + &{/cpus/cpu@2} &{/cpus/cpu@3}>; |
|---|
| 1249 | 1693 | }; |
|---|
| 1250 | 1694 | |
|---|
| 1251 | 1695 | timer { |
|---|
| .. | .. |
|---|
| 1259 | 1703 | <GIC_PPI 10 |
|---|
| 1260 | 1704 | (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; |
|---|
| 1261 | 1705 | interrupt-parent = <&gic>; |
|---|
| 1706 | + arm,no-tick-in-suspend; |
|---|
| 1262 | 1707 | }; |
|---|
| 1263 | 1708 | |
|---|
| 1264 | 1709 | soctherm: thermal-sensor@700e2000 { |
|---|
| 1265 | 1710 | compatible = "nvidia,tegra210-soctherm"; |
|---|
| 1266 | | - reg = <0x0 0x700e2000 0x0 0x600 /* SOC_THERM reg_base */ |
|---|
| 1267 | | - 0x0 0x60006000 0x0 0x400>; /* CAR reg_base */ |
|---|
| 1711 | + reg = <0x0 0x700e2000 0x0 0x600>, /* SOC_THERM reg_base */ |
|---|
| 1712 | + <0x0 0x60006000 0x0 0x400>; /* CAR reg_base */ |
|---|
| 1268 | 1713 | reg-names = "soctherm-reg", "car-reg"; |
|---|
| 1269 | | - interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>; |
|---|
| 1714 | + interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>, |
|---|
| 1715 | + <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; |
|---|
| 1716 | + interrupt-names = "thermal", "edp"; |
|---|
| 1270 | 1717 | clocks = <&tegra_car TEGRA210_CLK_TSENSOR>, |
|---|
| 1271 | 1718 | <&tegra_car TEGRA210_CLK_SOC_THERM>; |
|---|
| 1272 | 1719 | clock-names = "tsensor", "soctherm"; |
|---|
| .. | .. |
|---|
| 1313 | 1760 | }; |
|---|
| 1314 | 1761 | }; |
|---|
| 1315 | 1762 | }; |
|---|
| 1763 | + |
|---|
| 1316 | 1764 | mem { |
|---|
| 1317 | 1765 | polling-delay-passive = <0>; |
|---|
| 1318 | 1766 | polling-delay = <0>; |
|---|
| .. | .. |
|---|
| 1321 | 1769 | <&soctherm TEGRA124_SOCTHERM_SENSOR_MEM>; |
|---|
| 1322 | 1770 | |
|---|
| 1323 | 1771 | trips { |
|---|
| 1772 | + dram_nominal: mem-nominal-trip { |
|---|
| 1773 | + temperature = <50000>; |
|---|
| 1774 | + hysteresis = <1000>; |
|---|
| 1775 | + type = "passive"; |
|---|
| 1776 | + }; |
|---|
| 1777 | + |
|---|
| 1778 | + dram_throttle: mem-throttle-trip { |
|---|
| 1779 | + temperature = <70000>; |
|---|
| 1780 | + hysteresis = <1000>; |
|---|
| 1781 | + type = "active"; |
|---|
| 1782 | + }; |
|---|
| 1783 | + |
|---|
| 1324 | 1784 | mem-shutdown-trip { |
|---|
| 1325 | 1785 | temperature = <103000>; |
|---|
| 1326 | 1786 | hysteresis = <0>; |
|---|
| .. | .. |
|---|
| 1329 | 1789 | }; |
|---|
| 1330 | 1790 | |
|---|
| 1331 | 1791 | cooling-maps { |
|---|
| 1332 | | - /* |
|---|
| 1333 | | - * There are currently no cooling maps, |
|---|
| 1334 | | - * because there are no cooling devices. |
|---|
| 1335 | | - */ |
|---|
| 1792 | + dram-passive { |
|---|
| 1793 | + cooling-device = <&emc 0 0>; |
|---|
| 1794 | + trip = <&dram_nominal>; |
|---|
| 1795 | + }; |
|---|
| 1796 | + |
|---|
| 1797 | + dram-active { |
|---|
| 1798 | + cooling-device = <&emc 1 1>; |
|---|
| 1799 | + trip = <&dram_throttle>; |
|---|
| 1800 | + }; |
|---|
| 1336 | 1801 | }; |
|---|
| 1337 | 1802 | }; |
|---|
| 1803 | + |
|---|
| 1338 | 1804 | gpu { |
|---|
| 1339 | 1805 | polling-delay-passive = <1000>; |
|---|
| 1340 | 1806 | polling-delay = <0>; |
|---|
| .. | .. |
|---|
| 1363 | 1829 | }; |
|---|
| 1364 | 1830 | }; |
|---|
| 1365 | 1831 | }; |
|---|
| 1832 | + |
|---|
| 1366 | 1833 | pllx { |
|---|
| 1367 | 1834 | polling-delay-passive = <0>; |
|---|
| 1368 | 1835 | polling-delay = <0>; |
|---|