1// SPDX-License-Identifier: GPL-2.0 2#include <dt-bindings/clock/tegra210-car.h> 3#include <dt-bindings/gpio/tegra-gpio.h> 4#include <dt-bindings/memory/tegra210-mc.h> 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> 8#include <dt-bindings/interrupt-controller/arm-gic.h> 9#include <dt-bindings/thermal/tegra124-soctherm.h> 10#include <dt-bindings/soc/tegra-pmc.h> 11 12/ { 13 compatible = "nvidia,tegra210"; 14 interrupt-parent = <&lic>; 15 #address-cells = <2>; 16 #size-cells = <2>; 17 18 pcie@1003000 { 19 compatible = "nvidia,tegra210-pcie"; 20 device_type = "pci"; 21 reg = <0x0 0x01003000 0x0 0x00000800 /* PADS registers */ 22 0x0 0x01003800 0x0 0x00000800 /* AFI registers */ 23 0x0 0x02000000 0x0 0x10000000>; /* configuration space */ 24 reg-names = "pads", "afi", "cs"; 25 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */ 26 <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */ 27 interrupt-names = "intr", "msi"; 28 29 #interrupt-cells = <1>; 30 interrupt-map-mask = <0 0 0 0>; 31 interrupt-map = <0 0 0 0 &gic GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 32 33 bus-range = <0x00 0xff>; 34 #address-cells = <3>; 35 #size-cells = <2>; 36 37 ranges = <0x82000000 0 0x01000000 0x0 0x01000000 0 0x00001000 /* port 0 configuration space */ 38 0x82000000 0 0x01001000 0x0 0x01001000 0 0x00001000 /* port 1 configuration space */ 39 0x81000000 0 0x0 0x0 0x12000000 0 0x00010000 /* downstream I/O (64 KiB) */ 40 0x82000000 0 0x13000000 0x0 0x13000000 0 0x0d000000 /* non-prefetchable memory (208 MiB) */ 41 0xc2000000 0 0x20000000 0x0 0x20000000 0 0x20000000>; /* prefetchable memory (512 MiB) */ 42 43 clocks = <&tegra_car TEGRA210_CLK_PCIE>, 44 <&tegra_car TEGRA210_CLK_AFI>, 45 <&tegra_car TEGRA210_CLK_PLL_E>, 46 <&tegra_car TEGRA210_CLK_CML0>; 47 clock-names = "pex", "afi", "pll_e", "cml"; 48 resets = <&tegra_car 70>, 49 <&tegra_car 72>, 50 <&tegra_car 74>; 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 57 status = "disabled"; 58 59 pci@1,0 { 60 device_type = "pci"; 61 assigned-addresses = <0x82000800 0 0x01000000 0 0x1000>; 62 reg = <0x000800 0 0 0 0>; 63 bus-range = <0x00 0xff>; 64 status = "disabled"; 65 66 #address-cells = <3>; 67 #size-cells = <2>; 68 ranges; 69 70 nvidia,num-lanes = <4>; 71 }; 72 73 pci@2,0 { 74 device_type = "pci"; 75 assigned-addresses = <0x82001000 0 0x01001000 0 0x1000>; 76 reg = <0x001000 0 0 0 0>; 77 bus-range = <0x00 0xff>; 78 status = "disabled"; 79 80 #address-cells = <3>; 81 #size-cells = <2>; 82 ranges; 83 84 nvidia,num-lanes = <1>; 85 }; 86 }; 87 88 host1x@50000000 { 89 compatible = "nvidia,tegra210-host1x", "simple-bus"; 90 reg = <0x0 0x50000000 0x0 0x00034000>; 91 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, /* syncpt */ 92 <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* general */ 93 clocks = <&tegra_car TEGRA210_CLK_HOST1X>; 94 clock-names = "host1x"; 95 resets = <&tegra_car 28>; 96 reset-names = "host1x"; 97 98 #address-cells = <2>; 99 #size-cells = <2>; 100 101 ranges = <0x0 0x54000000 0x0 0x54000000 0x0 0x01000000>; 102 103 iommus = <&mc TEGRA_SWGROUP_HC>; 104 105 dpaux1: dpaux@54040000 { 106 compatible = "nvidia,tegra210-dpaux"; 107 reg = <0x0 0x54040000 0x0 0x00040000>; 108 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 109 clocks = <&tegra_car TEGRA210_CLK_DPAUX1>, 110 <&tegra_car TEGRA210_CLK_PLL_DP>; 111 clock-names = "dpaux", "parent"; 112 resets = <&tegra_car 207>; 113 reset-names = "dpaux"; 114 power-domains = <&pd_sor>; 115 status = "disabled"; 116 117 state_dpaux1_aux: pinmux-aux { 118 groups = "dpaux-io"; 119 function = "aux"; 120 }; 121 122 state_dpaux1_i2c: pinmux-i2c { 123 groups = "dpaux-io"; 124 function = "i2c"; 125 }; 126 127 state_dpaux1_off: pinmux-off { 128 groups = "dpaux-io"; 129 function = "off"; 130 }; 131 132 i2c-bus { 133 #address-cells = <1>; 134 #size-cells = <0>; 135 }; 136 }; 137 138 vi@54080000 { 139 compatible = "nvidia,tegra210-vi"; 140 reg = <0x0 0x54080000 0x0 0x00040000>; 141 interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>; 142 status = "disabled"; 143 }; 144 145 tsec@54100000 { 146 compatible = "nvidia,tegra210-tsec"; 147 reg = <0x0 0x54100000 0x0 0x00040000>; 148 }; 149 150 dc@54200000 { 151 compatible = "nvidia,tegra210-dc"; 152 reg = <0x0 0x54200000 0x0 0x00040000>; 153 interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; 154 clocks = <&tegra_car TEGRA210_CLK_DISP1>, 155 <&tegra_car TEGRA210_CLK_PLL_P>; 156 clock-names = "dc", "parent"; 157 resets = <&tegra_car 27>; 158 reset-names = "dc"; 159 160 iommus = <&mc TEGRA_SWGROUP_DC>; 161 162 nvidia,head = <0>; 163 }; 164 165 dc@54240000 { 166 compatible = "nvidia,tegra210-dc"; 167 reg = <0x0 0x54240000 0x0 0x00040000>; 168 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; 169 clocks = <&tegra_car TEGRA210_CLK_DISP2>, 170 <&tegra_car TEGRA210_CLK_PLL_P>; 171 clock-names = "dc", "parent"; 172 resets = <&tegra_car 26>; 173 reset-names = "dc"; 174 175 iommus = <&mc TEGRA_SWGROUP_DCB>; 176 177 nvidia,head = <1>; 178 }; 179 180 dsi@54300000 { 181 compatible = "nvidia,tegra210-dsi"; 182 reg = <0x0 0x54300000 0x0 0x00040000>; 183 clocks = <&tegra_car TEGRA210_CLK_DSIA>, 184 <&tegra_car TEGRA210_CLK_DSIALP>, 185 <&tegra_car TEGRA210_CLK_PLL_D_OUT0>; 186 clock-names = "dsi", "lp", "parent"; 187 resets = <&tegra_car 48>; 188 reset-names = "dsi"; 189 power-domains = <&pd_sor>; 190 nvidia,mipi-calibrate = <&mipi 0x0c0>; /* DSIA & DSIB pads */ 191 192 status = "disabled"; 193 194 #address-cells = <1>; 195 #size-cells = <0>; 196 }; 197 198 vic@54340000 { 199 compatible = "nvidia,tegra210-vic"; 200 reg = <0x0 0x54340000 0x0 0x00040000>; 201 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; 202 clocks = <&tegra_car TEGRA210_CLK_VIC03>; 203 clock-names = "vic"; 204 resets = <&tegra_car 178>; 205 reset-names = "vic"; 206 207 iommus = <&mc TEGRA_SWGROUP_VIC>; 208 power-domains = <&pd_vic>; 209 }; 210 211 nvjpg@54380000 { 212 compatible = "nvidia,tegra210-nvjpg"; 213 reg = <0x0 0x54380000 0x0 0x00040000>; 214 status = "disabled"; 215 }; 216 217 dsi@54400000 { 218 compatible = "nvidia,tegra210-dsi"; 219 reg = <0x0 0x54400000 0x0 0x00040000>; 220 clocks = <&tegra_car TEGRA210_CLK_DSIB>, 221 <&tegra_car TEGRA210_CLK_DSIBLP>, 222 <&tegra_car TEGRA210_CLK_PLL_D_OUT0>; 223 clock-names = "dsi", "lp", "parent"; 224 resets = <&tegra_car 82>; 225 reset-names = "dsi"; 226 power-domains = <&pd_sor>; 227 nvidia,mipi-calibrate = <&mipi 0x300>; /* DSIC & DSID pads */ 228 229 status = "disabled"; 230 231 #address-cells = <1>; 232 #size-cells = <0>; 233 }; 234 235 nvdec@54480000 { 236 compatible = "nvidia,tegra210-nvdec"; 237 reg = <0x0 0x54480000 0x0 0x00040000>; 238 status = "disabled"; 239 }; 240 241 nvenc@544c0000 { 242 compatible = "nvidia,tegra210-nvenc"; 243 reg = <0x0 0x544c0000 0x0 0x00040000>; 244 status = "disabled"; 245 }; 246 247 tsec@54500000 { 248 compatible = "nvidia,tegra210-tsec"; 249 reg = <0x0 0x54500000 0x0 0x00040000>; 250 status = "disabled"; 251 }; 252 253 sor@54540000 { 254 compatible = "nvidia,tegra210-sor"; 255 reg = <0x0 0x54540000 0x0 0x00040000>; 256 interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>; 257 clocks = <&tegra_car TEGRA210_CLK_SOR0>, 258 <&tegra_car TEGRA210_CLK_SOR0_OUT>, 259 <&tegra_car TEGRA210_CLK_PLL_D_OUT0>, 260 <&tegra_car TEGRA210_CLK_PLL_DP>, 261 <&tegra_car TEGRA210_CLK_SOR_SAFE>; 262 clock-names = "sor", "out", "parent", "dp", "safe"; 263 resets = <&tegra_car 182>; 264 reset-names = "sor"; 265 pinctrl-0 = <&state_dpaux_aux>; 266 pinctrl-1 = <&state_dpaux_i2c>; 267 pinctrl-2 = <&state_dpaux_off>; 268 pinctrl-names = "aux", "i2c", "off"; 269 power-domains = <&pd_sor>; 270 status = "disabled"; 271 }; 272 273 sor@54580000 { 274 compatible = "nvidia,tegra210-sor1"; 275 reg = <0x0 0x54580000 0x0 0x00040000>; 276 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; 277 clocks = <&tegra_car TEGRA210_CLK_SOR1>, 278 <&tegra_car TEGRA210_CLK_SOR1_OUT>, 279 <&tegra_car TEGRA210_CLK_PLL_D2_OUT0>, 280 <&tegra_car TEGRA210_CLK_PLL_DP>, 281 <&tegra_car TEGRA210_CLK_SOR_SAFE>; 282 clock-names = "sor", "out", "parent", "dp", "safe"; 283 resets = <&tegra_car 183>; 284 reset-names = "sor"; 285 pinctrl-0 = <&state_dpaux1_aux>; 286 pinctrl-1 = <&state_dpaux1_i2c>; 287 pinctrl-2 = <&state_dpaux1_off>; 288 pinctrl-names = "aux", "i2c", "off"; 289 power-domains = <&pd_sor>; 290 status = "disabled"; 291 }; 292 293 dpaux: dpaux@545c0000 { 294 compatible = "nvidia,tegra124-dpaux"; 295 reg = <0x0 0x545c0000 0x0 0x00040000>; 296 interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>; 297 clocks = <&tegra_car TEGRA210_CLK_DPAUX>, 298 <&tegra_car TEGRA210_CLK_PLL_DP>; 299 clock-names = "dpaux", "parent"; 300 resets = <&tegra_car 181>; 301 reset-names = "dpaux"; 302 power-domains = <&pd_sor>; 303 status = "disabled"; 304 305 state_dpaux_aux: pinmux-aux { 306 groups = "dpaux-io"; 307 function = "aux"; 308 }; 309 310 state_dpaux_i2c: pinmux-i2c { 311 groups = "dpaux-io"; 312 function = "i2c"; 313 }; 314 315 state_dpaux_off: pinmux-off { 316 groups = "dpaux-io"; 317 function = "off"; 318 }; 319 320 i2c-bus { 321 #address-cells = <1>; 322 #size-cells = <0>; 323 }; 324 }; 325 326 isp@54600000 { 327 compatible = "nvidia,tegra210-isp"; 328 reg = <0x0 0x54600000 0x0 0x00040000>; 329 interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 330 status = "disabled"; 331 }; 332 333 isp@54680000 { 334 compatible = "nvidia,tegra210-isp"; 335 reg = <0x0 0x54680000 0x0 0x00040000>; 336 interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; 337 status = "disabled"; 338 }; 339 340 i2c@546c0000 { 341 compatible = "nvidia,tegra210-i2c-vi"; 342 reg = <0x0 0x546c0000 0x0 0x00040000>; 343 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; 344 status = "disabled"; 345 }; 346 }; 347 348 gic: interrupt-controller@50041000 { 349 compatible = "arm,gic-400"; 350 #interrupt-cells = <3>; 351 interrupt-controller; 352 reg = <0x0 0x50041000 0x0 0x1000>, 353 <0x0 0x50042000 0x0 0x2000>, 354 <0x0 0x50044000 0x0 0x2000>, 355 <0x0 0x50046000 0x0 0x2000>; 356 interrupts = <GIC_PPI 9 357 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 358 interrupt-parent = <&gic>; 359 }; 360 361 gpu@57000000 { 362 compatible = "nvidia,gm20b"; 363 reg = <0x0 0x57000000 0x0 0x01000000>, 364 <0x0 0x58000000 0x0 0x01000000>; 365 interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>, 366 <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>; 367 interrupt-names = "stall", "nonstall"; 368 clocks = <&tegra_car TEGRA210_CLK_GPU>, 369 <&tegra_car TEGRA210_CLK_PLL_P_OUT5>, 370 <&tegra_car TEGRA210_CLK_PLL_G_REF>; 371 clock-names = "gpu", "pwr", "ref"; 372 resets = <&tegra_car 184>; 373 reset-names = "gpu"; 374 375 iommus = <&mc TEGRA_SWGROUP_GPU>; 376 377 status = "disabled"; 378 }; 379 380 lic: interrupt-controller@60004000 { 381 compatible = "nvidia,tegra210-ictlr"; 382 reg = <0x0 0x60004000 0x0 0x40>, /* primary controller */ 383 <0x0 0x60004100 0x0 0x40>, /* secondary controller */ 384 <0x0 0x60004200 0x0 0x40>, /* tertiary controller */ 385 <0x0 0x60004300 0x0 0x40>, /* quaternary controller */ 386 <0x0 0x60004400 0x0 0x40>, /* quinary controller */ 387 <0x0 0x60004500 0x0 0x40>; /* senary controller */ 388 interrupt-controller; 389 #interrupt-cells = <3>; 390 interrupt-parent = <&gic>; 391 }; 392 393 timer@60005000 { 394 compatible = "nvidia,tegra210-timer"; 395 reg = <0x0 0x60005000 0x0 0x400>; 396 interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>, 397 <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, 398 <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>, 399 <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>, 400 <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>, 401 <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>, 402 <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>, 403 <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>, 404 <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>, 405 <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>, 406 <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>, 407 <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>, 408 <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>, 409 <GIC_SPI 179 IRQ_TYPE_LEVEL_HIGH>; 410 clocks = <&tegra_car TEGRA210_CLK_TIMER>; 411 clock-names = "timer"; 412 }; 413 414 tegra_car: clock@60006000 { 415 compatible = "nvidia,tegra210-car"; 416 reg = <0x0 0x60006000 0x0 0x1000>; 417 #clock-cells = <1>; 418 #reset-cells = <1>; 419 }; 420 421 flow-controller@60007000 { 422 compatible = "nvidia,tegra210-flowctrl"; 423 reg = <0x0 0x60007000 0x0 0x1000>; 424 }; 425 426 gpio: gpio@6000d000 { 427 compatible = "nvidia,tegra210-gpio", "nvidia,tegra30-gpio"; 428 reg = <0x0 0x6000d000 0x0 0x1000>; 429 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>, 430 <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>, 431 <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>, 432 <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>, 433 <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>, 434 <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>, 435 <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>, 436 <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>; 437 #gpio-cells = <2>; 438 gpio-controller; 439 #interrupt-cells = <2>; 440 interrupt-controller; 441 }; 442 443 apbdma: dma@60020000 { 444 compatible = "nvidia,tegra210-apbdma", "nvidia,tegra148-apbdma"; 445 reg = <0x0 0x60020000 0x0 0x1400>; 446 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>, 447 <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>, 448 <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>, 449 <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>, 450 <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>, 451 <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>, 452 <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>, 453 <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>, 454 <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>, 455 <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>, 456 <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>, 457 <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>, 458 <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>, 459 <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>, 460 <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>, 461 <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>, 462 <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>, 463 <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>, 464 <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>, 465 <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>, 466 <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>, 467 <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>, 468 <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>, 469 <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>, 470 <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>, 471 <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>, 472 <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>, 473 <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>, 474 <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>, 475 <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>, 476 <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>, 477 <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>; 478 clocks = <&tegra_car TEGRA210_CLK_APBDMA>; 479 clock-names = "dma"; 480 resets = <&tegra_car 34>; 481 reset-names = "dma"; 482 #dma-cells = <1>; 483 }; 484 485 apbmisc@70000800 { 486 compatible = "nvidia,tegra210-apbmisc", "nvidia,tegra20-apbmisc"; 487 reg = <0x0 0x70000800 0x0 0x64>, /* Chip revision */ 488 <0x0 0x70000008 0x0 0x04>; /* Strapping options */ 489 }; 490 491 pinmux: pinmux@700008d4 { 492 compatible = "nvidia,tegra210-pinmux"; 493 reg = <0x0 0x700008d4 0x0 0x29c>, /* Pad control registers */ 494 <0x0 0x70003000 0x0 0x294>; /* Mux registers */ 495 sdmmc1_3v3_drv: sdmmc1-3v3-drv { 496 sdmmc1 { 497 nvidia,pins = "drive_sdmmc1"; 498 nvidia,pull-down-strength = <0x8>; 499 nvidia,pull-up-strength = <0x8>; 500 }; 501 }; 502 sdmmc1_1v8_drv: sdmmc1-1v8-drv { 503 sdmmc1 { 504 nvidia,pins = "drive_sdmmc1"; 505 nvidia,pull-down-strength = <0x4>; 506 nvidia,pull-up-strength = <0x3>; 507 }; 508 }; 509 sdmmc2_1v8_drv: sdmmc2-1v8-drv { 510 sdmmc2 { 511 nvidia,pins = "drive_sdmmc2"; 512 nvidia,pull-down-strength = <0x10>; 513 nvidia,pull-up-strength = <0x10>; 514 }; 515 }; 516 sdmmc3_3v3_drv: sdmmc3-3v3-drv { 517 sdmmc3 { 518 nvidia,pins = "drive_sdmmc3"; 519 nvidia,pull-down-strength = <0x8>; 520 nvidia,pull-up-strength = <0x8>; 521 }; 522 }; 523 sdmmc3_1v8_drv: sdmmc3-1v8-drv { 524 sdmmc3 { 525 nvidia,pins = "drive_sdmmc3"; 526 nvidia,pull-down-strength = <0x4>; 527 nvidia,pull-up-strength = <0x3>; 528 }; 529 }; 530 sdmmc4_1v8_drv: sdmmc4-1v8-drv { 531 sdmmc4 { 532 nvidia,pins = "drive_sdmmc4"; 533 nvidia,pull-down-strength = <0x10>; 534 nvidia,pull-up-strength = <0x10>; 535 }; 536 }; 537 }; 538 539 /* 540 * There are two serial driver i.e. 8250 based simple serial 541 * driver and APB DMA based serial driver for higher baudrate 542 * and performance. To enable the 8250 based driver, the compatible 543 * is "nvidia,tegra124-uart", "nvidia,tegra20-uart" and to enable 544 * the APB DMA based serial driver, the compatible is 545 * "nvidia,tegra124-hsuart", "nvidia,tegra30-hsuart". 546 */ 547 uarta: serial@70006000 { 548 compatible = "nvidia,tegra210-uart", "nvidia,tegra20-uart"; 549 reg = <0x0 0x70006000 0x0 0x40>; 550 reg-shift = <2>; 551 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 552 clocks = <&tegra_car TEGRA210_CLK_UARTA>; 553 clock-names = "serial"; 554 resets = <&tegra_car 6>; 555 reset-names = "serial"; 556 dmas = <&apbdma 8>, <&apbdma 8>; 557 dma-names = "rx", "tx"; 558 status = "disabled"; 559 }; 560 561 uartb: serial@70006040 { 562 compatible = "nvidia,tegra210-uart", "nvidia,tegra20-uart"; 563 reg = <0x0 0x70006040 0x0 0x40>; 564 reg-shift = <2>; 565 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 566 clocks = <&tegra_car TEGRA210_CLK_UARTB>; 567 clock-names = "serial"; 568 resets = <&tegra_car 7>; 569 reset-names = "serial"; 570 dmas = <&apbdma 9>, <&apbdma 9>; 571 dma-names = "rx", "tx"; 572 status = "disabled"; 573 }; 574 575 uartc: serial@70006200 { 576 compatible = "nvidia,tegra210-uart", "nvidia,tegra20-uart"; 577 reg = <0x0 0x70006200 0x0 0x40>; 578 reg-shift = <2>; 579 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; 580 clocks = <&tegra_car TEGRA210_CLK_UARTC>; 581 clock-names = "serial"; 582 resets = <&tegra_car 55>; 583 reset-names = "serial"; 584 dmas = <&apbdma 10>, <&apbdma 10>; 585 dma-names = "rx", "tx"; 586 status = "disabled"; 587 }; 588 589 uartd: serial@70006300 { 590 compatible = "nvidia,tegra210-uart", "nvidia,tegra20-uart"; 591 reg = <0x0 0x70006300 0x0 0x40>; 592 reg-shift = <2>; 593 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; 594 clocks = <&tegra_car TEGRA210_CLK_UARTD>; 595 clock-names = "serial"; 596 resets = <&tegra_car 65>; 597 reset-names = "serial"; 598 dmas = <&apbdma 19>, <&apbdma 19>; 599 dma-names = "rx", "tx"; 600 status = "disabled"; 601 }; 602 603 pwm: pwm@7000a000 { 604 compatible = "nvidia,tegra210-pwm", "nvidia,tegra20-pwm"; 605 reg = <0x0 0x7000a000 0x0 0x100>; 606 #pwm-cells = <2>; 607 clocks = <&tegra_car TEGRA210_CLK_PWM>; 608 clock-names = "pwm"; 609 resets = <&tegra_car 17>; 610 reset-names = "pwm"; 611 status = "disabled"; 612 }; 613 614 i2c@7000c000 { 615 compatible = "nvidia,tegra210-i2c", "nvidia,tegra124-i2c"; 616 reg = <0x0 0x7000c000 0x0 0x100>; 617 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 618 #address-cells = <1>; 619 #size-cells = <0>; 620 clocks = <&tegra_car TEGRA210_CLK_I2C1>; 621 clock-names = "div-clk"; 622 resets = <&tegra_car 12>; 623 reset-names = "i2c"; 624 dmas = <&apbdma 21>, <&apbdma 21>; 625 dma-names = "rx", "tx"; 626 status = "disabled"; 627 }; 628 629 i2c@7000c400 { 630 compatible = "nvidia,tegra210-i2c", "nvidia,tegra124-i2c"; 631 reg = <0x0 0x7000c400 0x0 0x100>; 632 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; 633 #address-cells = <1>; 634 #size-cells = <0>; 635 clocks = <&tegra_car TEGRA210_CLK_I2C2>; 636 clock-names = "div-clk"; 637 resets = <&tegra_car 54>; 638 reset-names = "i2c"; 639 dmas = <&apbdma 22>, <&apbdma 22>; 640 dma-names = "rx", "tx"; 641 status = "disabled"; 642 }; 643 644 i2c@7000c500 { 645 compatible = "nvidia,tegra210-i2c", "nvidia,tegra124-i2c"; 646 reg = <0x0 0x7000c500 0x0 0x100>; 647 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>; 648 #address-cells = <1>; 649 #size-cells = <0>; 650 clocks = <&tegra_car TEGRA210_CLK_I2C3>; 651 clock-names = "div-clk"; 652 resets = <&tegra_car 67>; 653 reset-names = "i2c"; 654 dmas = <&apbdma 23>, <&apbdma 23>; 655 dma-names = "rx", "tx"; 656 status = "disabled"; 657 }; 658 659 i2c@7000c700 { 660 compatible = "nvidia,tegra210-i2c", "nvidia,tegra124-i2c"; 661 reg = <0x0 0x7000c700 0x0 0x100>; 662 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>; 663 #address-cells = <1>; 664 #size-cells = <0>; 665 clocks = <&tegra_car TEGRA210_CLK_I2C4>; 666 clock-names = "div-clk"; 667 resets = <&tegra_car 103>; 668 reset-names = "i2c"; 669 dmas = <&apbdma 26>, <&apbdma 26>; 670 dma-names = "rx", "tx"; 671 pinctrl-0 = <&state_dpaux1_i2c>; 672 pinctrl-1 = <&state_dpaux1_off>; 673 pinctrl-names = "default", "idle"; 674 status = "disabled"; 675 }; 676 677 i2c@7000d000 { 678 compatible = "nvidia,tegra210-i2c", "nvidia,tegra124-i2c"; 679 reg = <0x0 0x7000d000 0x0 0x100>; 680 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 681 #address-cells = <1>; 682 #size-cells = <0>; 683 clocks = <&tegra_car TEGRA210_CLK_I2C5>; 684 clock-names = "div-clk"; 685 resets = <&tegra_car 47>; 686 reset-names = "i2c"; 687 dmas = <&apbdma 24>, <&apbdma 24>; 688 dma-names = "rx", "tx"; 689 status = "disabled"; 690 }; 691 692 i2c@7000d100 { 693 compatible = "nvidia,tegra210-i2c", "nvidia,tegra124-i2c"; 694 reg = <0x0 0x7000d100 0x0 0x100>; 695 interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>; 696 #address-cells = <1>; 697 #size-cells = <0>; 698 clocks = <&tegra_car TEGRA210_CLK_I2C6>; 699 clock-names = "div-clk"; 700 resets = <&tegra_car 166>; 701 reset-names = "i2c"; 702 dmas = <&apbdma 30>, <&apbdma 30>; 703 dma-names = "rx", "tx"; 704 pinctrl-0 = <&state_dpaux_i2c>; 705 pinctrl-1 = <&state_dpaux_off>; 706 pinctrl-names = "default", "idle"; 707 status = "disabled"; 708 }; 709 710 spi@7000d400 { 711 compatible = "nvidia,tegra210-spi", "nvidia,tegra114-spi"; 712 reg = <0x0 0x7000d400 0x0 0x200>; 713 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>; 714 #address-cells = <1>; 715 #size-cells = <0>; 716 clocks = <&tegra_car TEGRA210_CLK_SBC1>; 717 clock-names = "spi"; 718 resets = <&tegra_car 41>; 719 reset-names = "spi"; 720 dmas = <&apbdma 15>, <&apbdma 15>; 721 dma-names = "rx", "tx"; 722 status = "disabled"; 723 }; 724 725 spi@7000d600 { 726 compatible = "nvidia,tegra210-spi", "nvidia,tegra114-spi"; 727 reg = <0x0 0x7000d600 0x0 0x200>; 728 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; 729 #address-cells = <1>; 730 #size-cells = <0>; 731 clocks = <&tegra_car TEGRA210_CLK_SBC2>; 732 clock-names = "spi"; 733 resets = <&tegra_car 44>; 734 reset-names = "spi"; 735 dmas = <&apbdma 16>, <&apbdma 16>; 736 dma-names = "rx", "tx"; 737 status = "disabled"; 738 }; 739 740 spi@7000d800 { 741 compatible = "nvidia,tegra210-spi", "nvidia,tegra114-spi"; 742 reg = <0x0 0x7000d800 0x0 0x200>; 743 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 744 #address-cells = <1>; 745 #size-cells = <0>; 746 clocks = <&tegra_car TEGRA210_CLK_SBC3>; 747 clock-names = "spi"; 748 resets = <&tegra_car 46>; 749 reset-names = "spi"; 750 dmas = <&apbdma 17>, <&apbdma 17>; 751 dma-names = "rx", "tx"; 752 status = "disabled"; 753 }; 754 755 spi@7000da00 { 756 compatible = "nvidia,tegra210-spi", "nvidia,tegra114-spi"; 757 reg = <0x0 0x7000da00 0x0 0x200>; 758 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>; 759 #address-cells = <1>; 760 #size-cells = <0>; 761 clocks = <&tegra_car TEGRA210_CLK_SBC4>; 762 clock-names = "spi"; 763 resets = <&tegra_car 68>; 764 reset-names = "spi"; 765 dmas = <&apbdma 18>, <&apbdma 18>; 766 dma-names = "rx", "tx"; 767 status = "disabled"; 768 }; 769 770 rtc@7000e000 { 771 compatible = "nvidia,tegra210-rtc", "nvidia,tegra20-rtc"; 772 reg = <0x0 0x7000e000 0x0 0x100>; 773 interrupts = <16 IRQ_TYPE_LEVEL_HIGH>; 774 interrupt-parent = <&tegra_pmc>; 775 clocks = <&tegra_car TEGRA210_CLK_RTC>; 776 clock-names = "rtc"; 777 }; 778 779 tegra_pmc: pmc@7000e400 { 780 compatible = "nvidia,tegra210-pmc"; 781 reg = <0x0 0x7000e400 0x0 0x400>; 782 clocks = <&tegra_car TEGRA210_CLK_PCLK>, <&clk32k_in>; 783 clock-names = "pclk", "clk32k_in"; 784 #clock-cells = <1>; 785 #interrupt-cells = <2>; 786 interrupt-controller; 787 788 powergates { 789 pd_audio: aud { 790 clocks = <&tegra_car TEGRA210_CLK_APE>, 791 <&tegra_car TEGRA210_CLK_APB2APE>; 792 resets = <&tegra_car 198>; 793 #power-domain-cells = <0>; 794 }; 795 796 pd_sor: sor { 797 clocks = <&tegra_car TEGRA210_CLK_SOR0>, 798 <&tegra_car TEGRA210_CLK_SOR1>, 799 <&tegra_car TEGRA210_CLK_CSI>, 800 <&tegra_car TEGRA210_CLK_DSIA>, 801 <&tegra_car TEGRA210_CLK_DSIB>, 802 <&tegra_car TEGRA210_CLK_DPAUX>, 803 <&tegra_car TEGRA210_CLK_DPAUX1>, 804 <&tegra_car TEGRA210_CLK_MIPI_CAL>; 805 resets = <&tegra_car TEGRA210_CLK_SOR0>, 806 <&tegra_car TEGRA210_CLK_SOR1>, 807 <&tegra_car TEGRA210_CLK_CSI>, 808 <&tegra_car TEGRA210_CLK_DSIA>, 809 <&tegra_car TEGRA210_CLK_DSIB>, 810 <&tegra_car TEGRA210_CLK_DPAUX>, 811 <&tegra_car TEGRA210_CLK_DPAUX1>, 812 <&tegra_car TEGRA210_CLK_MIPI_CAL>; 813 #power-domain-cells = <0>; 814 }; 815 816 pd_xusbss: xusba { 817 clocks = <&tegra_car TEGRA210_CLK_XUSB_SS>; 818 resets = <&tegra_car TEGRA210_CLK_XUSB_SS>; 819 #power-domain-cells = <0>; 820 }; 821 822 pd_xusbdev: xusbb { 823 clocks = <&tegra_car TEGRA210_CLK_XUSB_DEV>; 824 resets = <&tegra_car 95>; 825 #power-domain-cells = <0>; 826 }; 827 828 pd_xusbhost: xusbc { 829 clocks = <&tegra_car TEGRA210_CLK_XUSB_HOST>; 830 resets = <&tegra_car TEGRA210_CLK_XUSB_HOST>; 831 #power-domain-cells = <0>; 832 }; 833 834 pd_vic: vic { 835 clocks = <&tegra_car TEGRA210_CLK_VIC03>; 836 clock-names = "vic"; 837 resets = <&tegra_car 178>; 838 reset-names = "vic"; 839 #power-domain-cells = <0>; 840 }; 841 }; 842 843 sdmmc1_3v3: sdmmc1-3v3 { 844 pins = "sdmmc1"; 845 power-source = <TEGRA_IO_PAD_VOLTAGE_3V3>; 846 }; 847 848 sdmmc1_1v8: sdmmc1-1v8 { 849 pins = "sdmmc1"; 850 power-source = <TEGRA_IO_PAD_VOLTAGE_1V8>; 851 }; 852 853 sdmmc3_3v3: sdmmc3-3v3 { 854 pins = "sdmmc3"; 855 power-source = <TEGRA_IO_PAD_VOLTAGE_3V3>; 856 }; 857 858 sdmmc3_1v8: sdmmc3-1v8 { 859 pins = "sdmmc3"; 860 power-source = <TEGRA_IO_PAD_VOLTAGE_1V8>; 861 }; 862 863 pex_dpd_disable: pex_en { 864 pex-dpd-disable { 865 pins = "pex-bias", "pex-clk1", "pex-clk2"; 866 low-power-disable; 867 }; 868 }; 869 870 pex_dpd_enable: pex_dis { 871 pex-dpd-enable { 872 pins = "pex-bias", "pex-clk1", "pex-clk2"; 873 low-power-enable; 874 }; 875 }; 876 }; 877 878 fuse@7000f800 { 879 compatible = "nvidia,tegra210-efuse"; 880 reg = <0x0 0x7000f800 0x0 0x400>; 881 clocks = <&tegra_car TEGRA210_CLK_FUSE>; 882 clock-names = "fuse"; 883 resets = <&tegra_car 39>; 884 reset-names = "fuse"; 885 }; 886 887 mc: memory-controller@70019000 { 888 compatible = "nvidia,tegra210-mc"; 889 reg = <0x0 0x70019000 0x0 0x1000>; 890 clocks = <&tegra_car TEGRA210_CLK_MC>; 891 clock-names = "mc"; 892 893 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; 894 895 #iommu-cells = <1>; 896 }; 897 898 emc: external-memory-controller@7001b000 { 899 compatible = "nvidia,tegra210-emc"; 900 reg = <0x0 0x7001b000 0x0 0x1000>, 901 <0x0 0x7001e000 0x0 0x1000>, 902 <0x0 0x7001f000 0x0 0x1000>; 903 clocks = <&tegra_car TEGRA210_CLK_EMC>; 904 clock-names = "emc"; 905 interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>; 906 nvidia,memory-controller = <&mc>; 907 #cooling-cells = <2>; 908 }; 909 910 sata@70020000 { 911 compatible = "nvidia,tegra210-ahci"; 912 reg = <0x0 0x70027000 0x0 0x2000>, /* AHCI */ 913 <0x0 0x70020000 0x0 0x7000>, /* SATA */ 914 <0x0 0x70001100 0x0 0x1000>; /* SATA AUX */ 915 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 916 clocks = <&tegra_car TEGRA210_CLK_SATA>, 917 <&tegra_car TEGRA210_CLK_SATA_OOB>; 918 clock-names = "sata", "sata-oob"; 919 resets = <&tegra_car 124>, 920 <&tegra_car 123>, 921 <&tegra_car 129>; 922 reset-names = "sata", "sata-oob", "sata-cold"; 923 status = "disabled"; 924 }; 925 926 hda@70030000 { 927 compatible = "nvidia,tegra210-hda", "nvidia,tegra30-hda"; 928 reg = <0x0 0x70030000 0x0 0x10000>; 929 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; 930 clocks = <&tegra_car TEGRA210_CLK_HDA>, 931 <&tegra_car TEGRA210_CLK_HDA2HDMI>, 932 <&tegra_car TEGRA210_CLK_HDA2CODEC_2X>; 933 clock-names = "hda", "hda2hdmi", "hda2codec_2x"; 934 resets = <&tegra_car 125>, /* hda */ 935 <&tegra_car 128>, /* hda2hdmi */ 936 <&tegra_car 111>; /* hda2codec_2x */ 937 reset-names = "hda", "hda2hdmi", "hda2codec_2x"; 938 status = "disabled"; 939 }; 940 941 usb@70090000 { 942 compatible = "nvidia,tegra210-xusb"; 943 reg = <0x0 0x70090000 0x0 0x8000>, 944 <0x0 0x70098000 0x0 0x1000>, 945 <0x0 0x70099000 0x0 0x1000>; 946 reg-names = "hcd", "fpci", "ipfs"; 947 948 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>, 949 <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 950 951 clocks = <&tegra_car TEGRA210_CLK_XUSB_HOST>, 952 <&tegra_car TEGRA210_CLK_XUSB_HOST_SRC>, 953 <&tegra_car TEGRA210_CLK_XUSB_FALCON_SRC>, 954 <&tegra_car TEGRA210_CLK_XUSB_SS>, 955 <&tegra_car TEGRA210_CLK_XUSB_SS_DIV2>, 956 <&tegra_car TEGRA210_CLK_XUSB_SS_SRC>, 957 <&tegra_car TEGRA210_CLK_XUSB_HS_SRC>, 958 <&tegra_car TEGRA210_CLK_XUSB_FS_SRC>, 959 <&tegra_car TEGRA210_CLK_PLL_U_480M>, 960 <&tegra_car TEGRA210_CLK_CLK_M>, 961 <&tegra_car TEGRA210_CLK_PLL_E>; 962 clock-names = "xusb_host", "xusb_host_src", 963 "xusb_falcon_src", "xusb_ss", 964 "xusb_ss_div2", "xusb_ss_src", 965 "xusb_hs_src", "xusb_fs_src", 966 "pll_u_480m", "clk_m", "pll_e"; 967 resets = <&tegra_car 89>, <&tegra_car 156>, 968 <&tegra_car 143>; 969 reset-names = "xusb_host", "xusb_ss", "xusb_src"; 970 power-domains = <&pd_xusbhost>, <&pd_xusbss>; 971 power-domain-names = "xusb_host", "xusb_ss"; 972 973 nvidia,xusb-padctl = <&padctl>; 974 975 status = "disabled"; 976 }; 977 978 padctl: padctl@7009f000 { 979 compatible = "nvidia,tegra210-xusb-padctl"; 980 reg = <0x0 0x7009f000 0x0 0x1000>; 981 resets = <&tegra_car 142>; 982 reset-names = "padctl"; 983 984 status = "disabled"; 985 986 pads { 987 usb2 { 988 clocks = <&tegra_car TEGRA210_CLK_USB2_TRK>; 989 clock-names = "trk"; 990 status = "disabled"; 991 992 lanes { 993 usb2-0 { 994 status = "disabled"; 995 #phy-cells = <0>; 996 }; 997 998 usb2-1 { 999 status = "disabled"; 1000 #phy-cells = <0>; 1001 }; 1002 1003 usb2-2 { 1004 status = "disabled"; 1005 #phy-cells = <0>; 1006 }; 1007 1008 usb2-3 { 1009 status = "disabled"; 1010 #phy-cells = <0>; 1011 }; 1012 }; 1013 }; 1014 1015 hsic { 1016 clocks = <&tegra_car TEGRA210_CLK_HSIC_TRK>; 1017 clock-names = "trk"; 1018 status = "disabled"; 1019 1020 lanes { 1021 hsic-0 { 1022 status = "disabled"; 1023 #phy-cells = <0>; 1024 }; 1025 1026 hsic-1 { 1027 status = "disabled"; 1028 #phy-cells = <0>; 1029 }; 1030 }; 1031 }; 1032 1033 pcie { 1034 clocks = <&tegra_car TEGRA210_CLK_PLL_E>; 1035 clock-names = "pll"; 1036 resets = <&tegra_car 205>; 1037 reset-names = "phy"; 1038 status = "disabled"; 1039 1040 lanes { 1041 pcie-0 { 1042 status = "disabled"; 1043 #phy-cells = <0>; 1044 }; 1045 1046 pcie-1 { 1047 status = "disabled"; 1048 #phy-cells = <0>; 1049 }; 1050 1051 pcie-2 { 1052 status = "disabled"; 1053 #phy-cells = <0>; 1054 }; 1055 1056 pcie-3 { 1057 status = "disabled"; 1058 #phy-cells = <0>; 1059 }; 1060 1061 pcie-4 { 1062 status = "disabled"; 1063 #phy-cells = <0>; 1064 }; 1065 1066 pcie-5 { 1067 status = "disabled"; 1068 #phy-cells = <0>; 1069 }; 1070 1071 pcie-6 { 1072 status = "disabled"; 1073 #phy-cells = <0>; 1074 }; 1075 }; 1076 }; 1077 1078 sata { 1079 clocks = <&tegra_car TEGRA210_CLK_PLL_E>; 1080 clock-names = "pll"; 1081 resets = <&tegra_car 204>; 1082 reset-names = "phy"; 1083 status = "disabled"; 1084 1085 lanes { 1086 sata-0 { 1087 status = "disabled"; 1088 #phy-cells = <0>; 1089 }; 1090 }; 1091 }; 1092 }; 1093 1094 ports { 1095 usb2-0 { 1096 status = "disabled"; 1097 }; 1098 1099 usb2-1 { 1100 status = "disabled"; 1101 }; 1102 1103 usb2-2 { 1104 status = "disabled"; 1105 }; 1106 1107 usb2-3 { 1108 status = "disabled"; 1109 }; 1110 1111 hsic-0 { 1112 status = "disabled"; 1113 }; 1114 1115 usb3-0 { 1116 status = "disabled"; 1117 }; 1118 1119 usb3-1 { 1120 status = "disabled"; 1121 }; 1122 1123 usb3-2 { 1124 status = "disabled"; 1125 }; 1126 1127 usb3-3 { 1128 status = "disabled"; 1129 }; 1130 }; 1131 }; 1132 1133 sdhci@700b0000 { 1134 compatible = "nvidia,tegra210-sdhci", "nvidia,tegra124-sdhci"; 1135 reg = <0x0 0x700b0000 0x0 0x200>; 1136 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 1137 clocks = <&tegra_car TEGRA210_CLK_SDMMC1>; 1138 clock-names = "sdhci"; 1139 resets = <&tegra_car 14>; 1140 reset-names = "sdhci"; 1141 pinctrl-names = "sdmmc-3v3", "sdmmc-1v8", 1142 "sdmmc-3v3-drv", "sdmmc-1v8-drv"; 1143 pinctrl-0 = <&sdmmc1_3v3>; 1144 pinctrl-1 = <&sdmmc1_1v8>; 1145 pinctrl-2 = <&sdmmc1_3v3_drv>; 1146 pinctrl-3 = <&sdmmc1_1v8_drv>; 1147 nvidia,pad-autocal-pull-up-offset-3v3 = <0x00>; 1148 nvidia,pad-autocal-pull-down-offset-3v3 = <0x7d>; 1149 nvidia,pad-autocal-pull-up-offset-1v8 = <0x7b>; 1150 nvidia,pad-autocal-pull-down-offset-1v8 = <0x7b>; 1151 nvidia,default-tap = <0x2>; 1152 nvidia,default-trim = <0x4>; 1153 assigned-clocks = <&tegra_car TEGRA210_CLK_SDMMC4>, 1154 <&tegra_car TEGRA210_CLK_PLL_C4_OUT0>, 1155 <&tegra_car TEGRA210_CLK_PLL_C4>; 1156 assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_C4_OUT0>; 1157 assigned-clock-rates = <200000000>, <1000000000>, <1000000000>; 1158 status = "disabled"; 1159 }; 1160 1161 sdhci@700b0200 { 1162 compatible = "nvidia,tegra210-sdhci", "nvidia,tegra124-sdhci"; 1163 reg = <0x0 0x700b0200 0x0 0x200>; 1164 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; 1165 clocks = <&tegra_car TEGRA210_CLK_SDMMC2>; 1166 clock-names = "sdhci"; 1167 resets = <&tegra_car 9>; 1168 reset-names = "sdhci"; 1169 pinctrl-names = "sdmmc-1v8-drv"; 1170 pinctrl-0 = <&sdmmc2_1v8_drv>; 1171 nvidia,pad-autocal-pull-up-offset-1v8 = <0x05>; 1172 nvidia,pad-autocal-pull-down-offset-1v8 = <0x05>; 1173 nvidia,default-tap = <0x8>; 1174 nvidia,default-trim = <0x0>; 1175 status = "disabled"; 1176 }; 1177 1178 sdhci@700b0400 { 1179 compatible = "nvidia,tegra210-sdhci", "nvidia,tegra124-sdhci"; 1180 reg = <0x0 0x700b0400 0x0 0x200>; 1181 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; 1182 clocks = <&tegra_car TEGRA210_CLK_SDMMC3>; 1183 clock-names = "sdhci"; 1184 resets = <&tegra_car 69>; 1185 reset-names = "sdhci"; 1186 pinctrl-names = "sdmmc-3v3", "sdmmc-1v8", 1187 "sdmmc-3v3-drv", "sdmmc-1v8-drv"; 1188 pinctrl-0 = <&sdmmc3_3v3>; 1189 pinctrl-1 = <&sdmmc3_1v8>; 1190 pinctrl-2 = <&sdmmc3_3v3_drv>; 1191 pinctrl-3 = <&sdmmc3_1v8_drv>; 1192 nvidia,pad-autocal-pull-up-offset-3v3 = <0x00>; 1193 nvidia,pad-autocal-pull-down-offset-3v3 = <0x7d>; 1194 nvidia,pad-autocal-pull-up-offset-1v8 = <0x7b>; 1195 nvidia,pad-autocal-pull-down-offset-1v8 = <0x7b>; 1196 nvidia,default-tap = <0x3>; 1197 nvidia,default-trim = <0x3>; 1198 status = "disabled"; 1199 }; 1200 1201 sdhci@700b0600 { 1202 compatible = "nvidia,tegra210-sdhci", "nvidia,tegra124-sdhci"; 1203 reg = <0x0 0x700b0600 0x0 0x200>; 1204 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 1205 clocks = <&tegra_car TEGRA210_CLK_SDMMC4>; 1206 clock-names = "sdhci"; 1207 resets = <&tegra_car 15>; 1208 reset-names = "sdhci"; 1209 pinctrl-names = "sdmmc-3v3-drv", "sdmmc-1v8-drv"; 1210 pinctrl-0 = <&sdmmc4_1v8_drv>; 1211 pinctrl-1 = <&sdmmc4_1v8_drv>; 1212 nvidia,pad-autocal-pull-up-offset-1v8 = <0x05>; 1213 nvidia,pad-autocal-pull-down-offset-1v8 = <0x05>; 1214 nvidia,default-tap = <0x8>; 1215 nvidia,default-trim = <0x0>; 1216 assigned-clocks = <&tegra_car TEGRA210_CLK_SDMMC4>, 1217 <&tegra_car TEGRA210_CLK_PLL_C4_OUT0>; 1218 assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_C4_OUT0>; 1219 nvidia,dqs-trim = <40>; 1220 mmc-hs400-1_8v; 1221 status = "disabled"; 1222 }; 1223 1224 usb@700d0000 { 1225 compatible = "nvidia,tegra210-xudc"; 1226 reg = <0x0 0x700d0000 0x0 0x8000>, 1227 <0x0 0x700d8000 0x0 0x1000>, 1228 <0x0 0x700d9000 0x0 0x1000>; 1229 reg-names = "base", "fpci", "ipfs"; 1230 interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; 1231 clocks = <&tegra_car TEGRA210_CLK_XUSB_DEV>, 1232 <&tegra_car TEGRA210_CLK_XUSB_SS>, 1233 <&tegra_car TEGRA210_CLK_XUSB_SSP_SRC>, 1234 <&tegra_car TEGRA210_CLK_XUSB_FS_SRC>, 1235 <&tegra_car TEGRA210_CLK_XUSB_HS_SRC>; 1236 clock-names = "dev", "ss", "ss_src", "fs_src", "hs_src"; 1237 power-domains = <&pd_xusbdev>, <&pd_xusbss>; 1238 power-domain-names = "dev", "ss"; 1239 nvidia,xusb-padctl = <&padctl>; 1240 status = "disabled"; 1241 }; 1242 1243 mipi: mipi@700e3000 { 1244 compatible = "nvidia,tegra210-mipi"; 1245 reg = <0x0 0x700e3000 0x0 0x100>; 1246 clocks = <&tegra_car TEGRA210_CLK_MIPI_CAL>; 1247 clock-names = "mipi-cal"; 1248 power-domains = <&pd_sor>; 1249 #nvidia,mipi-calibrate-cells = <1>; 1250 }; 1251 1252 dfll: clock@70110000 { 1253 compatible = "nvidia,tegra210-dfll"; 1254 reg = <0 0x70110000 0 0x100>, /* DFLL control */ 1255 <0 0x70110000 0 0x100>, /* I2C output control */ 1256 <0 0x70110100 0 0x100>, /* Integrated I2C controller */ 1257 <0 0x70110200 0 0x100>; /* Look-up table RAM */ 1258 interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; 1259 clocks = <&tegra_car TEGRA210_CLK_DFLL_SOC>, 1260 <&tegra_car TEGRA210_CLK_DFLL_REF>, 1261 <&tegra_car TEGRA210_CLK_I2C5>; 1262 clock-names = "soc", "ref", "i2c"; 1263 resets = <&tegra_car TEGRA210_RST_DFLL_DVCO>; 1264 reset-names = "dvco"; 1265 #clock-cells = <0>; 1266 clock-output-names = "dfllCPU_out"; 1267 status = "disabled"; 1268 }; 1269 1270 aconnect@702c0000 { 1271 compatible = "nvidia,tegra210-aconnect"; 1272 clocks = <&tegra_car TEGRA210_CLK_APE>, 1273 <&tegra_car TEGRA210_CLK_APB2APE>; 1274 clock-names = "ape", "apb2ape"; 1275 power-domains = <&pd_audio>; 1276 #address-cells = <1>; 1277 #size-cells = <1>; 1278 ranges = <0x702c0000 0x0 0x702c0000 0x00040000>; 1279 status = "disabled"; 1280 1281 adma: dma@702e2000 { 1282 compatible = "nvidia,tegra210-adma"; 1283 reg = <0x702e2000 0x2000>; 1284 interrupt-parent = <&agic>; 1285 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>, 1286 <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>, 1287 <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>, 1288 <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>, 1289 <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>, 1290 <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>, 1291 <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>, 1292 <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>, 1293 <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>, 1294 <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>, 1295 <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>, 1296 <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>, 1297 <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>, 1298 <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>, 1299 <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>, 1300 <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>, 1301 <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, 1302 <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>, 1303 <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>, 1304 <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>, 1305 <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>, 1306 <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; 1307 #dma-cells = <1>; 1308 clocks = <&tegra_car TEGRA210_CLK_D_AUDIO>; 1309 clock-names = "d_audio"; 1310 status = "disabled"; 1311 }; 1312 1313 agic: agic@702f9000 { 1314 compatible = "nvidia,tegra210-agic"; 1315 #interrupt-cells = <3>; 1316 interrupt-controller; 1317 reg = <0x702f9000 0x1000>, 1318 <0x702fa000 0x2000>; 1319 interrupts = <GIC_SPI 102 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 1320 clocks = <&tegra_car TEGRA210_CLK_APE>; 1321 clock-names = "clk"; 1322 status = "disabled"; 1323 }; 1324 }; 1325 1326 spi@70410000 { 1327 compatible = "nvidia,tegra210-qspi"; 1328 reg = <0x0 0x70410000 0x0 0x1000>; 1329 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 1330 #address-cells = <1>; 1331 #size-cells = <0>; 1332 clocks = <&tegra_car TEGRA210_CLK_QSPI>; 1333 clock-names = "qspi"; 1334 resets = <&tegra_car 211>; 1335 reset-names = "qspi"; 1336 dmas = <&apbdma 5>, <&apbdma 5>; 1337 dma-names = "rx", "tx"; 1338 status = "disabled"; 1339 }; 1340 1341 usb@7d000000 { 1342 compatible = "nvidia,tegra210-ehci", "nvidia,tegra30-ehci", "usb-ehci"; 1343 reg = <0x0 0x7d000000 0x0 0x4000>; 1344 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 1345 phy_type = "utmi"; 1346 clocks = <&tegra_car TEGRA210_CLK_USBD>; 1347 clock-names = "usb"; 1348 resets = <&tegra_car 22>; 1349 reset-names = "usb"; 1350 nvidia,phy = <&phy1>; 1351 status = "disabled"; 1352 }; 1353 1354 phy1: usb-phy@7d000000 { 1355 compatible = "nvidia,tegra210-usb-phy", "nvidia,tegra30-usb-phy"; 1356 reg = <0x0 0x7d000000 0x0 0x4000>, 1357 <0x0 0x7d000000 0x0 0x4000>; 1358 phy_type = "utmi"; 1359 clocks = <&tegra_car TEGRA210_CLK_USBD>, 1360 <&tegra_car TEGRA210_CLK_PLL_U>, 1361 <&tegra_car TEGRA210_CLK_USBD>; 1362 clock-names = "reg", "pll_u", "utmi-pads"; 1363 resets = <&tegra_car 22>, <&tegra_car 22>; 1364 reset-names = "usb", "utmi-pads"; 1365 nvidia,hssync-start-delay = <0>; 1366 nvidia,idle-wait-delay = <17>; 1367 nvidia,elastic-limit = <16>; 1368 nvidia,term-range-adj = <6>; 1369 nvidia,xcvr-setup = <9>; 1370 nvidia,xcvr-lsfslew = <0>; 1371 nvidia,xcvr-lsrslew = <3>; 1372 nvidia,hssquelch-level = <2>; 1373 nvidia,hsdiscon-level = <5>; 1374 nvidia,xcvr-hsslew = <12>; 1375 nvidia,has-utmi-pad-registers; 1376 status = "disabled"; 1377 }; 1378 1379 usb@7d004000 { 1380 compatible = "nvidia,tegra210-ehci", "nvidia,tegra30-ehci", "usb-ehci"; 1381 reg = <0x0 0x7d004000 0x0 0x4000>; 1382 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; 1383 phy_type = "utmi"; 1384 clocks = <&tegra_car TEGRA210_CLK_USB2>; 1385 clock-names = "usb"; 1386 resets = <&tegra_car 58>; 1387 reset-names = "usb"; 1388 nvidia,phy = <&phy2>; 1389 status = "disabled"; 1390 }; 1391 1392 phy2: usb-phy@7d004000 { 1393 compatible = "nvidia,tegra210-usb-phy", "nvidia,tegra30-usb-phy"; 1394 reg = <0x0 0x7d004000 0x0 0x4000>, 1395 <0x0 0x7d000000 0x0 0x4000>; 1396 phy_type = "utmi"; 1397 clocks = <&tegra_car TEGRA210_CLK_USB2>, 1398 <&tegra_car TEGRA210_CLK_PLL_U>, 1399 <&tegra_car TEGRA210_CLK_USBD>; 1400 clock-names = "reg", "pll_u", "utmi-pads"; 1401 resets = <&tegra_car 58>, <&tegra_car 22>; 1402 reset-names = "usb", "utmi-pads"; 1403 nvidia,hssync-start-delay = <0>; 1404 nvidia,idle-wait-delay = <17>; 1405 nvidia,elastic-limit = <16>; 1406 nvidia,term-range-adj = <6>; 1407 nvidia,xcvr-setup = <9>; 1408 nvidia,xcvr-lsfslew = <0>; 1409 nvidia,xcvr-lsrslew = <3>; 1410 nvidia,hssquelch-level = <2>; 1411 nvidia,hsdiscon-level = <5>; 1412 nvidia,xcvr-hsslew = <12>; 1413 status = "disabled"; 1414 }; 1415 1416 cpus { 1417 #address-cells = <1>; 1418 #size-cells = <0>; 1419 1420 cpu@0 { 1421 device_type = "cpu"; 1422 compatible = "arm,cortex-a57"; 1423 reg = <0>; 1424 clocks = <&tegra_car TEGRA210_CLK_CCLK_G>, 1425 <&tegra_car TEGRA210_CLK_PLL_X>, 1426 <&tegra_car TEGRA210_CLK_PLL_P_OUT4>, 1427 <&dfll>; 1428 clock-names = "cpu_g", "pll_x", "pll_p", "dfll"; 1429 clock-latency = <300000>; 1430 cpu-idle-states = <&CPU_SLEEP>; 1431 next-level-cache = <&L2>; 1432 }; 1433 1434 cpu@1 { 1435 device_type = "cpu"; 1436 compatible = "arm,cortex-a57"; 1437 reg = <1>; 1438 cpu-idle-states = <&CPU_SLEEP>; 1439 next-level-cache = <&L2>; 1440 }; 1441 1442 cpu@2 { 1443 device_type = "cpu"; 1444 compatible = "arm,cortex-a57"; 1445 reg = <2>; 1446 cpu-idle-states = <&CPU_SLEEP>; 1447 next-level-cache = <&L2>; 1448 }; 1449 1450 cpu@3 { 1451 device_type = "cpu"; 1452 compatible = "arm,cortex-a57"; 1453 reg = <3>; 1454 cpu-idle-states = <&CPU_SLEEP>; 1455 next-level-cache = <&L2>; 1456 }; 1457 1458 idle-states { 1459 entry-method = "psci"; 1460 1461 CPU_SLEEP: cpu-sleep { 1462 compatible = "arm,idle-state"; 1463 arm,psci-suspend-param = <0x40000007>; 1464 entry-latency-us = <100>; 1465 exit-latency-us = <30>; 1466 min-residency-us = <1000>; 1467 wakeup-latency-us = <130>; 1468 idle-state-name = "cpu-sleep"; 1469 status = "disabled"; 1470 }; 1471 }; 1472 1473 L2: l2-cache { 1474 compatible = "cache"; 1475 }; 1476 }; 1477 1478 pmu { 1479 compatible = "arm,armv8-pmuv3"; 1480 interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>, 1481 <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>, 1482 <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>, 1483 <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>; 1484 interrupt-affinity = <&{/cpus/cpu@0} &{/cpus/cpu@1} 1485 &{/cpus/cpu@2} &{/cpus/cpu@3}>; 1486 }; 1487 1488 timer { 1489 compatible = "arm,armv8-timer"; 1490 interrupts = <GIC_PPI 13 1491 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 1492 <GIC_PPI 14 1493 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 1494 <GIC_PPI 11 1495 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 1496 <GIC_PPI 10 1497 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 1498 interrupt-parent = <&gic>; 1499 arm,no-tick-in-suspend; 1500 }; 1501 1502 soctherm: thermal-sensor@700e2000 { 1503 compatible = "nvidia,tegra210-soctherm"; 1504 reg = <0x0 0x700e2000 0x0 0x600 /* SOC_THERM reg_base */ 1505 0x0 0x60006000 0x0 0x400>; /* CAR reg_base */ 1506 reg-names = "soctherm-reg", "car-reg"; 1507 interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>, 1508 <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; 1509 interrupt-names = "thermal", "edp"; 1510 clocks = <&tegra_car TEGRA210_CLK_TSENSOR>, 1511 <&tegra_car TEGRA210_CLK_SOC_THERM>; 1512 clock-names = "tsensor", "soctherm"; 1513 resets = <&tegra_car 78>; 1514 reset-names = "soctherm"; 1515 #thermal-sensor-cells = <1>; 1516 1517 throttle-cfgs { 1518 throttle_heavy: heavy { 1519 nvidia,priority = <100>; 1520 nvidia,cpu-throt-percent = <85>; 1521 1522 #cooling-cells = <2>; 1523 }; 1524 }; 1525 }; 1526 1527 thermal-zones { 1528 cpu { 1529 polling-delay-passive = <1000>; 1530 polling-delay = <0>; 1531 1532 thermal-sensors = 1533 <&soctherm TEGRA124_SOCTHERM_SENSOR_CPU>; 1534 1535 trips { 1536 cpu-shutdown-trip { 1537 temperature = <102500>; 1538 hysteresis = <0>; 1539 type = "critical"; 1540 }; 1541 1542 cpu_throttle_trip: throttle-trip { 1543 temperature = <98500>; 1544 hysteresis = <1000>; 1545 type = "hot"; 1546 }; 1547 }; 1548 1549 cooling-maps { 1550 map0 { 1551 trip = <&cpu_throttle_trip>; 1552 cooling-device = <&throttle_heavy 1 1>; 1553 }; 1554 }; 1555 }; 1556 1557 mem { 1558 polling-delay-passive = <0>; 1559 polling-delay = <0>; 1560 1561 thermal-sensors = 1562 <&soctherm TEGRA124_SOCTHERM_SENSOR_MEM>; 1563 1564 trips { 1565 dram_nominal: mem-nominal-trip { 1566 temperature = <50000>; 1567 hysteresis = <1000>; 1568 type = "passive"; 1569 }; 1570 1571 dram_throttle: mem-throttle-trip { 1572 temperature = <70000>; 1573 hysteresis = <1000>; 1574 type = "active"; 1575 }; 1576 1577 mem-shutdown-trip { 1578 temperature = <103000>; 1579 hysteresis = <0>; 1580 type = "critical"; 1581 }; 1582 }; 1583 1584 cooling-maps { 1585 dram-passive { 1586 cooling-device = <&emc 0 0>; 1587 trip = <&dram_nominal>; 1588 }; 1589 1590 dram-active { 1591 cooling-device = <&emc 1 1>; 1592 trip = <&dram_throttle>; 1593 }; 1594 }; 1595 }; 1596 1597 gpu { 1598 polling-delay-passive = <1000>; 1599 polling-delay = <0>; 1600 1601 thermal-sensors = 1602 <&soctherm TEGRA124_SOCTHERM_SENSOR_GPU>; 1603 1604 trips { 1605 gpu-shutdown-trip { 1606 temperature = <103000>; 1607 hysteresis = <0>; 1608 type = "critical"; 1609 }; 1610 1611 gpu_throttle_trip: throttle-trip { 1612 temperature = <100000>; 1613 hysteresis = <1000>; 1614 type = "hot"; 1615 }; 1616 }; 1617 1618 cooling-maps { 1619 map0 { 1620 trip = <&gpu_throttle_trip>; 1621 cooling-device = <&throttle_heavy 1 1>; 1622 }; 1623 }; 1624 }; 1625 1626 pllx { 1627 polling-delay-passive = <0>; 1628 polling-delay = <0>; 1629 1630 thermal-sensors = 1631 <&soctherm TEGRA124_SOCTHERM_SENSOR_PLLX>; 1632 1633 trips { 1634 pllx-shutdown-trip { 1635 temperature = <103000>; 1636 hysteresis = <0>; 1637 type = "critical"; 1638 }; 1639 }; 1640 1641 cooling-maps { 1642 /* 1643 * There are currently no cooling maps, 1644 * because there are no cooling devices. 1645 */ 1646 }; 1647 }; 1648 }; 1649}; 1650