0001 // SPDX-License-Identifier: GPL-2.0
0002 #include "tegra186.dtsi"
0003
0004 #include <dt-bindings/mfd/max77620.h>
0005
0006 / {
0007 model = "NVIDIA Jetson TX2";
0008 compatible = "nvidia,p3310", "nvidia,tegra186";
0009
0010 aliases {
0011 ethernet0 = "/ethernet@2490000";
0012 i2c0 = "/bpmp/i2c";
0013 i2c1 = "/i2c@3160000";
0014 i2c2 = "/i2c@c240000";
0015 i2c3 = "/i2c@3180000";
0016 i2c4 = "/i2c@3190000";
0017 i2c5 = "/i2c@31c0000";
0018 i2c6 = "/i2c@c250000";
0019 i2c7 = "/i2c@31e0000";
0020 mmc0 = "/mmc@3460000";
0021 mmc1 = "/mmc@3400000";
0022 serial0 = &uarta;
0023 };
0024
0025 chosen {
0026 bootargs = "earlycon console=ttyS0,115200n8 fw_devlink=on";
0027 stdout-path = "serial0:115200n8";
0028 };
0029
0030 memory@80000000 {
0031 device_type = "memory";
0032 reg = <0x0 0x80000000 0x2 0x00000000>;
0033 };
0034
0035 ethernet@2490000 {
0036 status = "okay";
0037
0038 phy-reset-gpios = <&gpio TEGRA186_MAIN_GPIO(M, 4)
0039 GPIO_ACTIVE_LOW>;
0040 phy-handle = <&phy>;
0041 phy-mode = "rgmii";
0042
0043 mdio {
0044 #address-cells = <1>;
0045 #size-cells = <0>;
0046
0047 phy: ethernet-phy@0 {
0048 compatible = "ethernet-phy-ieee802.3-c22";
0049 reg = <0x0>;
0050 interrupt-parent = <&gpio>;
0051 interrupts = <TEGRA186_MAIN_GPIO(M, 5)
0052 IRQ_TYPE_LEVEL_LOW>;
0053
0054 #phy-cells = <0>;
0055 };
0056 };
0057 };
0058
0059 memory-controller@2c00000 {
0060 status = "okay";
0061 };
0062
0063 serial@3100000 {
0064 status = "okay";
0065 };
0066
0067 i2c@3160000 {
0068 status = "okay";
0069
0070 power-monitor@40 {
0071 compatible = "ti,ina3221";
0072 reg = <0x40>;
0073 #address-cells = <1>;
0074 #size-cells = <0>;
0075
0076 input@0 {
0077 reg = <0x0>;
0078 label = "VDD_SYS_GPU";
0079 shunt-resistor-micro-ohms = <10000>;
0080 };
0081
0082 input@1 {
0083 reg = <0x1>;
0084 label = "VDD_SYS_SOC";
0085 shunt-resistor-micro-ohms = <10000>;
0086 };
0087
0088 input@2 {
0089 reg = <0x2>;
0090 label = "VDD_3V8_WIFI";
0091 shunt-resistor-micro-ohms = <10000>;
0092 };
0093 };
0094
0095 power-monitor@41 {
0096 compatible = "ti,ina3221";
0097 reg = <0x41>;
0098 #address-cells = <1>;
0099 #size-cells = <0>;
0100
0101 input@0 {
0102 reg = <0x0>;
0103 label = "VDD_IN";
0104 shunt-resistor-micro-ohms = <5000>;
0105 };
0106
0107 input@1 {
0108 reg = <0x1>;
0109 label = "VDD_SYS_CPU";
0110 shunt-resistor-micro-ohms = <10000>;
0111 };
0112
0113 input@2 {
0114 reg = <0x2>;
0115 label = "VDD_5V0_DDR";
0116 shunt-resistor-micro-ohms = <10000>;
0117 };
0118 };
0119 };
0120
0121 i2c@3180000 {
0122 status = "okay";
0123 };
0124
0125 ddc: i2c@3190000 {
0126 status = "okay";
0127 };
0128
0129 i2c@31c0000 {
0130 status = "okay";
0131 };
0132
0133 i2c@31e0000 {
0134 status = "okay";
0135 };
0136
0137 /* SDMMC1 (SD/MMC) */
0138 mmc@3400000 {
0139 cd-gpios = <&gpio TEGRA186_MAIN_GPIO(P, 5) GPIO_ACTIVE_LOW>;
0140 wp-gpios = <&gpio TEGRA186_MAIN_GPIO(P, 4) GPIO_ACTIVE_HIGH>;
0141
0142 vqmmc-supply = <&vddio_sdmmc1>;
0143 };
0144
0145 /* SDMMC3 (SDIO) */
0146 mmc@3440000 {
0147 status = "okay";
0148 };
0149
0150 /* SDMMC4 (eMMC) */
0151 mmc@3460000 {
0152 status = "okay";
0153 bus-width = <8>;
0154 non-removable;
0155
0156 vqmmc-supply = <&vdd_1v8_ap>;
0157 vmmc-supply = <&vdd_3v3_sys>;
0158 };
0159
0160 hsp@3c00000 {
0161 status = "okay";
0162 };
0163
0164 i2c@c240000 {
0165 status = "okay";
0166 };
0167
0168 i2c@c250000 {
0169 status = "okay";
0170
0171 /* module ID EEPROM */
0172 eeprom@50 {
0173 compatible = "atmel,24c02";
0174 reg = <0x50>;
0175
0176 label = "module";
0177 vcc-supply = <&vdd_1v8>;
0178 address-width = <8>;
0179 pagesize = <8>;
0180 size = <256>;
0181 read-only;
0182 };
0183 };
0184
0185 rtc@c2a0000 {
0186 status = "okay";
0187 };
0188
0189 pmc@c360000 {
0190 nvidia,invert-interrupt;
0191 };
0192
0193 cpus {
0194 cpu@0 {
0195 enable-method = "psci";
0196 };
0197
0198 cpu@1 {
0199 enable-method = "psci";
0200 };
0201
0202 cpu@2 {
0203 enable-method = "psci";
0204 };
0205
0206 cpu@3 {
0207 enable-method = "psci";
0208 };
0209
0210 cpu@4 {
0211 enable-method = "psci";
0212 };
0213
0214 cpu@5 {
0215 enable-method = "psci";
0216 };
0217 };
0218
0219 bpmp {
0220 i2c {
0221 status = "okay";
0222
0223 pmic: pmic@3c {
0224 compatible = "maxim,max77620";
0225 reg = <0x3c>;
0226
0227 interrupt-parent = <&pmc>;
0228 interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
0229 #interrupt-cells = <2>;
0230 interrupt-controller;
0231
0232 #gpio-cells = <2>;
0233 gpio-controller;
0234
0235 pinctrl-names = "default";
0236 pinctrl-0 = <&max77620_default>;
0237
0238 max77620_default: pinmux {
0239 gpio0 {
0240 pins = "gpio0";
0241 function = "gpio";
0242 };
0243
0244 gpio1 {
0245 pins = "gpio1";
0246 function = "fps-out";
0247 maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
0248 };
0249
0250 gpio2 {
0251 pins = "gpio2";
0252 function = "fps-out";
0253 maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
0254 };
0255
0256 gpio3 {
0257 pins = "gpio3";
0258 function = "fps-out";
0259 maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
0260 };
0261
0262 gpio4 {
0263 pins = "gpio4";
0264 function = "32k-out1";
0265 drive-push-pull = <1>;
0266 };
0267
0268 gpio5 {
0269 pins = "gpio5";
0270 function = "gpio";
0271 drive-push-pull = <0>;
0272 };
0273
0274 gpio6 {
0275 pins = "gpio6";
0276 function = "gpio";
0277 drive-push-pull = <1>;
0278 };
0279
0280 gpio7 {
0281 pins = "gpio7";
0282 function = "gpio";
0283 drive-push-pull = <0>;
0284 };
0285 };
0286
0287 fps {
0288 fps0 {
0289 maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
0290 maxim,shutdown-fps-time-period-us = <640>;
0291 };
0292
0293 fps1 {
0294 maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN1>;
0295 maxim,shutdown-fps-time-period-us = <640>;
0296 };
0297
0298 fps2 {
0299 maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
0300 maxim,shutdown-fps-time-period-us = <640>;
0301 };
0302 };
0303
0304 regulators {
0305 in-sd0-supply = <&vdd_5v0_sys>;
0306 in-sd1-supply = <&vdd_5v0_sys>;
0307 in-sd2-supply = <&vdd_5v0_sys>;
0308 in-sd3-supply = <&vdd_5v0_sys>;
0309
0310 in-ldo0-1-supply = <&vdd_5v0_sys>;
0311 in-ldo2-supply = <&vdd_5v0_sys>;
0312 in-ldo3-5-supply = <&vdd_5v0_sys>;
0313 in-ldo4-6-supply = <&vdd_1v8>;
0314 in-ldo7-8-supply = <&avdd_dsi_csi>;
0315
0316 sd0 {
0317 regulator-name = "VDD_DDR_1V1_PMIC";
0318 regulator-min-microvolt = <1100000>;
0319 regulator-max-microvolt = <1100000>;
0320 regulator-always-on;
0321 regulator-boot-on;
0322 };
0323
0324 avdd_dsi_csi: sd1 {
0325 regulator-name = "AVDD_DSI_CSI_1V2";
0326 regulator-min-microvolt = <1200000>;
0327 regulator-max-microvolt = <1200000>;
0328 };
0329
0330 vdd_1v8: sd2 {
0331 regulator-name = "VDD_1V8";
0332 regulator-min-microvolt = <1800000>;
0333 regulator-max-microvolt = <1800000>;
0334 };
0335
0336 vdd_3v3_sys: sd3 {
0337 regulator-name = "VDD_3V3_SYS";
0338 regulator-min-microvolt = <3300000>;
0339 regulator-max-microvolt = <3300000>;
0340 };
0341
0342 vdd_1v8_pll: ldo0 {
0343 regulator-name = "VDD_1V8_AP_PLL";
0344 regulator-min-microvolt = <1800000>;
0345 regulator-max-microvolt = <1800000>;
0346 };
0347
0348 ldo2 {
0349 regulator-name = "VDDIO_3V3_AOHV";
0350 regulator-min-microvolt = <3300000>;
0351 regulator-max-microvolt = <3300000>;
0352 regulator-always-on;
0353 regulator-boot-on;
0354 };
0355
0356 vddio_sdmmc1: ldo3 {
0357 regulator-name = "VDDIO_SDMMC1_AP";
0358 regulator-min-microvolt = <1800000>;
0359 regulator-max-microvolt = <3300000>;
0360 };
0361
0362 ldo4 {
0363 regulator-name = "VDD_RTC";
0364 regulator-min-microvolt = <1000000>;
0365 regulator-max-microvolt = <1000000>;
0366 };
0367
0368 vddio_sdmmc3: ldo5 {
0369 regulator-name = "VDDIO_SDMMC3_AP";
0370 regulator-min-microvolt = <2800000>;
0371 regulator-max-microvolt = <2800000>;
0372 };
0373
0374 vdd_hdmi_1v05: ldo7 {
0375 regulator-name = "VDD_HDMI_1V05";
0376 regulator-min-microvolt = <1050000>;
0377 regulator-max-microvolt = <1050000>;
0378 };
0379
0380 vdd_pex: ldo8 {
0381 regulator-name = "VDD_PEX_1V05";
0382 regulator-min-microvolt = <1050000>;
0383 regulator-max-microvolt = <1050000>;
0384 };
0385 };
0386 };
0387 };
0388 };
0389
0390 psci {
0391 compatible = "arm,psci-1.0";
0392 status = "okay";
0393 method = "smc";
0394 };
0395
0396 gnd: regulator-gnd {
0397 compatible = "regulator-fixed";
0398 regulator-name = "GND";
0399 regulator-min-microvolt = <0>;
0400 regulator-max-microvolt = <0>;
0401 regulator-always-on;
0402 regulator-boot-on;
0403 };
0404
0405 vdd_5v0_sys: regulator-vdd-5v0-sys {
0406 compatible = "regulator-fixed";
0407 regulator-name = "VDD_5V0_SYS";
0408 regulator-min-microvolt = <5000000>;
0409 regulator-max-microvolt = <5000000>;
0410 regulator-always-on;
0411 regulator-boot-on;
0412 };
0413
0414 vdd_1v8_ap: regulator-vdd-1v8-ap {
0415 compatible = "regulator-fixed";
0416 regulator-name = "VDD_1V8_AP";
0417 regulator-min-microvolt = <1800000>;
0418 regulator-max-microvolt = <1800000>;
0419
0420 gpio = <&pmic 1 GPIO_ACTIVE_HIGH>;
0421 enable-active-high;
0422
0423 vin-supply = <&vdd_1v8>;
0424 };
0425 };