1 // SPDX-License-Identifier: GPL-2.0 1 // SPDX-License-Identifier: GPL-2.0 2 #include "tegra186.dtsi" 2 #include "tegra186.dtsi" 3 3 4 #include <dt-bindings/mfd/max77620.h> 4 #include <dt-bindings/mfd/max77620.h> 5 5 6 / { 6 / { 7 model = "NVIDIA Jetson TX2"; 7 model = "NVIDIA Jetson TX2"; 8 compatible = "nvidia,p3310", "nvidia,t 8 compatible = "nvidia,p3310", "nvidia,tegra186"; 9 9 10 aliases { 10 aliases { 11 ethernet0 = "/ethernet@2490000 11 ethernet0 = "/ethernet@2490000"; >> 12 sdhci0 = "/sdhci@3460000"; >> 13 sdhci1 = "/sdhci@3400000"; >> 14 serial0 = &uarta; 12 i2c0 = "/bpmp/i2c"; 15 i2c0 = "/bpmp/i2c"; 13 i2c1 = "/i2c@3160000"; 16 i2c1 = "/i2c@3160000"; 14 i2c2 = "/i2c@c240000"; 17 i2c2 = "/i2c@c240000"; 15 i2c3 = "/i2c@3180000"; 18 i2c3 = "/i2c@3180000"; 16 i2c4 = "/i2c@3190000"; 19 i2c4 = "/i2c@3190000"; 17 i2c5 = "/i2c@31c0000"; 20 i2c5 = "/i2c@31c0000"; 18 i2c6 = "/i2c@c250000"; 21 i2c6 = "/i2c@c250000"; 19 i2c7 = "/i2c@31e0000"; 22 i2c7 = "/i2c@31e0000"; 20 mmc0 = "/mmc@3460000"; << 21 mmc1 = "/mmc@3400000"; << 22 serial0 = &uarta; << 23 }; 23 }; 24 24 25 chosen { 25 chosen { 26 bootargs = "earlycon console=t !! 26 bootargs = "earlycon console=ttyS0,115200n8"; 27 stdout-path = "serial0:115200n 27 stdout-path = "serial0:115200n8"; 28 }; 28 }; 29 29 30 memory@80000000 { !! 30 memory { 31 device_type = "memory"; 31 device_type = "memory"; 32 reg = <0x0 0x80000000 0x2 0x00 32 reg = <0x0 0x80000000 0x2 0x00000000>; 33 }; 33 }; 34 34 35 ethernet@2490000 { 35 ethernet@2490000 { 36 status = "okay"; 36 status = "okay"; 37 37 38 phy-reset-gpios = <&gpio TEGRA 38 phy-reset-gpios = <&gpio TEGRA186_MAIN_GPIO(M, 4) 39 GPIO_ 39 GPIO_ACTIVE_LOW>; 40 phy-handle = <&phy>; 40 phy-handle = <&phy>; 41 phy-mode = "rgmii"; 41 phy-mode = "rgmii"; 42 42 43 mdio { 43 mdio { 44 #address-cells = <1>; 44 #address-cells = <1>; 45 #size-cells = <0>; 45 #size-cells = <0>; 46 46 47 phy: ethernet-phy@0 { !! 47 phy: phy@0 { 48 compatible = " 48 compatible = "ethernet-phy-ieee802.3-c22"; 49 reg = <0x0>; 49 reg = <0x0>; 50 interrupt-pare 50 interrupt-parent = <&gpio>; 51 interrupts = < 51 interrupts = <TEGRA186_MAIN_GPIO(M, 5) 52 52 IRQ_TYPE_LEVEL_LOW>; 53 << 54 #phy-cells = < << 55 }; 53 }; 56 }; 54 }; 57 }; 55 }; 58 56 59 memory-controller@2c00000 { 57 memory-controller@2c00000 { 60 status = "okay"; 58 status = "okay"; 61 }; 59 }; 62 60 63 serial@3100000 { 61 serial@3100000 { 64 status = "okay"; 62 status = "okay"; 65 }; 63 }; 66 64 67 i2c@3160000 { 65 i2c@3160000 { 68 status = "okay"; 66 status = "okay"; 69 67 70 power-monitor@40 { 68 power-monitor@40 { 71 compatible = "ti,ina32 69 compatible = "ti,ina3221"; 72 reg = <0x40>; 70 reg = <0x40>; 73 #address-cells = <1>; 71 #address-cells = <1>; 74 #size-cells = <0>; 72 #size-cells = <0>; 75 73 76 input@0 { !! 74 channel@0 { 77 reg = <0x0>; 75 reg = <0x0>; 78 label = "VDD_S 76 label = "VDD_SYS_GPU"; 79 shunt-resistor 77 shunt-resistor-micro-ohms = <10000>; 80 }; 78 }; 81 79 82 input@1 { !! 80 channel@1 { 83 reg = <0x1>; 81 reg = <0x1>; 84 label = "VDD_S 82 label = "VDD_SYS_SOC"; 85 shunt-resistor 83 shunt-resistor-micro-ohms = <10000>; 86 }; 84 }; 87 85 88 input@2 { !! 86 channel@2 { 89 reg = <0x2>; 87 reg = <0x2>; 90 label = "VDD_3 88 label = "VDD_3V8_WIFI"; 91 shunt-resistor 89 shunt-resistor-micro-ohms = <10000>; 92 }; 90 }; 93 }; 91 }; 94 92 95 power-monitor@41 { 93 power-monitor@41 { 96 compatible = "ti,ina32 94 compatible = "ti,ina3221"; 97 reg = <0x41>; 95 reg = <0x41>; 98 #address-cells = <1>; 96 #address-cells = <1>; 99 #size-cells = <0>; 97 #size-cells = <0>; 100 98 101 input@0 { !! 99 channel@0 { 102 reg = <0x0>; 100 reg = <0x0>; 103 label = "VDD_I 101 label = "VDD_IN"; 104 shunt-resistor 102 shunt-resistor-micro-ohms = <5000>; 105 }; 103 }; 106 104 107 input@1 { !! 105 channel@1 { 108 reg = <0x1>; 106 reg = <0x1>; 109 label = "VDD_S 107 label = "VDD_SYS_CPU"; 110 shunt-resistor 108 shunt-resistor-micro-ohms = <10000>; 111 }; 109 }; 112 110 113 input@2 { !! 111 channel@2 { 114 reg = <0x2>; 112 reg = <0x2>; 115 label = "VDD_5 113 label = "VDD_5V0_DDR"; 116 shunt-resistor 114 shunt-resistor-micro-ohms = <10000>; 117 }; 115 }; 118 }; 116 }; 119 }; 117 }; 120 118 121 i2c@3180000 { 119 i2c@3180000 { 122 status = "okay"; 120 status = "okay"; 123 }; 121 }; 124 122 125 ddc: i2c@3190000 { 123 ddc: i2c@3190000 { 126 status = "okay"; 124 status = "okay"; 127 }; 125 }; 128 126 129 i2c@31c0000 { 127 i2c@31c0000 { 130 status = "okay"; 128 status = "okay"; 131 }; 129 }; 132 130 133 i2c@31e0000 { 131 i2c@31e0000 { 134 status = "okay"; 132 status = "okay"; 135 }; 133 }; 136 134 137 /* SDMMC1 (SD/MMC) */ 135 /* SDMMC1 (SD/MMC) */ 138 mmc@3400000 { !! 136 sdhci@3400000 { 139 cd-gpios = <&gpio TEGRA186_MAI 137 cd-gpios = <&gpio TEGRA186_MAIN_GPIO(P, 5) GPIO_ACTIVE_LOW>; 140 wp-gpios = <&gpio TEGRA186_MAI 138 wp-gpios = <&gpio TEGRA186_MAIN_GPIO(P, 4) GPIO_ACTIVE_HIGH>; 141 139 142 vqmmc-supply = <&vddio_sdmmc1> 140 vqmmc-supply = <&vddio_sdmmc1>; 143 }; 141 }; 144 142 145 /* SDMMC3 (SDIO) */ 143 /* SDMMC3 (SDIO) */ 146 mmc@3440000 { !! 144 sdhci@3440000 { 147 status = "okay"; 145 status = "okay"; 148 vqmmc-supply = <&vddio_sdmmc3> << 149 }; 146 }; 150 147 151 /* SDMMC4 (eMMC) */ 148 /* SDMMC4 (eMMC) */ 152 mmc@3460000 { !! 149 sdhci@3460000 { 153 status = "okay"; 150 status = "okay"; 154 bus-width = <8>; 151 bus-width = <8>; 155 non-removable; 152 non-removable; 156 153 157 vqmmc-supply = <&vdd_1v8_ap>; 154 vqmmc-supply = <&vdd_1v8_ap>; 158 vmmc-supply = <&vdd_3v3_sys>; 155 vmmc-supply = <&vdd_3v3_sys>; 159 }; 156 }; 160 157 161 hsp@3c00000 { 158 hsp@3c00000 { 162 status = "okay"; 159 status = "okay"; 163 }; 160 }; 164 161 165 i2c@c240000 { 162 i2c@c240000 { 166 status = "okay"; 163 status = "okay"; 167 }; 164 }; 168 165 169 i2c@c250000 { 166 i2c@c250000 { 170 status = "okay"; 167 status = "okay"; 171 168 172 /* module ID EEPROM */ 169 /* module ID EEPROM */ 173 eeprom@50 { 170 eeprom@50 { 174 compatible = "atmel,24 171 compatible = "atmel,24c02"; 175 reg = <0x50>; 172 reg = <0x50>; 176 173 177 label = "module"; << 178 vcc-supply = <&vdd_1v8 174 vcc-supply = <&vdd_1v8>; 179 address-width = <8>; !! 175 address-bits = <8>; 180 pagesize = <8>; !! 176 page-size = <8>; 181 size = <256>; 177 size = <256>; 182 read-only; 178 read-only; 183 }; 179 }; 184 }; 180 }; 185 181 186 rtc@c2a0000 { 182 rtc@c2a0000 { 187 status = "okay"; 183 status = "okay"; 188 }; 184 }; 189 185 190 pmc@c360000 { 186 pmc@c360000 { 191 nvidia,invert-interrupt; 187 nvidia,invert-interrupt; 192 }; 188 }; 193 189 >> 190 cpus { >> 191 cpu@0 { >> 192 enable-method = "psci"; >> 193 }; >> 194 >> 195 cpu@1 { >> 196 enable-method = "psci"; >> 197 }; >> 198 >> 199 cpu@2 { >> 200 enable-method = "psci"; >> 201 }; >> 202 >> 203 cpu@3 { >> 204 enable-method = "psci"; >> 205 }; >> 206 >> 207 cpu@4 { >> 208 enable-method = "psci"; >> 209 }; >> 210 >> 211 cpu@5 { >> 212 enable-method = "psci"; >> 213 }; >> 214 }; >> 215 194 bpmp { 216 bpmp { 195 i2c { 217 i2c { 196 status = "okay"; 218 status = "okay"; 197 219 198 pmic: pmic@3c { 220 pmic: pmic@3c { 199 compatible = " 221 compatible = "maxim,max77620"; 200 reg = <0x3c>; 222 reg = <0x3c>; 201 223 202 interrupt-pare 224 interrupt-parent = <&pmc>; 203 interrupts = < 225 interrupts = <24 IRQ_TYPE_LEVEL_LOW>; 204 #interrupt-cel 226 #interrupt-cells = <2>; 205 interrupt-cont 227 interrupt-controller; 206 228 207 #gpio-cells = 229 #gpio-cells = <2>; 208 gpio-controlle 230 gpio-controller; 209 231 210 pinctrl-names 232 pinctrl-names = "default"; 211 pinctrl-0 = <& 233 pinctrl-0 = <&max77620_default>; 212 234 213 fps { << 214 fps0 { << 215 << 216 << 217 }; << 218 << 219 fps1 { << 220 << 221 << 222 }; << 223 << 224 fps2 { << 225 << 226 << 227 }; << 228 }; << 229 << 230 max77620_defau 235 max77620_default: pinmux { 231 gpio0 236 gpio0 { 232 237 pins = "gpio0"; 233 238 function = "gpio"; 234 }; 239 }; 235 240 236 gpio1 241 gpio1 { 237 242 pins = "gpio1"; 238 243 function = "fps-out"; 239 244 maxim,active-fps-source = <MAX77620_FPS_SRC_0>; 240 }; 245 }; 241 246 242 gpio2 247 gpio2 { 243 248 pins = "gpio2"; 244 249 function = "fps-out"; 245 250 maxim,active-fps-source = <MAX77620_FPS_SRC_1>; 246 }; 251 }; 247 252 248 gpio3 253 gpio3 { 249 254 pins = "gpio3"; 250 255 function = "fps-out"; 251 256 maxim,active-fps-source = <MAX77620_FPS_SRC_1>; 252 }; 257 }; 253 258 254 gpio4 259 gpio4 { 255 260 pins = "gpio4"; 256 261 function = "32k-out1"; 257 262 drive-push-pull = <1>; 258 }; 263 }; 259 264 260 gpio5 265 gpio5 { 261 266 pins = "gpio5"; 262 267 function = "gpio"; 263 268 drive-push-pull = <0>; 264 }; 269 }; 265 270 266 gpio6 271 gpio6 { 267 272 pins = "gpio6"; 268 273 function = "gpio"; 269 274 drive-push-pull = <1>; 270 }; 275 }; 271 276 272 gpio7 277 gpio7 { 273 278 pins = "gpio7"; 274 279 function = "gpio"; 275 280 drive-push-pull = <0>; 276 }; 281 }; 277 }; 282 }; 278 283 >> 284 fps { >> 285 fps0 { >> 286 maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>; >> 287 maxim,shutdown-fps-time-period-us = <640>; >> 288 }; >> 289 >> 290 fps1 { >> 291 maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN1>; >> 292 maxim,shutdown-fps-time-period-us = <640>; >> 293 }; >> 294 >> 295 fps2 { >> 296 maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>; >> 297 maxim,shutdown-fps-time-period-us = <640>; >> 298 }; >> 299 }; >> 300 279 regulators { 301 regulators { 280 in-sd0 302 in-sd0-supply = <&vdd_5v0_sys>; 281 in-sd1 303 in-sd1-supply = <&vdd_5v0_sys>; 282 in-sd2 304 in-sd2-supply = <&vdd_5v0_sys>; 283 in-sd3 305 in-sd3-supply = <&vdd_5v0_sys>; 284 306 285 in-ldo 307 in-ldo0-1-supply = <&vdd_5v0_sys>; 286 in-ldo 308 in-ldo2-supply = <&vdd_5v0_sys>; 287 in-ldo 309 in-ldo3-5-supply = <&vdd_5v0_sys>; 288 in-ldo 310 in-ldo4-6-supply = <&vdd_1v8>; 289 in-ldo 311 in-ldo7-8-supply = <&avdd_dsi_csi>; 290 312 291 sd0 { 313 sd0 { 292 314 regulator-name = "VDD_DDR_1V1_PMIC"; 293 315 regulator-min-microvolt = <1100000>; 294 316 regulator-max-microvolt = <1100000>; 295 317 regulator-always-on; 296 318 regulator-boot-on; 297 }; 319 }; 298 320 299 avdd_d 321 avdd_dsi_csi: sd1 { 300 322 regulator-name = "AVDD_DSI_CSI_1V2"; 301 323 regulator-min-microvolt = <1200000>; 302 324 regulator-max-microvolt = <1200000>; 303 }; 325 }; 304 326 305 vdd_1v 327 vdd_1v8: sd2 { 306 328 regulator-name = "VDD_1V8"; 307 329 regulator-min-microvolt = <1800000>; 308 330 regulator-max-microvolt = <1800000>; 309 }; 331 }; 310 332 311 vdd_3v 333 vdd_3v3_sys: sd3 { 312 334 regulator-name = "VDD_3V3_SYS"; 313 335 regulator-min-microvolt = <3300000>; 314 336 regulator-max-microvolt = <3300000>; 315 }; 337 }; 316 338 317 vdd_1v 339 vdd_1v8_pll: ldo0 { 318 340 regulator-name = "VDD_1V8_AP_PLL"; 319 341 regulator-min-microvolt = <1800000>; 320 342 regulator-max-microvolt = <1800000>; 321 }; 343 }; 322 344 323 ldo2 { 345 ldo2 { 324 346 regulator-name = "VDDIO_3V3_AOHV"; 325 347 regulator-min-microvolt = <3300000>; 326 348 regulator-max-microvolt = <3300000>; 327 349 regulator-always-on; 328 350 regulator-boot-on; 329 }; 351 }; 330 352 331 vddio_ 353 vddio_sdmmc1: ldo3 { 332 354 regulator-name = "VDDIO_SDMMC1_AP"; 333 355 regulator-min-microvolt = <1800000>; 334 356 regulator-max-microvolt = <3300000>; 335 }; 357 }; 336 358 337 ldo4 { 359 ldo4 { 338 360 regulator-name = "VDD_RTC"; 339 361 regulator-min-microvolt = <1000000>; 340 362 regulator-max-microvolt = <1000000>; 341 }; 363 }; 342 364 343 vddio_ 365 vddio_sdmmc3: ldo5 { 344 366 regulator-name = "VDDIO_SDMMC3_AP"; 345 367 regulator-min-microvolt = <2800000>; 346 368 regulator-max-microvolt = <2800000>; 347 }; 369 }; 348 370 349 vdd_hd 371 vdd_hdmi_1v05: ldo7 { 350 372 regulator-name = "VDD_HDMI_1V05"; 351 373 regulator-min-microvolt = <1050000>; 352 374 regulator-max-microvolt = <1050000>; 353 }; 375 }; 354 376 355 vdd_pe 377 vdd_pex: ldo8 { 356 378 regulator-name = "VDD_PEX_1V05"; 357 379 regulator-min-microvolt = <1050000>; 358 380 regulator-max-microvolt = <1050000>; 359 }; 381 }; 360 }; 382 }; 361 }; 383 }; 362 }; 384 }; 363 }; 385 }; 364 386 365 cpus { !! 387 psci { 366 cpu@0 { !! 388 compatible = "arm,psci-1.0"; 367 enable-method = "psci" !! 389 status = "okay"; 368 }; !! 390 method = "smc"; >> 391 }; 369 392 370 cpu@1 { !! 393 regulators { 371 enable-method = "psci" !! 394 compatible = "simple-bus"; 372 }; !! 395 #address-cells = <1>; >> 396 #size-cells = <0>; 373 397 374 cpu@2 { !! 398 gnd: regulator@0 { 375 enable-method = "psci" !! 399 compatible = "regulator-fixed"; 376 }; !! 400 reg = <0>; 377 401 378 cpu@3 { !! 402 regulator-name = "GND"; 379 enable-method = "psci" !! 403 regulator-min-microvolt = <0>; >> 404 regulator-max-microvolt = <0>; >> 405 regulator-always-on; >> 406 regulator-boot-on; 380 }; 407 }; 381 408 382 cpu@4 { !! 409 vdd_5v0_sys: regulator@1 { 383 enable-method = "psci" !! 410 compatible = "regulator-fixed"; 384 }; !! 411 reg = <1>; 385 412 386 cpu@5 { !! 413 regulator-name = "VDD_5V0_SYS"; 387 enable-method = "psci" !! 414 regulator-min-microvolt = <5000000>; >> 415 regulator-max-microvolt = <5000000>; >> 416 regulator-always-on; >> 417 regulator-boot-on; 388 }; 418 }; 389 }; << 390 419 391 psci { !! 420 vdd_1v8_ap: regulator@2 { 392 compatible = "arm,psci-1.0"; !! 421 compatible = "regulator-fixed"; 393 status = "okay"; !! 422 reg = <2>; 394 method = "smc"; << 395 }; << 396 423 397 gnd: regulator-gnd { !! 424 regulator-name = "VDD_1V8_AP"; 398 compatible = "regulator-fixed" !! 425 regulator-min-microvolt = <1800000>; 399 regulator-name = "GND"; !! 426 regulator-max-microvolt = <1800000>; 400 regulator-min-microvolt = <0>; << 401 regulator-max-microvolt = <0>; << 402 regulator-always-on; << 403 regulator-boot-on; << 404 }; << 405 << 406 vdd_5v0_sys: regulator-vdd-5v0-sys { << 407 compatible = "regulator-fixed" << 408 regulator-name = "VDD_5V0_SYS" << 409 regulator-min-microvolt = <500 << 410 regulator-max-microvolt = <500 << 411 regulator-always-on; << 412 regulator-boot-on; << 413 }; << 414 << 415 vdd_1v8_ap: regulator-vdd-1v8-ap { << 416 compatible = "regulator-fixed" << 417 regulator-name = "VDD_1V8_AP"; << 418 regulator-min-microvolt = <180 << 419 regulator-max-microvolt = <180 << 420 427 421 gpio = <&pmic 1 GPIO_ACTIVE_HI !! 428 gpio = <&pmic 1 GPIO_ACTIVE_HIGH>; 422 enable-active-high; !! 429 enable-active-high; 423 430 424 vin-supply = <&vdd_1v8>; !! 431 vin-supply = <&vdd_1v8>; >> 432 }; 425 }; 433 }; 426 }; 434 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.