1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun/dts-v1/; 3*4882a593Smuzhiyun 4*4882a593Smuzhiyun#include <dt-bindings/input/linux-event-codes.h> 5*4882a593Smuzhiyun#include <dt-bindings/input/gpio-keys.h> 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun#include "tegra186-p3310.dtsi" 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun/ { 10*4882a593Smuzhiyun model = "NVIDIA Jetson TX2 Developer Kit"; 11*4882a593Smuzhiyun compatible = "nvidia,p2771-0000", "nvidia,tegra186"; 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun i2c@3160000 { 14*4882a593Smuzhiyun power-monitor@42 { 15*4882a593Smuzhiyun compatible = "ti,ina3221"; 16*4882a593Smuzhiyun reg = <0x42>; 17*4882a593Smuzhiyun #address-cells = <1>; 18*4882a593Smuzhiyun #size-cells = <0>; 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun channel@0 { 21*4882a593Smuzhiyun reg = <0x0>; 22*4882a593Smuzhiyun label = "VDD_MUX"; 23*4882a593Smuzhiyun shunt-resistor-micro-ohms = <20000>; 24*4882a593Smuzhiyun }; 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun channel@1 { 27*4882a593Smuzhiyun reg = <0x1>; 28*4882a593Smuzhiyun label = "VDD_5V0_IO_SYS"; 29*4882a593Smuzhiyun shunt-resistor-micro-ohms = <5000>; 30*4882a593Smuzhiyun }; 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun channel@2 { 33*4882a593Smuzhiyun reg = <0x2>; 34*4882a593Smuzhiyun label = "VDD_3V3_SYS"; 35*4882a593Smuzhiyun shunt-resistor-micro-ohms = <10000>; 36*4882a593Smuzhiyun }; 37*4882a593Smuzhiyun }; 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun power-monitor@43 { 40*4882a593Smuzhiyun compatible = "ti,ina3221"; 41*4882a593Smuzhiyun reg = <0x43>; 42*4882a593Smuzhiyun #address-cells = <1>; 43*4882a593Smuzhiyun #size-cells = <0>; 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun channel@0 { 46*4882a593Smuzhiyun reg = <0x0>; 47*4882a593Smuzhiyun label = "VDD_3V3_IO_SLP"; 48*4882a593Smuzhiyun shunt-resistor-micro-ohms = <10000>; 49*4882a593Smuzhiyun }; 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun channel@1 { 52*4882a593Smuzhiyun reg = <0x1>; 53*4882a593Smuzhiyun label = "VDD_1V8_IO"; 54*4882a593Smuzhiyun shunt-resistor-micro-ohms = <10000>; 55*4882a593Smuzhiyun }; 56*4882a593Smuzhiyun 57*4882a593Smuzhiyun channel@2 { 58*4882a593Smuzhiyun reg = <0x2>; 59*4882a593Smuzhiyun label = "VDD_M2_IN"; 60*4882a593Smuzhiyun shunt-resistor-micro-ohms = <10000>; 61*4882a593Smuzhiyun }; 62*4882a593Smuzhiyun }; 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun exp1: gpio@74 { 65*4882a593Smuzhiyun compatible = "ti,tca9539"; 66*4882a593Smuzhiyun reg = <0x74>; 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun interrupt-parent = <&gpio>; 69*4882a593Smuzhiyun interrupts = <TEGRA186_MAIN_GPIO(Y, 0) 70*4882a593Smuzhiyun GPIO_ACTIVE_LOW>; 71*4882a593Smuzhiyun 72*4882a593Smuzhiyun #gpio-cells = <2>; 73*4882a593Smuzhiyun gpio-controller; 74*4882a593Smuzhiyun 75*4882a593Smuzhiyun vcc-supply = <&vdd_3v3_sys>; 76*4882a593Smuzhiyun }; 77*4882a593Smuzhiyun 78*4882a593Smuzhiyun exp2: gpio@77 { 79*4882a593Smuzhiyun compatible = "ti,tca9539"; 80*4882a593Smuzhiyun reg = <0x77>; 81*4882a593Smuzhiyun 82*4882a593Smuzhiyun interrupt-parent = <&gpio>; 83*4882a593Smuzhiyun interrupts = <TEGRA186_MAIN_GPIO(Y, 6) 84*4882a593Smuzhiyun GPIO_ACTIVE_LOW>; 85*4882a593Smuzhiyun 86*4882a593Smuzhiyun #gpio-cells = <2>; 87*4882a593Smuzhiyun gpio-controller; 88*4882a593Smuzhiyun 89*4882a593Smuzhiyun vcc-supply = <&vdd_1v8>; 90*4882a593Smuzhiyun }; 91*4882a593Smuzhiyun }; 92*4882a593Smuzhiyun 93*4882a593Smuzhiyun /* SDMMC1 (SD/MMC) */ 94*4882a593Smuzhiyun mmc@3400000 { 95*4882a593Smuzhiyun status = "okay"; 96*4882a593Smuzhiyun 97*4882a593Smuzhiyun vmmc-supply = <&vdd_sd>; 98*4882a593Smuzhiyun }; 99*4882a593Smuzhiyun 100*4882a593Smuzhiyun hda@3510000 { 101*4882a593Smuzhiyun nvidia,model = "jetson-tx2-hda"; 102*4882a593Smuzhiyun status = "okay"; 103*4882a593Smuzhiyun }; 104*4882a593Smuzhiyun 105*4882a593Smuzhiyun padctl@3520000 { 106*4882a593Smuzhiyun status = "okay"; 107*4882a593Smuzhiyun 108*4882a593Smuzhiyun avdd-pll-erefeut-supply = <&vdd_1v8_pll>; 109*4882a593Smuzhiyun avdd-usb-supply = <&vdd_3v3_sys>; 110*4882a593Smuzhiyun vclamp-usb-supply = <&vdd_1v8>; 111*4882a593Smuzhiyun vddio-hsic-supply = <&gnd>; 112*4882a593Smuzhiyun 113*4882a593Smuzhiyun pads { 114*4882a593Smuzhiyun usb2 { 115*4882a593Smuzhiyun status = "okay"; 116*4882a593Smuzhiyun 117*4882a593Smuzhiyun lanes { 118*4882a593Smuzhiyun micro_b: usb2-0 { 119*4882a593Smuzhiyun nvidia,function = "xusb"; 120*4882a593Smuzhiyun status = "okay"; 121*4882a593Smuzhiyun }; 122*4882a593Smuzhiyun 123*4882a593Smuzhiyun usb2-1 { 124*4882a593Smuzhiyun nvidia,function = "xusb"; 125*4882a593Smuzhiyun status = "okay"; 126*4882a593Smuzhiyun }; 127*4882a593Smuzhiyun 128*4882a593Smuzhiyun usb2-2 { 129*4882a593Smuzhiyun nvidia,function = "xusb"; 130*4882a593Smuzhiyun status = "okay"; 131*4882a593Smuzhiyun }; 132*4882a593Smuzhiyun }; 133*4882a593Smuzhiyun }; 134*4882a593Smuzhiyun 135*4882a593Smuzhiyun usb3 { 136*4882a593Smuzhiyun status = "okay"; 137*4882a593Smuzhiyun 138*4882a593Smuzhiyun lanes { 139*4882a593Smuzhiyun usb3-0 { 140*4882a593Smuzhiyun nvidia,function = "xusb"; 141*4882a593Smuzhiyun status = "okay"; 142*4882a593Smuzhiyun }; 143*4882a593Smuzhiyun 144*4882a593Smuzhiyun usb3-1 { 145*4882a593Smuzhiyun nvidia,function = "xusb"; 146*4882a593Smuzhiyun status = "okay"; 147*4882a593Smuzhiyun }; 148*4882a593Smuzhiyun 149*4882a593Smuzhiyun usb3-2 { 150*4882a593Smuzhiyun nvidia,function = "xusb"; 151*4882a593Smuzhiyun status = "okay"; 152*4882a593Smuzhiyun }; 153*4882a593Smuzhiyun }; 154*4882a593Smuzhiyun }; 155*4882a593Smuzhiyun }; 156*4882a593Smuzhiyun 157*4882a593Smuzhiyun ports { 158*4882a593Smuzhiyun usb2-0 { 159*4882a593Smuzhiyun status = "okay"; 160*4882a593Smuzhiyun mode = "otg"; 161*4882a593Smuzhiyun vbus-supply = <&vdd_usb0>; 162*4882a593Smuzhiyun usb-role-switch; 163*4882a593Smuzhiyun 164*4882a593Smuzhiyun connector { 165*4882a593Smuzhiyun compatible = "gpio-usb-b-connector", 166*4882a593Smuzhiyun "usb-b-connector"; 167*4882a593Smuzhiyun label = "micro-USB"; 168*4882a593Smuzhiyun type = "micro"; 169*4882a593Smuzhiyun vbus-gpios = <&gpio 170*4882a593Smuzhiyun TEGRA186_MAIN_GPIO(X, 7) 171*4882a593Smuzhiyun GPIO_ACTIVE_LOW>; 172*4882a593Smuzhiyun id-gpios = <&pmic 0 GPIO_ACTIVE_HIGH>; 173*4882a593Smuzhiyun }; 174*4882a593Smuzhiyun }; 175*4882a593Smuzhiyun 176*4882a593Smuzhiyun usb2-1 { 177*4882a593Smuzhiyun status = "okay"; 178*4882a593Smuzhiyun mode = "host"; 179*4882a593Smuzhiyun 180*4882a593Smuzhiyun vbus-supply = <&vdd_usb1>; 181*4882a593Smuzhiyun }; 182*4882a593Smuzhiyun 183*4882a593Smuzhiyun usb3-0 { 184*4882a593Smuzhiyun nvidia,usb2-companion = <1>; 185*4882a593Smuzhiyun vbus-supply = <&vdd_usb1>; 186*4882a593Smuzhiyun status = "okay"; 187*4882a593Smuzhiyun }; 188*4882a593Smuzhiyun }; 189*4882a593Smuzhiyun }; 190*4882a593Smuzhiyun 191*4882a593Smuzhiyun usb@3530000 { 192*4882a593Smuzhiyun status = "okay"; 193*4882a593Smuzhiyun 194*4882a593Smuzhiyun phys = <&{/padctl@3520000/pads/usb2/lanes/usb2-0}>, 195*4882a593Smuzhiyun <&{/padctl@3520000/pads/usb2/lanes/usb2-1}>, 196*4882a593Smuzhiyun <&{/padctl@3520000/pads/usb3/lanes/usb3-0}>; 197*4882a593Smuzhiyun phy-names = "usb2-0", "usb2-1", "usb3-0"; 198*4882a593Smuzhiyun }; 199*4882a593Smuzhiyun 200*4882a593Smuzhiyun usb@3550000 { 201*4882a593Smuzhiyun status = "okay"; 202*4882a593Smuzhiyun 203*4882a593Smuzhiyun phys = <µ_b>; 204*4882a593Smuzhiyun phy-names = "usb2-0"; 205*4882a593Smuzhiyun }; 206*4882a593Smuzhiyun 207*4882a593Smuzhiyun i2c@c250000 { 208*4882a593Smuzhiyun /* carrier board ID EEPROM */ 209*4882a593Smuzhiyun eeprom@57 { 210*4882a593Smuzhiyun compatible = "atmel,24c02"; 211*4882a593Smuzhiyun reg = <0x57>; 212*4882a593Smuzhiyun 213*4882a593Smuzhiyun label = "system"; 214*4882a593Smuzhiyun vcc-supply = <&vdd_1v8>; 215*4882a593Smuzhiyun address-width = <8>; 216*4882a593Smuzhiyun pagesize = <8>; 217*4882a593Smuzhiyun size = <256>; 218*4882a593Smuzhiyun read-only; 219*4882a593Smuzhiyun }; 220*4882a593Smuzhiyun }; 221*4882a593Smuzhiyun 222*4882a593Smuzhiyun pcie@10003000 { 223*4882a593Smuzhiyun status = "okay"; 224*4882a593Smuzhiyun 225*4882a593Smuzhiyun dvdd-pex-supply = <&vdd_pex>; 226*4882a593Smuzhiyun hvdd-pex-pll-supply = <&vdd_1v8>; 227*4882a593Smuzhiyun hvdd-pex-supply = <&vdd_1v8>; 228*4882a593Smuzhiyun vddio-pexctl-aud-supply = <&vdd_1v8>; 229*4882a593Smuzhiyun 230*4882a593Smuzhiyun pci@1,0 { 231*4882a593Smuzhiyun nvidia,num-lanes = <4>; 232*4882a593Smuzhiyun status = "okay"; 233*4882a593Smuzhiyun }; 234*4882a593Smuzhiyun 235*4882a593Smuzhiyun pci@2,0 { 236*4882a593Smuzhiyun nvidia,num-lanes = <0>; 237*4882a593Smuzhiyun status = "disabled"; 238*4882a593Smuzhiyun }; 239*4882a593Smuzhiyun 240*4882a593Smuzhiyun pci@3,0 { 241*4882a593Smuzhiyun nvidia,num-lanes = <1>; 242*4882a593Smuzhiyun status = "disabled"; 243*4882a593Smuzhiyun }; 244*4882a593Smuzhiyun }; 245*4882a593Smuzhiyun 246*4882a593Smuzhiyun host1x@13e00000 { 247*4882a593Smuzhiyun status = "okay"; 248*4882a593Smuzhiyun 249*4882a593Smuzhiyun dpaux@15040000 { 250*4882a593Smuzhiyun status = "okay"; 251*4882a593Smuzhiyun }; 252*4882a593Smuzhiyun 253*4882a593Smuzhiyun display-hub@15200000 { 254*4882a593Smuzhiyun status = "okay"; 255*4882a593Smuzhiyun }; 256*4882a593Smuzhiyun 257*4882a593Smuzhiyun dsi@15300000 { 258*4882a593Smuzhiyun status = "disabled"; 259*4882a593Smuzhiyun }; 260*4882a593Smuzhiyun 261*4882a593Smuzhiyun /* DP on E3320 */ 262*4882a593Smuzhiyun sor@15540000 { 263*4882a593Smuzhiyun status = "okay"; 264*4882a593Smuzhiyun 265*4882a593Smuzhiyun avdd-io-hdmi-dp-supply = <&vdd_hdmi_1v05>; 266*4882a593Smuzhiyun vdd-hdmi-dp-pll-supply = <&vdd_1v8_ap>; 267*4882a593Smuzhiyun 268*4882a593Smuzhiyun nvidia,dpaux = <&dpaux>; 269*4882a593Smuzhiyun }; 270*4882a593Smuzhiyun 271*4882a593Smuzhiyun sor@15580000 { 272*4882a593Smuzhiyun status = "okay"; 273*4882a593Smuzhiyun 274*4882a593Smuzhiyun avdd-io-hdmi-dp-supply = <&vdd_hdmi_1v05>; 275*4882a593Smuzhiyun vdd-hdmi-dp-pll-supply = <&vdd_1v8_ap>; 276*4882a593Smuzhiyun hdmi-supply = <&vdd_hdmi>; 277*4882a593Smuzhiyun 278*4882a593Smuzhiyun nvidia,ddc-i2c-bus = <&ddc>; 279*4882a593Smuzhiyun nvidia,hpd-gpio = <&gpio TEGRA186_MAIN_GPIO(P, 1) 280*4882a593Smuzhiyun GPIO_ACTIVE_LOW>; 281*4882a593Smuzhiyun }; 282*4882a593Smuzhiyun 283*4882a593Smuzhiyun dpaux@155c0000 { 284*4882a593Smuzhiyun status = "okay"; 285*4882a593Smuzhiyun }; 286*4882a593Smuzhiyun }; 287*4882a593Smuzhiyun 288*4882a593Smuzhiyun gpio-keys { 289*4882a593Smuzhiyun compatible = "gpio-keys"; 290*4882a593Smuzhiyun 291*4882a593Smuzhiyun power { 292*4882a593Smuzhiyun label = "Power"; 293*4882a593Smuzhiyun gpios = <&gpio_aon TEGRA186_AON_GPIO(FF, 0) 294*4882a593Smuzhiyun GPIO_ACTIVE_LOW>; 295*4882a593Smuzhiyun linux,input-type = <EV_KEY>; 296*4882a593Smuzhiyun linux,code = <KEY_POWER>; 297*4882a593Smuzhiyun debounce-interval = <10>; 298*4882a593Smuzhiyun wakeup-event-action = <EV_ACT_ASSERTED>; 299*4882a593Smuzhiyun wakeup-source; 300*4882a593Smuzhiyun }; 301*4882a593Smuzhiyun 302*4882a593Smuzhiyun volume-up { 303*4882a593Smuzhiyun label = "Volume Up"; 304*4882a593Smuzhiyun gpios = <&gpio_aon TEGRA186_AON_GPIO(FF, 1) 305*4882a593Smuzhiyun GPIO_ACTIVE_LOW>; 306*4882a593Smuzhiyun linux,input-type = <EV_KEY>; 307*4882a593Smuzhiyun linux,code = <KEY_VOLUMEUP>; 308*4882a593Smuzhiyun debounce-interval = <10>; 309*4882a593Smuzhiyun }; 310*4882a593Smuzhiyun 311*4882a593Smuzhiyun volume-down { 312*4882a593Smuzhiyun label = "Volume Down"; 313*4882a593Smuzhiyun gpios = <&gpio_aon TEGRA186_AON_GPIO(FF, 2) 314*4882a593Smuzhiyun GPIO_ACTIVE_LOW>; 315*4882a593Smuzhiyun linux,input-type = <EV_KEY>; 316*4882a593Smuzhiyun linux,code = <KEY_VOLUMEDOWN>; 317*4882a593Smuzhiyun debounce-interval = <10>; 318*4882a593Smuzhiyun }; 319*4882a593Smuzhiyun }; 320*4882a593Smuzhiyun 321*4882a593Smuzhiyun vdd_sd: regulator@100 { 322*4882a593Smuzhiyun compatible = "regulator-fixed"; 323*4882a593Smuzhiyun regulator-name = "SD_CARD_SW_PWR"; 324*4882a593Smuzhiyun regulator-min-microvolt = <3300000>; 325*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 326*4882a593Smuzhiyun 327*4882a593Smuzhiyun gpio = <&gpio TEGRA186_MAIN_GPIO(P, 6) GPIO_ACTIVE_HIGH>; 328*4882a593Smuzhiyun enable-active-high; 329*4882a593Smuzhiyun 330*4882a593Smuzhiyun vin-supply = <&vdd_3v3_sys>; 331*4882a593Smuzhiyun }; 332*4882a593Smuzhiyun 333*4882a593Smuzhiyun vdd_hdmi: regulator@101 { 334*4882a593Smuzhiyun compatible = "regulator-fixed"; 335*4882a593Smuzhiyun regulator-name = "VDD_HDMI_5V0"; 336*4882a593Smuzhiyun regulator-min-microvolt = <5000000>; 337*4882a593Smuzhiyun regulator-max-microvolt = <5000000>; 338*4882a593Smuzhiyun 339*4882a593Smuzhiyun gpio = <&exp1 14 GPIO_ACTIVE_HIGH>; 340*4882a593Smuzhiyun enable-active-high; 341*4882a593Smuzhiyun 342*4882a593Smuzhiyun vin-supply = <&vdd_5v0_sys>; 343*4882a593Smuzhiyun }; 344*4882a593Smuzhiyun 345*4882a593Smuzhiyun vdd_usb0: regulator@102 { 346*4882a593Smuzhiyun compatible = "regulator-fixed"; 347*4882a593Smuzhiyun regulator-name = "VDD_USB0"; 348*4882a593Smuzhiyun regulator-min-microvolt = <5000000>; 349*4882a593Smuzhiyun regulator-max-microvolt = <5000000>; 350*4882a593Smuzhiyun 351*4882a593Smuzhiyun gpio = <&gpio TEGRA186_MAIN_GPIO(L, 4) GPIO_ACTIVE_HIGH>; 352*4882a593Smuzhiyun enable-active-high; 353*4882a593Smuzhiyun 354*4882a593Smuzhiyun vin-supply = <&vdd_5v0_sys>; 355*4882a593Smuzhiyun }; 356*4882a593Smuzhiyun 357*4882a593Smuzhiyun vdd_usb1: regulator@103 { 358*4882a593Smuzhiyun compatible = "regulator-fixed"; 359*4882a593Smuzhiyun regulator-name = "VDD_USB1"; 360*4882a593Smuzhiyun regulator-min-microvolt = <5000000>; 361*4882a593Smuzhiyun regulator-max-microvolt = <5000000>; 362*4882a593Smuzhiyun 363*4882a593Smuzhiyun gpio = <&gpio TEGRA186_MAIN_GPIO(L, 5) GPIO_ACTIVE_HIGH>; 364*4882a593Smuzhiyun enable-active-high; 365*4882a593Smuzhiyun 366*4882a593Smuzhiyun vin-supply = <&vdd_5v0_sys>; 367*4882a593Smuzhiyun }; 368*4882a593Smuzhiyun}; 369