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 "tegra194-p2888.dtsi" 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun/ { 10*4882a593Smuzhiyun model = "NVIDIA Jetson AGX Xavier Developer Kit"; 11*4882a593Smuzhiyun compatible = "nvidia,p2972-0000", "nvidia,tegra194"; 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun bus@0 { 14*4882a593Smuzhiyun aconnect@2900000 { 15*4882a593Smuzhiyun status = "okay"; 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun dma-controller@2930000 { 18*4882a593Smuzhiyun status = "okay"; 19*4882a593Smuzhiyun }; 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun interrupt-controller@2a40000 { 22*4882a593Smuzhiyun status = "okay"; 23*4882a593Smuzhiyun }; 24*4882a593Smuzhiyun }; 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun i2c@3160000 { 27*4882a593Smuzhiyun eeprom@56 { 28*4882a593Smuzhiyun compatible = "atmel,24c02"; 29*4882a593Smuzhiyun reg = <0x56>; 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun label = "system"; 32*4882a593Smuzhiyun vcc-supply = <&vdd_1v8ls>; 33*4882a593Smuzhiyun address-width = <8>; 34*4882a593Smuzhiyun pagesize = <8>; 35*4882a593Smuzhiyun size = <256>; 36*4882a593Smuzhiyun read-only; 37*4882a593Smuzhiyun }; 38*4882a593Smuzhiyun }; 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun ddc: i2c@31c0000 { 41*4882a593Smuzhiyun status = "okay"; 42*4882a593Smuzhiyun }; 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun /* SDMMC1 (SD/MMC) */ 45*4882a593Smuzhiyun mmc@3400000 { 46*4882a593Smuzhiyun status = "okay"; 47*4882a593Smuzhiyun }; 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun hda@3510000 { 50*4882a593Smuzhiyun nvidia,model = "jetson-xavier-hda"; 51*4882a593Smuzhiyun status = "okay"; 52*4882a593Smuzhiyun }; 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun padctl@3520000 { 55*4882a593Smuzhiyun status = "okay"; 56*4882a593Smuzhiyun 57*4882a593Smuzhiyun pads { 58*4882a593Smuzhiyun usb2 { 59*4882a593Smuzhiyun lanes { 60*4882a593Smuzhiyun usb2-1 { 61*4882a593Smuzhiyun status = "okay"; 62*4882a593Smuzhiyun }; 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun usb2-3 { 65*4882a593Smuzhiyun status = "okay"; 66*4882a593Smuzhiyun }; 67*4882a593Smuzhiyun }; 68*4882a593Smuzhiyun }; 69*4882a593Smuzhiyun 70*4882a593Smuzhiyun usb3 { 71*4882a593Smuzhiyun lanes { 72*4882a593Smuzhiyun usb3-0 { 73*4882a593Smuzhiyun status = "okay"; 74*4882a593Smuzhiyun }; 75*4882a593Smuzhiyun 76*4882a593Smuzhiyun usb3-3 { 77*4882a593Smuzhiyun status = "okay"; 78*4882a593Smuzhiyun }; 79*4882a593Smuzhiyun }; 80*4882a593Smuzhiyun }; 81*4882a593Smuzhiyun }; 82*4882a593Smuzhiyun 83*4882a593Smuzhiyun ports { 84*4882a593Smuzhiyun usb2-1 { 85*4882a593Smuzhiyun mode = "host"; 86*4882a593Smuzhiyun status = "okay"; 87*4882a593Smuzhiyun }; 88*4882a593Smuzhiyun 89*4882a593Smuzhiyun usb2-3 { 90*4882a593Smuzhiyun mode = "host"; 91*4882a593Smuzhiyun status = "okay"; 92*4882a593Smuzhiyun }; 93*4882a593Smuzhiyun 94*4882a593Smuzhiyun usb3-0 { 95*4882a593Smuzhiyun nvidia,usb2-companion = <1>; 96*4882a593Smuzhiyun status = "okay"; 97*4882a593Smuzhiyun }; 98*4882a593Smuzhiyun 99*4882a593Smuzhiyun usb3-3 { 100*4882a593Smuzhiyun nvidia,usb2-companion = <3>; 101*4882a593Smuzhiyun maximum-speed = "super-speed"; 102*4882a593Smuzhiyun status = "okay"; 103*4882a593Smuzhiyun }; 104*4882a593Smuzhiyun }; 105*4882a593Smuzhiyun }; 106*4882a593Smuzhiyun 107*4882a593Smuzhiyun usb@3610000 { 108*4882a593Smuzhiyun status = "okay"; 109*4882a593Smuzhiyun 110*4882a593Smuzhiyun phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-1}>, 111*4882a593Smuzhiyun <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-3}>, 112*4882a593Smuzhiyun <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-0}>, 113*4882a593Smuzhiyun <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-3}>; 114*4882a593Smuzhiyun phy-names = "usb2-1", "usb2-3", "usb3-0", "usb3-3"; 115*4882a593Smuzhiyun }; 116*4882a593Smuzhiyun 117*4882a593Smuzhiyun pwm@c340000 { 118*4882a593Smuzhiyun status = "okay"; 119*4882a593Smuzhiyun }; 120*4882a593Smuzhiyun 121*4882a593Smuzhiyun host1x@13e00000 { 122*4882a593Smuzhiyun display-hub@15200000 { 123*4882a593Smuzhiyun status = "okay"; 124*4882a593Smuzhiyun }; 125*4882a593Smuzhiyun 126*4882a593Smuzhiyun dpaux@155c0000 { 127*4882a593Smuzhiyun status = "okay"; 128*4882a593Smuzhiyun }; 129*4882a593Smuzhiyun 130*4882a593Smuzhiyun dpaux@155d0000 { 131*4882a593Smuzhiyun status = "okay"; 132*4882a593Smuzhiyun }; 133*4882a593Smuzhiyun 134*4882a593Smuzhiyun dpaux@155e0000 { 135*4882a593Smuzhiyun status = "okay"; 136*4882a593Smuzhiyun }; 137*4882a593Smuzhiyun 138*4882a593Smuzhiyun /* DP0 */ 139*4882a593Smuzhiyun sor@15b00000 { 140*4882a593Smuzhiyun status = "okay"; 141*4882a593Smuzhiyun 142*4882a593Smuzhiyun avdd-io-hdmi-dp-supply = <&vdd_1v0>; 143*4882a593Smuzhiyun vdd-hdmi-dp-pll-supply = <&vdd_1v8hs>; 144*4882a593Smuzhiyun 145*4882a593Smuzhiyun nvidia,dpaux = <&dpaux0>; 146*4882a593Smuzhiyun }; 147*4882a593Smuzhiyun 148*4882a593Smuzhiyun /* DP1 */ 149*4882a593Smuzhiyun sor@15b40000 { 150*4882a593Smuzhiyun status = "okay"; 151*4882a593Smuzhiyun 152*4882a593Smuzhiyun avdd-io-hdmi-dp-supply = <&vdd_1v0>; 153*4882a593Smuzhiyun vdd-hdmi-dp-pll-supply = <&vdd_1v8hs>; 154*4882a593Smuzhiyun 155*4882a593Smuzhiyun nvidia,dpaux = <&dpaux1>; 156*4882a593Smuzhiyun }; 157*4882a593Smuzhiyun 158*4882a593Smuzhiyun /* HDMI */ 159*4882a593Smuzhiyun sor@15b80000 { 160*4882a593Smuzhiyun status = "okay"; 161*4882a593Smuzhiyun 162*4882a593Smuzhiyun avdd-io-hdmi-dp-supply = <&vdd_1v0>; 163*4882a593Smuzhiyun vdd-hdmi-dp-pll-supply = <&vdd_1v8hs>; 164*4882a593Smuzhiyun hdmi-supply = <&vdd_hdmi>; 165*4882a593Smuzhiyun 166*4882a593Smuzhiyun nvidia,ddc-i2c-bus = <&ddc>; 167*4882a593Smuzhiyun nvidia,hpd-gpio = <&gpio TEGRA194_MAIN_GPIO(M, 2) 168*4882a593Smuzhiyun GPIO_ACTIVE_LOW>; 169*4882a593Smuzhiyun }; 170*4882a593Smuzhiyun }; 171*4882a593Smuzhiyun }; 172*4882a593Smuzhiyun 173*4882a593Smuzhiyun pcie@14100000 { 174*4882a593Smuzhiyun status = "okay"; 175*4882a593Smuzhiyun 176*4882a593Smuzhiyun vddio-pex-ctl-supply = <&vdd_1v8ao>; 177*4882a593Smuzhiyun 178*4882a593Smuzhiyun phys = <&p2u_hsio_0>; 179*4882a593Smuzhiyun phy-names = "p2u-0"; 180*4882a593Smuzhiyun }; 181*4882a593Smuzhiyun 182*4882a593Smuzhiyun pcie@14140000 { 183*4882a593Smuzhiyun status = "okay"; 184*4882a593Smuzhiyun 185*4882a593Smuzhiyun vddio-pex-ctl-supply = <&vdd_1v8ao>; 186*4882a593Smuzhiyun 187*4882a593Smuzhiyun phys = <&p2u_hsio_7>; 188*4882a593Smuzhiyun phy-names = "p2u-0"; 189*4882a593Smuzhiyun }; 190*4882a593Smuzhiyun 191*4882a593Smuzhiyun pcie@14180000 { 192*4882a593Smuzhiyun status = "okay"; 193*4882a593Smuzhiyun 194*4882a593Smuzhiyun vddio-pex-ctl-supply = <&vdd_1v8ao>; 195*4882a593Smuzhiyun 196*4882a593Smuzhiyun phys = <&p2u_hsio_2>, <&p2u_hsio_3>, <&p2u_hsio_4>, 197*4882a593Smuzhiyun <&p2u_hsio_5>; 198*4882a593Smuzhiyun phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3"; 199*4882a593Smuzhiyun }; 200*4882a593Smuzhiyun 201*4882a593Smuzhiyun pcie@141a0000 { 202*4882a593Smuzhiyun status = "okay"; 203*4882a593Smuzhiyun 204*4882a593Smuzhiyun vddio-pex-ctl-supply = <&vdd_1v8ao>; 205*4882a593Smuzhiyun vpcie3v3-supply = <&vdd_3v3_pcie>; 206*4882a593Smuzhiyun vpcie12v-supply = <&vdd_12v_pcie>; 207*4882a593Smuzhiyun 208*4882a593Smuzhiyun phys = <&p2u_nvhs_0>, <&p2u_nvhs_1>, <&p2u_nvhs_2>, 209*4882a593Smuzhiyun <&p2u_nvhs_3>, <&p2u_nvhs_4>, <&p2u_nvhs_5>, 210*4882a593Smuzhiyun <&p2u_nvhs_6>, <&p2u_nvhs_7>; 211*4882a593Smuzhiyun 212*4882a593Smuzhiyun phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3", "p2u-4", 213*4882a593Smuzhiyun "p2u-5", "p2u-6", "p2u-7"; 214*4882a593Smuzhiyun }; 215*4882a593Smuzhiyun 216*4882a593Smuzhiyun pcie_ep@141a0000 { 217*4882a593Smuzhiyun status = "disabled"; 218*4882a593Smuzhiyun 219*4882a593Smuzhiyun vddio-pex-ctl-supply = <&vdd_1v8ao>; 220*4882a593Smuzhiyun 221*4882a593Smuzhiyun reset-gpios = <&gpio TEGRA194_MAIN_GPIO(GG, 1) GPIO_ACTIVE_LOW>; 222*4882a593Smuzhiyun 223*4882a593Smuzhiyun nvidia,refclk-select-gpios = <&gpio_aon TEGRA194_AON_GPIO(AA, 5) 224*4882a593Smuzhiyun GPIO_ACTIVE_HIGH>; 225*4882a593Smuzhiyun 226*4882a593Smuzhiyun phys = <&p2u_nvhs_0>, <&p2u_nvhs_1>, <&p2u_nvhs_2>, 227*4882a593Smuzhiyun <&p2u_nvhs_3>, <&p2u_nvhs_4>, <&p2u_nvhs_5>, 228*4882a593Smuzhiyun <&p2u_nvhs_6>, <&p2u_nvhs_7>; 229*4882a593Smuzhiyun 230*4882a593Smuzhiyun phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3", "p2u-4", 231*4882a593Smuzhiyun "p2u-5", "p2u-6", "p2u-7"; 232*4882a593Smuzhiyun }; 233*4882a593Smuzhiyun 234*4882a593Smuzhiyun fan: fan { 235*4882a593Smuzhiyun compatible = "pwm-fan"; 236*4882a593Smuzhiyun pwms = <&pwm4 0 45334>; 237*4882a593Smuzhiyun 238*4882a593Smuzhiyun cooling-levels = <0 64 128 255>; 239*4882a593Smuzhiyun #cooling-cells = <2>; 240*4882a593Smuzhiyun }; 241*4882a593Smuzhiyun 242*4882a593Smuzhiyun gpio-keys { 243*4882a593Smuzhiyun compatible = "gpio-keys"; 244*4882a593Smuzhiyun 245*4882a593Smuzhiyun force-recovery { 246*4882a593Smuzhiyun label = "Force Recovery"; 247*4882a593Smuzhiyun gpios = <&gpio TEGRA194_MAIN_GPIO(G, 0) 248*4882a593Smuzhiyun GPIO_ACTIVE_LOW>; 249*4882a593Smuzhiyun linux,input-type = <EV_KEY>; 250*4882a593Smuzhiyun linux,code = <KEY_SLEEP>; 251*4882a593Smuzhiyun debounce-interval = <10>; 252*4882a593Smuzhiyun }; 253*4882a593Smuzhiyun 254*4882a593Smuzhiyun power { 255*4882a593Smuzhiyun label = "Power"; 256*4882a593Smuzhiyun gpios = <&gpio_aon TEGRA194_AON_GPIO(EE, 4) 257*4882a593Smuzhiyun GPIO_ACTIVE_LOW>; 258*4882a593Smuzhiyun linux,input-type = <EV_KEY>; 259*4882a593Smuzhiyun linux,code = <KEY_POWER>; 260*4882a593Smuzhiyun debounce-interval = <10>; 261*4882a593Smuzhiyun wakeup-event-action = <EV_ACT_ASSERTED>; 262*4882a593Smuzhiyun wakeup-source; 263*4882a593Smuzhiyun }; 264*4882a593Smuzhiyun }; 265*4882a593Smuzhiyun 266*4882a593Smuzhiyun thermal-zones { 267*4882a593Smuzhiyun cpu { 268*4882a593Smuzhiyun polling-delay = <0>; 269*4882a593Smuzhiyun polling-delay-passive = <500>; 270*4882a593Smuzhiyun status = "okay"; 271*4882a593Smuzhiyun 272*4882a593Smuzhiyun trips { 273*4882a593Smuzhiyun cpu_trip_critical: critical { 274*4882a593Smuzhiyun temperature = <96500>; 275*4882a593Smuzhiyun hysteresis = <0>; 276*4882a593Smuzhiyun type = "critical"; 277*4882a593Smuzhiyun }; 278*4882a593Smuzhiyun 279*4882a593Smuzhiyun cpu_trip_hot: hot { 280*4882a593Smuzhiyun temperature = <70000>; 281*4882a593Smuzhiyun hysteresis = <2000>; 282*4882a593Smuzhiyun type = "hot"; 283*4882a593Smuzhiyun }; 284*4882a593Smuzhiyun 285*4882a593Smuzhiyun cpu_trip_active: active { 286*4882a593Smuzhiyun temperature = <50000>; 287*4882a593Smuzhiyun hysteresis = <2000>; 288*4882a593Smuzhiyun type = "active"; 289*4882a593Smuzhiyun }; 290*4882a593Smuzhiyun 291*4882a593Smuzhiyun cpu_trip_passive: passive { 292*4882a593Smuzhiyun temperature = <30000>; 293*4882a593Smuzhiyun hysteresis = <2000>; 294*4882a593Smuzhiyun type = "passive"; 295*4882a593Smuzhiyun }; 296*4882a593Smuzhiyun }; 297*4882a593Smuzhiyun 298*4882a593Smuzhiyun cooling-maps { 299*4882a593Smuzhiyun cpu-critical { 300*4882a593Smuzhiyun cooling-device = <&fan 3 3>; 301*4882a593Smuzhiyun trip = <&cpu_trip_critical>; 302*4882a593Smuzhiyun }; 303*4882a593Smuzhiyun 304*4882a593Smuzhiyun cpu-hot { 305*4882a593Smuzhiyun cooling-device = <&fan 2 2>; 306*4882a593Smuzhiyun trip = <&cpu_trip_hot>; 307*4882a593Smuzhiyun }; 308*4882a593Smuzhiyun 309*4882a593Smuzhiyun cpu-active { 310*4882a593Smuzhiyun cooling-device = <&fan 1 1>; 311*4882a593Smuzhiyun trip = <&cpu_trip_active>; 312*4882a593Smuzhiyun }; 313*4882a593Smuzhiyun 314*4882a593Smuzhiyun cpu-passive { 315*4882a593Smuzhiyun cooling-device = <&fan 0 0>; 316*4882a593Smuzhiyun trip = <&cpu_trip_passive>; 317*4882a593Smuzhiyun }; 318*4882a593Smuzhiyun }; 319*4882a593Smuzhiyun }; 320*4882a593Smuzhiyun 321*4882a593Smuzhiyun gpu { 322*4882a593Smuzhiyun polling-delay = <0>; 323*4882a593Smuzhiyun polling-delay-passive = <500>; 324*4882a593Smuzhiyun status = "okay"; 325*4882a593Smuzhiyun 326*4882a593Smuzhiyun trips { 327*4882a593Smuzhiyun gpu_alert0: critical { 328*4882a593Smuzhiyun temperature = <99000>; 329*4882a593Smuzhiyun hysteresis = <0>; 330*4882a593Smuzhiyun type = "critical"; 331*4882a593Smuzhiyun }; 332*4882a593Smuzhiyun }; 333*4882a593Smuzhiyun }; 334*4882a593Smuzhiyun 335*4882a593Smuzhiyun aux { 336*4882a593Smuzhiyun polling-delay = <0>; 337*4882a593Smuzhiyun polling-delay-passive = <500>; 338*4882a593Smuzhiyun status = "okay"; 339*4882a593Smuzhiyun 340*4882a593Smuzhiyun trips { 341*4882a593Smuzhiyun aux_alert0: critical { 342*4882a593Smuzhiyun temperature = <90000>; 343*4882a593Smuzhiyun hysteresis = <0>; 344*4882a593Smuzhiyun type = "critical"; 345*4882a593Smuzhiyun }; 346*4882a593Smuzhiyun }; 347*4882a593Smuzhiyun }; 348*4882a593Smuzhiyun }; 349*4882a593Smuzhiyun}; 350