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