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_CILAB>, 800 <&tegra_car TEGRA210_CLK_CILCD>, 801 <&tegra_car TEGRA210_CLK_CILE>, 802 <&tegra_car TEGRA210_CLK_DSIA>, 803 <&tegra_car TEGRA210_CLK_DSIB>, 804 <&tegra_car TEGRA210_CLK_DPAUX>, 805 <&tegra_car TEGRA210_CLK_DPAUX1>, 806 <&tegra_car TEGRA210_CLK_MIPI_CAL>; 807 resets = <&tegra_car TEGRA210_CLK_SOR0>, 808 <&tegra_car TEGRA210_CLK_SOR1>, 809 <&tegra_car TEGRA210_CLK_DSIA>, 810 <&tegra_car TEGRA210_CLK_DSIB>, 811 <&tegra_car TEGRA210_CLK_DPAUX>, 812 <&tegra_car TEGRA210_CLK_DPAUX1>, 813 <&tegra_car TEGRA210_CLK_MIPI_CAL>; 814 #power-domain-cells = <0>; 815 }; 816 817 pd_xusbss: xusba { 818 clocks = <&tegra_car TEGRA210_CLK_XUSB_SS>; 819 resets = <&tegra_car TEGRA210_CLK_XUSB_SS>; 820 #power-domain-cells = <0>; 821 }; 822 823 pd_xusbdev: xusbb { 824 clocks = <&tegra_car TEGRA210_CLK_XUSB_DEV>; 825 resets = <&tegra_car 95>; 826 #power-domain-cells = <0>; 827 }; 828 829 pd_xusbhost: xusbc { 830 clocks = <&tegra_car TEGRA210_CLK_XUSB_HOST>; 831 resets = <&tegra_car TEGRA210_CLK_XUSB_HOST>; 832 #power-domain-cells = <0>; 833 }; 834 835 pd_vic: vic { 836 clocks = <&tegra_car TEGRA210_CLK_VIC03>; 837 clock-names = "vic"; 838 resets = <&tegra_car 178>; 839 reset-names = "vic"; 840 #power-domain-cells = <0>; 841 }; 842 }; 843 844 sdmmc1_3v3: sdmmc1-3v3 { 845 pins = "sdmmc1"; 846 power-source = <TEGRA_IO_PAD_VOLTAGE_3V3>; 847 }; 848 849 sdmmc1_1v8: sdmmc1-1v8 { 850 pins = "sdmmc1"; 851 power-source = <TEGRA_IO_PAD_VOLTAGE_1V8>; 852 }; 853 854 sdmmc3_3v3: sdmmc3-3v3 { 855 pins = "sdmmc3"; 856 power-source = <TEGRA_IO_PAD_VOLTAGE_3V3>; 857 }; 858 859 sdmmc3_1v8: sdmmc3-1v8 { 860 pins = "sdmmc3"; 861 power-source = <TEGRA_IO_PAD_VOLTAGE_1V8>; 862 }; 863 864 pex_dpd_disable: pex_en { 865 pex-dpd-disable { 866 pins = "pex-bias", "pex-clk1", "pex-clk2"; 867 low-power-disable; 868 }; 869 }; 870 871 pex_dpd_enable: pex_dis { 872 pex-dpd-enable { 873 pins = "pex-bias", "pex-clk1", "pex-clk2"; 874 low-power-enable; 875 }; 876 }; 877 }; 878 879 fuse@7000f800 { 880 compatible = "nvidia,tegra210-efuse"; 881 reg = <0x0 0x7000f800 0x0 0x400>; 882 clocks = <&tegra_car TEGRA210_CLK_FUSE>; 883 clock-names = "fuse"; 884 resets = <&tegra_car 39>; 885 reset-names = "fuse"; 886 }; 887 888 mc: memory-controller@70019000 { 889 compatible = "nvidia,tegra210-mc"; 890 reg = <0x0 0x70019000 0x0 0x1000>; 891 clocks = <&tegra_car TEGRA210_CLK_MC>; 892 clock-names = "mc"; 893 894 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; 895 896 #iommu-cells = <1>; 897 }; 898 899 emc: external-memory-controller@7001b000 { 900 compatible = "nvidia,tegra210-emc"; 901 reg = <0x0 0x7001b000 0x0 0x1000>, 902 <0x0 0x7001e000 0x0 0x1000>, 903 <0x0 0x7001f000 0x0 0x1000>; 904 clocks = <&tegra_car TEGRA210_CLK_EMC>; 905 clock-names = "emc"; 906 interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>; 907 nvidia,memory-controller = <&mc>; 908 #cooling-cells = <2>; 909 }; 910 911 sata@70020000 { 912 compatible = "nvidia,tegra210-ahci"; 913 reg = <0x0 0x70027000 0x0 0x2000>, /* AHCI */ 914 <0x0 0x70020000 0x0 0x7000>, /* SATA */ 915 <0x0 0x70001100 0x0 0x1000>; /* SATA AUX */ 916 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 917 clocks = <&tegra_car TEGRA210_CLK_SATA>, 918 <&tegra_car TEGRA210_CLK_SATA_OOB>; 919 clock-names = "sata", "sata-oob"; 920 resets = <&tegra_car 124>, 921 <&tegra_car 123>, 922 <&tegra_car 129>; 923 reset-names = "sata", "sata-oob", "sata-cold"; 924 status = "disabled"; 925 }; 926 927 hda@70030000 { 928 compatible = "nvidia,tegra210-hda", "nvidia,tegra30-hda"; 929 reg = <0x0 0x70030000 0x0 0x10000>; 930 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; 931 clocks = <&tegra_car TEGRA210_CLK_HDA>, 932 <&tegra_car TEGRA210_CLK_HDA2HDMI>, 933 <&tegra_car TEGRA210_CLK_HDA2CODEC_2X>; 934 clock-names = "hda", "hda2hdmi", "hda2codec_2x"; 935 resets = <&tegra_car 125>, /* hda */ 936 <&tegra_car 128>, /* hda2hdmi */ 937 <&tegra_car 111>; /* hda2codec_2x */ 938 reset-names = "hda", "hda2hdmi", "hda2codec_2x"; 939 status = "disabled"; 940 }; 941 942 usb@70090000 { 943 compatible = "nvidia,tegra210-xusb"; 944 reg = <0x0 0x70090000 0x0 0x8000>, 945 <0x0 0x70098000 0x0 0x1000>, 946 <0x0 0x70099000 0x0 0x1000>; 947 reg-names = "hcd", "fpci", "ipfs"; 948 949 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>, 950 <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 951 952 clocks = <&tegra_car TEGRA210_CLK_XUSB_HOST>, 953 <&tegra_car TEGRA210_CLK_XUSB_HOST_SRC>, 954 <&tegra_car TEGRA210_CLK_XUSB_FALCON_SRC>, 955 <&tegra_car TEGRA210_CLK_XUSB_SS>, 956 <&tegra_car TEGRA210_CLK_XUSB_SS_DIV2>, 957 <&tegra_car TEGRA210_CLK_XUSB_SS_SRC>, 958 <&tegra_car TEGRA210_CLK_XUSB_HS_SRC>, 959 <&tegra_car TEGRA210_CLK_XUSB_FS_SRC>, 960 <&tegra_car TEGRA210_CLK_PLL_U_480M>, 961 <&tegra_car TEGRA210_CLK_CLK_M>, 962 <&tegra_car TEGRA210_CLK_PLL_E>; 963 clock-names = "xusb_host", "xusb_host_src", 964 "xusb_falcon_src", "xusb_ss", 965 "xusb_ss_div2", "xusb_ss_src", 966 "xusb_hs_src", "xusb_fs_src", 967 "pll_u_480m", "clk_m", "pll_e"; 968 resets = <&tegra_car 89>, <&tegra_car 156>, 969 <&tegra_car 143>; 970 reset-names = "xusb_host", "xusb_ss", "xusb_src"; 971 power-domains = <&pd_xusbhost>, <&pd_xusbss>; 972 power-domain-names = "xusb_host", "xusb_ss"; 973 974 nvidia,xusb-padctl = <&padctl>; 975 976 status = "disabled"; 977 }; 978 979 padctl: padctl@7009f000 { 980 compatible = "nvidia,tegra210-xusb-padctl"; 981 reg = <0x0 0x7009f000 0x0 0x1000>; 982 resets = <&tegra_car 142>; 983 reset-names = "padctl"; 984 985 status = "disabled"; 986 987 pads { 988 usb2 { 989 clocks = <&tegra_car TEGRA210_CLK_USB2_TRK>; 990 clock-names = "trk"; 991 status = "disabled"; 992 993 lanes { 994 usb2-0 { 995 status = "disabled"; 996 #phy-cells = <0>; 997 }; 998 999 usb2-1 { 1000 status = "disabled"; 1001 #phy-cells = <0>; 1002 }; 1003 1004 usb2-2 { 1005 status = "disabled"; 1006 #phy-cells = <0>; 1007 }; 1008 1009 usb2-3 { 1010 status = "disabled"; 1011 #phy-cells = <0>; 1012 }; 1013 }; 1014 }; 1015 1016 hsic { 1017 clocks = <&tegra_car TEGRA210_CLK_HSIC_TRK>; 1018 clock-names = "trk"; 1019 status = "disabled"; 1020 1021 lanes { 1022 hsic-0 { 1023 status = "disabled"; 1024 #phy-cells = <0>; 1025 }; 1026 1027 hsic-1 { 1028 status = "disabled"; 1029 #phy-cells = <0>; 1030 }; 1031 }; 1032 }; 1033 1034 pcie { 1035 clocks = <&tegra_car TEGRA210_CLK_PLL_E>; 1036 clock-names = "pll"; 1037 resets = <&tegra_car 205>; 1038 reset-names = "phy"; 1039 status = "disabled"; 1040 1041 lanes { 1042 pcie-0 { 1043 status = "disabled"; 1044 #phy-cells = <0>; 1045 }; 1046 1047 pcie-1 { 1048 status = "disabled"; 1049 #phy-cells = <0>; 1050 }; 1051 1052 pcie-2 { 1053 status = "disabled"; 1054 #phy-cells = <0>; 1055 }; 1056 1057 pcie-3 { 1058 status = "disabled"; 1059 #phy-cells = <0>; 1060 }; 1061 1062 pcie-4 { 1063 status = "disabled"; 1064 #phy-cells = <0>; 1065 }; 1066 1067 pcie-5 { 1068 status = "disabled"; 1069 #phy-cells = <0>; 1070 }; 1071 1072 pcie-6 { 1073 status = "disabled"; 1074 #phy-cells = <0>; 1075 }; 1076 }; 1077 }; 1078 1079 sata { 1080 clocks = <&tegra_car TEGRA210_CLK_PLL_E>; 1081 clock-names = "pll"; 1082 resets = <&tegra_car 204>; 1083 reset-names = "phy"; 1084 status = "disabled"; 1085 1086 lanes { 1087 sata-0 { 1088 status = "disabled"; 1089 #phy-cells = <0>; 1090 }; 1091 }; 1092 }; 1093 }; 1094 1095 ports { 1096 usb2-0 { 1097 status = "disabled"; 1098 }; 1099 1100 usb2-1 { 1101 status = "disabled"; 1102 }; 1103 1104 usb2-2 { 1105 status = "disabled"; 1106 }; 1107 1108 usb2-3 { 1109 status = "disabled"; 1110 }; 1111 1112 hsic-0 { 1113 status = "disabled"; 1114 }; 1115 1116 usb3-0 { 1117 status = "disabled"; 1118 }; 1119 1120 usb3-1 { 1121 status = "disabled"; 1122 }; 1123 1124 usb3-2 { 1125 status = "disabled"; 1126 }; 1127 1128 usb3-3 { 1129 status = "disabled"; 1130 }; 1131 }; 1132 }; 1133 1134 sdhci@700b0000 { 1135 compatible = "nvidia,tegra210-sdhci", "nvidia,tegra124-sdhci"; 1136 reg = <0x0 0x700b0000 0x0 0x200>; 1137 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 1138 clocks = <&tegra_car TEGRA210_CLK_SDMMC1>; 1139 clock-names = "sdhci"; 1140 resets = <&tegra_car 14>; 1141 reset-names = "sdhci"; 1142 pinctrl-names = "sdmmc-3v3", "sdmmc-1v8", 1143 "sdmmc-3v3-drv", "sdmmc-1v8-drv"; 1144 pinctrl-0 = <&sdmmc1_3v3>; 1145 pinctrl-1 = <&sdmmc1_1v8>; 1146 pinctrl-2 = <&sdmmc1_3v3_drv>; 1147 pinctrl-3 = <&sdmmc1_1v8_drv>; 1148 nvidia,pad-autocal-pull-up-offset-3v3 = <0x00>; 1149 nvidia,pad-autocal-pull-down-offset-3v3 = <0x7d>; 1150 nvidia,pad-autocal-pull-up-offset-1v8 = <0x7b>; 1151 nvidia,pad-autocal-pull-down-offset-1v8 = <0x7b>; 1152 nvidia,default-tap = <0x2>; 1153 nvidia,default-trim = <0x4>; 1154 assigned-clocks = <&tegra_car TEGRA210_CLK_SDMMC4>, 1155 <&tegra_car TEGRA210_CLK_PLL_C4_OUT0>, 1156 <&tegra_car TEGRA210_CLK_PLL_C4>; 1157 assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_C4_OUT0>; 1158 assigned-clock-rates = <200000000>, <1000000000>, <1000000000>; 1159 status = "disabled"; 1160 }; 1161 1162 sdhci@700b0200 { 1163 compatible = "nvidia,tegra210-sdhci", "nvidia,tegra124-sdhci"; 1164 reg = <0x0 0x700b0200 0x0 0x200>; 1165 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; 1166 clocks = <&tegra_car TEGRA210_CLK_SDMMC2>; 1167 clock-names = "sdhci"; 1168 resets = <&tegra_car 9>; 1169 reset-names = "sdhci"; 1170 pinctrl-names = "sdmmc-1v8-drv"; 1171 pinctrl-0 = <&sdmmc2_1v8_drv>; 1172 nvidia,pad-autocal-pull-up-offset-1v8 = <0x05>; 1173 nvidia,pad-autocal-pull-down-offset-1v8 = <0x05>; 1174 nvidia,default-tap = <0x8>; 1175 nvidia,default-trim = <0x0>; 1176 status = "disabled"; 1177 }; 1178 1179 sdhci@700b0400 { 1180 compatible = "nvidia,tegra210-sdhci", "nvidia,tegra124-sdhci"; 1181 reg = <0x0 0x700b0400 0x0 0x200>; 1182 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; 1183 clocks = <&tegra_car TEGRA210_CLK_SDMMC3>; 1184 clock-names = "sdhci"; 1185 resets = <&tegra_car 69>; 1186 reset-names = "sdhci"; 1187 pinctrl-names = "sdmmc-3v3", "sdmmc-1v8", 1188 "sdmmc-3v3-drv", "sdmmc-1v8-drv"; 1189 pinctrl-0 = <&sdmmc3_3v3>; 1190 pinctrl-1 = <&sdmmc3_1v8>; 1191 pinctrl-2 = <&sdmmc3_3v3_drv>; 1192 pinctrl-3 = <&sdmmc3_1v8_drv>; 1193 nvidia,pad-autocal-pull-up-offset-3v3 = <0x00>; 1194 nvidia,pad-autocal-pull-down-offset-3v3 = <0x7d>; 1195 nvidia,pad-autocal-pull-up-offset-1v8 = <0x7b>; 1196 nvidia,pad-autocal-pull-down-offset-1v8 = <0x7b>; 1197 nvidia,default-tap = <0x3>; 1198 nvidia,default-trim = <0x3>; 1199 status = "disabled"; 1200 }; 1201 1202 sdhci@700b0600 { 1203 compatible = "nvidia,tegra210-sdhci", "nvidia,tegra124-sdhci"; 1204 reg = <0x0 0x700b0600 0x0 0x200>; 1205 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 1206 clocks = <&tegra_car TEGRA210_CLK_SDMMC4>; 1207 clock-names = "sdhci"; 1208 resets = <&tegra_car 15>; 1209 reset-names = "sdhci"; 1210 pinctrl-names = "sdmmc-3v3-drv", "sdmmc-1v8-drv"; 1211 pinctrl-0 = <&sdmmc4_1v8_drv>; 1212 pinctrl-1 = <&sdmmc4_1v8_drv>; 1213 nvidia,pad-autocal-pull-up-offset-1v8 = <0x05>; 1214 nvidia,pad-autocal-pull-down-offset-1v8 = <0x05>; 1215 nvidia,default-tap = <0x8>; 1216 nvidia,default-trim = <0x0>; 1217 assigned-clocks = <&tegra_car TEGRA210_CLK_SDMMC4>, 1218 <&tegra_car TEGRA210_CLK_PLL_C4_OUT0>; 1219 assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_C4_OUT0>; 1220 nvidia,dqs-trim = <40>; 1221 mmc-hs400-1_8v; 1222 status = "disabled"; 1223 }; 1224 1225 usb@700d0000 { 1226 compatible = "nvidia,tegra210-xudc"; 1227 reg = <0x0 0x700d0000 0x0 0x8000>, 1228 <0x0 0x700d8000 0x0 0x1000>, 1229 <0x0 0x700d9000 0x0 0x1000>; 1230 reg-names = "base", "fpci", "ipfs"; 1231 interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; 1232 clocks = <&tegra_car TEGRA210_CLK_XUSB_DEV>, 1233 <&tegra_car TEGRA210_CLK_XUSB_SS>, 1234 <&tegra_car TEGRA210_CLK_XUSB_SSP_SRC>, 1235 <&tegra_car TEGRA210_CLK_XUSB_FS_SRC>, 1236 <&tegra_car TEGRA210_CLK_XUSB_HS_SRC>; 1237 clock-names = "dev", "ss", "ss_src", "fs_src", "hs_src"; 1238 power-domains = <&pd_xusbdev>, <&pd_xusbss>; 1239 power-domain-names = "dev", "ss"; 1240 nvidia,xusb-padctl = <&padctl>; 1241 status = "disabled"; 1242 }; 1243 1244 mipi: mipi@700e3000 { 1245 compatible = "nvidia,tegra210-mipi"; 1246 reg = <0x0 0x700e3000 0x0 0x100>; 1247 clocks = <&tegra_car TEGRA210_CLK_MIPI_CAL>; 1248 clock-names = "mipi-cal"; 1249 power-domains = <&pd_sor>; 1250 #nvidia,mipi-calibrate-cells = <1>; 1251 }; 1252 1253 dfll: clock@70110000 { 1254 compatible = "nvidia,tegra210-dfll"; 1255 reg = <0 0x70110000 0 0x100>, /* DFLL control */ 1256 <0 0x70110000 0 0x100>, /* I2C output control */ 1257 <0 0x70110100 0 0x100>, /* Integrated I2C controller */ 1258 <0 0x70110200 0 0x100>; /* Look-up table RAM */ 1259 interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; 1260 clocks = <&tegra_car TEGRA210_CLK_DFLL_SOC>, 1261 <&tegra_car TEGRA210_CLK_DFLL_REF>, 1262 <&tegra_car TEGRA210_CLK_I2C5>; 1263 clock-names = "soc", "ref", "i2c"; 1264 resets = <&tegra_car TEGRA210_RST_DFLL_DVCO>; 1265 reset-names = "dvco"; 1266 #clock-cells = <0>; 1267 clock-output-names = "dfllCPU_out"; 1268 status = "disabled"; 1269 }; 1270 1271 aconnect@702c0000 { 1272 compatible = "nvidia,tegra210-aconnect"; 1273 clocks = <&tegra_car TEGRA210_CLK_APE>, 1274 <&tegra_car TEGRA210_CLK_APB2APE>; 1275 clock-names = "ape", "apb2ape"; 1276 power-domains = <&pd_audio>; 1277 #address-cells = <1>; 1278 #size-cells = <1>; 1279 ranges = <0x702c0000 0x0 0x702c0000 0x00040000>; 1280 status = "disabled"; 1281 1282 adma: dma@702e2000 { 1283 compatible = "nvidia,tegra210-adma"; 1284 reg = <0x702e2000 0x2000>; 1285 interrupt-parent = <&agic>; 1286 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>, 1287 <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>, 1288 <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>, 1289 <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>, 1290 <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>, 1291 <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>, 1292 <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>, 1293 <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>, 1294 <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>, 1295 <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>, 1296 <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>, 1297 <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>, 1298 <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>, 1299 <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>, 1300 <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>, 1301 <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>, 1302 <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, 1303 <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>, 1304 <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>, 1305 <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>, 1306 <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>, 1307 <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; 1308 #dma-cells = <1>; 1309 clocks = <&tegra_car TEGRA210_CLK_D_AUDIO>; 1310 clock-names = "d_audio"; 1311 status = "disabled"; 1312 }; 1313 1314 agic: agic@702f9000 { 1315 compatible = "nvidia,tegra210-agic"; 1316 #interrupt-cells = <3>; 1317 interrupt-controller; 1318 reg = <0x702f9000 0x1000>, 1319 <0x702fa000 0x2000>; 1320 interrupts = <GIC_SPI 102 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 1321 clocks = <&tegra_car TEGRA210_CLK_APE>; 1322 clock-names = "clk"; 1323 status = "disabled"; 1324 }; 1325 }; 1326 1327 spi@70410000 { 1328 compatible = "nvidia,tegra210-qspi"; 1329 reg = <0x0 0x70410000 0x0 0x1000>; 1330 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 1331 #address-cells = <1>; 1332 #size-cells = <0>; 1333 clocks = <&tegra_car TEGRA210_CLK_QSPI>; 1334 clock-names = "qspi"; 1335 resets = <&tegra_car 211>; 1336 reset-names = "qspi"; 1337 dmas = <&apbdma 5>, <&apbdma 5>; 1338 dma-names = "rx", "tx"; 1339 status = "disabled"; 1340 }; 1341 1342 usb@7d000000 { 1343 compatible = "nvidia,tegra210-ehci", "nvidia,tegra30-ehci", "usb-ehci"; 1344 reg = <0x0 0x7d000000 0x0 0x4000>; 1345 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 1346 phy_type = "utmi"; 1347 clocks = <&tegra_car TEGRA210_CLK_USBD>; 1348 clock-names = "usb"; 1349 resets = <&tegra_car 22>; 1350 reset-names = "usb"; 1351 nvidia,phy = <&phy1>; 1352 status = "disabled"; 1353 }; 1354 1355 phy1: usb-phy@7d000000 { 1356 compatible = "nvidia,tegra210-usb-phy", "nvidia,tegra30-usb-phy"; 1357 reg = <0x0 0x7d000000 0x0 0x4000>, 1358 <0x0 0x7d000000 0x0 0x4000>; 1359 phy_type = "utmi"; 1360 clocks = <&tegra_car TEGRA210_CLK_USBD>, 1361 <&tegra_car TEGRA210_CLK_PLL_U>, 1362 <&tegra_car TEGRA210_CLK_USBD>; 1363 clock-names = "reg", "pll_u", "utmi-pads"; 1364 resets = <&tegra_car 22>, <&tegra_car 22>; 1365 reset-names = "usb", "utmi-pads"; 1366 nvidia,hssync-start-delay = <0>; 1367 nvidia,idle-wait-delay = <17>; 1368 nvidia,elastic-limit = <16>; 1369 nvidia,term-range-adj = <6>; 1370 nvidia,xcvr-setup = <9>; 1371 nvidia,xcvr-lsfslew = <0>; 1372 nvidia,xcvr-lsrslew = <3>; 1373 nvidia,hssquelch-level = <2>; 1374 nvidia,hsdiscon-level = <5>; 1375 nvidia,xcvr-hsslew = <12>; 1376 nvidia,has-utmi-pad-registers; 1377 status = "disabled"; 1378 }; 1379 1380 usb@7d004000 { 1381 compatible = "nvidia,tegra210-ehci", "nvidia,tegra30-ehci", "usb-ehci"; 1382 reg = <0x0 0x7d004000 0x0 0x4000>; 1383 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; 1384 phy_type = "utmi"; 1385 clocks = <&tegra_car TEGRA210_CLK_USB2>; 1386 clock-names = "usb"; 1387 resets = <&tegra_car 58>; 1388 reset-names = "usb"; 1389 nvidia,phy = <&phy2>; 1390 status = "disabled"; 1391 }; 1392 1393 phy2: usb-phy@7d004000 { 1394 compatible = "nvidia,tegra210-usb-phy", "nvidia,tegra30-usb-phy"; 1395 reg = <0x0 0x7d004000 0x0 0x4000>, 1396 <0x0 0x7d000000 0x0 0x4000>; 1397 phy_type = "utmi"; 1398 clocks = <&tegra_car TEGRA210_CLK_USB2>, 1399 <&tegra_car TEGRA210_CLK_PLL_U>, 1400 <&tegra_car TEGRA210_CLK_USBD>; 1401 clock-names = "reg", "pll_u", "utmi-pads"; 1402 resets = <&tegra_car 58>, <&tegra_car 22>; 1403 reset-names = "usb", "utmi-pads"; 1404 nvidia,hssync-start-delay = <0>; 1405 nvidia,idle-wait-delay = <17>; 1406 nvidia,elastic-limit = <16>; 1407 nvidia,term-range-adj = <6>; 1408 nvidia,xcvr-setup = <9>; 1409 nvidia,xcvr-lsfslew = <0>; 1410 nvidia,xcvr-lsrslew = <3>; 1411 nvidia,hssquelch-level = <2>; 1412 nvidia,hsdiscon-level = <5>; 1413 nvidia,xcvr-hsslew = <12>; 1414 status = "disabled"; 1415 }; 1416 1417 cpus { 1418 #address-cells = <1>; 1419 #size-cells = <0>; 1420 1421 cpu@0 { 1422 device_type = "cpu"; 1423 compatible = "arm,cortex-a57"; 1424 reg = <0>; 1425 clocks = <&tegra_car TEGRA210_CLK_CCLK_G>, 1426 <&tegra_car TEGRA210_CLK_PLL_X>, 1427 <&tegra_car TEGRA210_CLK_PLL_P_OUT4>, 1428 <&dfll>; 1429 clock-names = "cpu_g", "pll_x", "pll_p", "dfll"; 1430 clock-latency = <300000>; 1431 cpu-idle-states = <&CPU_SLEEP>; 1432 next-level-cache = <&L2>; 1433 }; 1434 1435 cpu@1 { 1436 device_type = "cpu"; 1437 compatible = "arm,cortex-a57"; 1438 reg = <1>; 1439 cpu-idle-states = <&CPU_SLEEP>; 1440 next-level-cache = <&L2>; 1441 }; 1442 1443 cpu@2 { 1444 device_type = "cpu"; 1445 compatible = "arm,cortex-a57"; 1446 reg = <2>; 1447 cpu-idle-states = <&CPU_SLEEP>; 1448 next-level-cache = <&L2>; 1449 }; 1450 1451 cpu@3 { 1452 device_type = "cpu"; 1453 compatible = "arm,cortex-a57"; 1454 reg = <3>; 1455 cpu-idle-states = <&CPU_SLEEP>; 1456 next-level-cache = <&L2>; 1457 }; 1458 1459 idle-states { 1460 entry-method = "psci"; 1461 1462 CPU_SLEEP: cpu-sleep { 1463 compatible = "arm,idle-state"; 1464 arm,psci-suspend-param = <0x40000007>; 1465 entry-latency-us = <100>; 1466 exit-latency-us = <30>; 1467 min-residency-us = <1000>; 1468 wakeup-latency-us = <130>; 1469 idle-state-name = "cpu-sleep"; 1470 status = "disabled"; 1471 }; 1472 }; 1473 1474 L2: l2-cache { 1475 compatible = "cache"; 1476 }; 1477 }; 1478 1479 pmu { 1480 compatible = "arm,armv8-pmuv3"; 1481 interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>, 1482 <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>, 1483 <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>, 1484 <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>; 1485 interrupt-affinity = <&{/cpus/cpu@0} &{/cpus/cpu@1} 1486 &{/cpus/cpu@2} &{/cpus/cpu@3}>; 1487 }; 1488 1489 timer { 1490 compatible = "arm,armv8-timer"; 1491 interrupts = <GIC_PPI 13 1492 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 1493 <GIC_PPI 14 1494 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 1495 <GIC_PPI 11 1496 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 1497 <GIC_PPI 10 1498 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 1499 interrupt-parent = <&gic>; 1500 arm,no-tick-in-suspend; 1501 }; 1502 1503 soctherm: thermal-sensor@700e2000 { 1504 compatible = "nvidia,tegra210-soctherm"; 1505 reg = <0x0 0x700e2000 0x0 0x600 /* SOC_THERM reg_base */ 1506 0x0 0x60006000 0x0 0x400>; /* CAR reg_base */ 1507 reg-names = "soctherm-reg", "car-reg"; 1508 interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>, 1509 <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; 1510 interrupt-names = "thermal", "edp"; 1511 clocks = <&tegra_car TEGRA210_CLK_TSENSOR>, 1512 <&tegra_car TEGRA210_CLK_SOC_THERM>; 1513 clock-names = "tsensor", "soctherm"; 1514 resets = <&tegra_car 78>; 1515 reset-names = "soctherm"; 1516 #thermal-sensor-cells = <1>; 1517 1518 throttle-cfgs { 1519 throttle_heavy: heavy { 1520 nvidia,priority = <100>; 1521 nvidia,cpu-throt-percent = <85>; 1522 1523 #cooling-cells = <2>; 1524 }; 1525 }; 1526 }; 1527 1528 thermal-zones { 1529 cpu { 1530 polling-delay-passive = <1000>; 1531 polling-delay = <0>; 1532 1533 thermal-sensors = 1534 <&soctherm TEGRA124_SOCTHERM_SENSOR_CPU>; 1535 1536 trips { 1537 cpu-shutdown-trip { 1538 temperature = <102500>; 1539 hysteresis = <0>; 1540 type = "critical"; 1541 }; 1542 1543 cpu_throttle_trip: throttle-trip { 1544 temperature = <98500>; 1545 hysteresis = <1000>; 1546 type = "hot"; 1547 }; 1548 }; 1549 1550 cooling-maps { 1551 map0 { 1552 trip = <&cpu_throttle_trip>; 1553 cooling-device = <&throttle_heavy 1 1>; 1554 }; 1555 }; 1556 }; 1557 1558 mem { 1559 polling-delay-passive = <0>; 1560 polling-delay = <0>; 1561 1562 thermal-sensors = 1563 <&soctherm TEGRA124_SOCTHERM_SENSOR_MEM>; 1564 1565 trips { 1566 dram_nominal: mem-nominal-trip { 1567 temperature = <50000>; 1568 hysteresis = <1000>; 1569 type = "passive"; 1570 }; 1571 1572 dram_throttle: mem-throttle-trip { 1573 temperature = <70000>; 1574 hysteresis = <1000>; 1575 type = "active"; 1576 }; 1577 1578 mem-shutdown-trip { 1579 temperature = <103000>; 1580 hysteresis = <0>; 1581 type = "critical"; 1582 }; 1583 }; 1584 1585 cooling-maps { 1586 dram-passive { 1587 cooling-device = <&emc 0 0>; 1588 trip = <&dram_nominal>; 1589 }; 1590 1591 dram-active { 1592 cooling-device = <&emc 1 1>; 1593 trip = <&dram_throttle>; 1594 }; 1595 }; 1596 }; 1597 1598 gpu { 1599 polling-delay-passive = <1000>; 1600 polling-delay = <0>; 1601 1602 thermal-sensors = 1603 <&soctherm TEGRA124_SOCTHERM_SENSOR_GPU>; 1604 1605 trips { 1606 gpu-shutdown-trip { 1607 temperature = <103000>; 1608 hysteresis = <0>; 1609 type = "critical"; 1610 }; 1611 1612 gpu_throttle_trip: throttle-trip { 1613 temperature = <100000>; 1614 hysteresis = <1000>; 1615 type = "hot"; 1616 }; 1617 }; 1618 1619 cooling-maps { 1620 map0 { 1621 trip = <&gpu_throttle_trip>; 1622 cooling-device = <&throttle_heavy 1 1>; 1623 }; 1624 }; 1625 }; 1626 1627 pllx { 1628 polling-delay-passive = <0>; 1629 polling-delay = <0>; 1630 1631 thermal-sensors = 1632 <&soctherm TEGRA124_SOCTHERM_SENSOR_PLLX>; 1633 1634 trips { 1635 pllx-shutdown-trip { 1636 temperature = <103000>; 1637 hysteresis = <0>; 1638 type = "critical"; 1639 }; 1640 }; 1641 1642 cooling-maps { 1643 /* 1644 * There are currently no cooling maps, 1645 * because there are no cooling devices. 1646 */ 1647 }; 1648 }; 1649 }; 1650}; 1651