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