1b2441318SGreg Kroah-Hartman// SPDX-License-Identifier: GPL-2.0
299575bceSJoseph Lo/dts-v1/;
399575bceSJoseph Lo
459686a92SThierry Reding#include <dt-bindings/input/linux-event-codes.h>
56f13f10bSThierry Reding#include <dt-bindings/input/gpio-keys.h>
659686a92SThierry Reding
799575bceSJoseph Lo#include "tegra186-p3310.dtsi"
899575bceSJoseph Lo
999575bceSJoseph Lo/ {
10a0c0cdc9SThierry Reding	model = "NVIDIA Jetson TX2 Developer Kit";
1199575bceSJoseph Lo	compatible = "nvidia,p2771-0000", "nvidia,tegra186";
12b0ddea85SThierry Reding
13b693b3d7SThierry Reding	i2c@3160000 {
14b693b3d7SThierry Reding		power-monitor@42 {
15b693b3d7SThierry Reding			compatible = "ti,ina3221";
16b693b3d7SThierry Reding			reg = <0x42>;
1708c7c74bSNicolin Chen			#address-cells = <1>;
1808c7c74bSNicolin Chen			#size-cells = <0>;
1908c7c74bSNicolin Chen
2008c7c74bSNicolin Chen			channel@0 {
2108c7c74bSNicolin Chen				reg = <0x0>;
2208c7c74bSNicolin Chen				label = "VDD_MUX";
2308c7c74bSNicolin Chen				shunt-resistor-micro-ohms = <20000>;
2408c7c74bSNicolin Chen			};
2508c7c74bSNicolin Chen
2608c7c74bSNicolin Chen			channel@1 {
2708c7c74bSNicolin Chen				reg = <0x1>;
2808c7c74bSNicolin Chen				label = "VDD_5V0_IO_SYS";
2908c7c74bSNicolin Chen				shunt-resistor-micro-ohms = <5000>;
3008c7c74bSNicolin Chen			};
3108c7c74bSNicolin Chen
3208c7c74bSNicolin Chen			channel@2 {
3308c7c74bSNicolin Chen				reg = <0x2>;
3408c7c74bSNicolin Chen				label = "VDD_3V3_SYS";
3508c7c74bSNicolin Chen				shunt-resistor-micro-ohms = <10000>;
3608c7c74bSNicolin Chen			};
37b693b3d7SThierry Reding		};
38b693b3d7SThierry Reding
39b693b3d7SThierry Reding		power-monitor@43 {
40b693b3d7SThierry Reding			compatible = "ti,ina3221";
41b693b3d7SThierry Reding			reg = <0x43>;
4208c7c74bSNicolin Chen			#address-cells = <1>;
4308c7c74bSNicolin Chen			#size-cells = <0>;
4408c7c74bSNicolin Chen
4508c7c74bSNicolin Chen			channel@0 {
4608c7c74bSNicolin Chen				reg = <0x0>;
4708c7c74bSNicolin Chen				label = "VDD_3V3_IO_SLP";
4808c7c74bSNicolin Chen				shunt-resistor-micro-ohms = <10000>;
4908c7c74bSNicolin Chen			};
5008c7c74bSNicolin Chen
5108c7c74bSNicolin Chen			channel@1 {
5208c7c74bSNicolin Chen				reg = <0x1>;
5308c7c74bSNicolin Chen				label = "VDD_1V8_IO";
5408c7c74bSNicolin Chen				shunt-resistor-micro-ohms = <10000>;
5508c7c74bSNicolin Chen			};
5608c7c74bSNicolin Chen
5708c7c74bSNicolin Chen			channel@2 {
5808c7c74bSNicolin Chen				reg = <0x2>;
5908c7c74bSNicolin Chen				label = "VDD_M2_IN";
6008c7c74bSNicolin Chen				shunt-resistor-micro-ohms = <10000>;
6108c7c74bSNicolin Chen			};
62b693b3d7SThierry Reding		};
63b27d5250SThierry Reding
64b27d5250SThierry Reding		exp1: gpio@74 {
65b27d5250SThierry Reding			compatible = "ti,tca9539";
66b27d5250SThierry Reding			reg = <0x74>;
67b27d5250SThierry Reding
68b27d5250SThierry Reding			interrupt-parent = <&gpio>;
69d428f35dSThierry Reding			interrupts = <TEGRA186_MAIN_GPIO(Y, 0)
70d428f35dSThierry Reding				      GPIO_ACTIVE_LOW>;
71b27d5250SThierry Reding
72b27d5250SThierry Reding			#gpio-cells = <2>;
73b27d5250SThierry Reding			gpio-controller;
74c4502cc3SThierry Reding
75c4502cc3SThierry Reding			vcc-supply = <&vdd_3v3_sys>;
76b27d5250SThierry Reding		};
77b27d5250SThierry Reding
78b27d5250SThierry Reding		exp2: gpio@77 {
79b27d5250SThierry Reding			compatible = "ti,tca9539";
80b27d5250SThierry Reding			reg = <0x77>;
81b27d5250SThierry Reding
82b27d5250SThierry Reding			interrupt-parent = <&gpio>;
83d428f35dSThierry Reding			interrupts = <TEGRA186_MAIN_GPIO(Y, 6)
84d428f35dSThierry Reding				      GPIO_ACTIVE_LOW>;
85b27d5250SThierry Reding
86b27d5250SThierry Reding			#gpio-cells = <2>;
87b27d5250SThierry Reding			gpio-controller;
88c4502cc3SThierry Reding
89c4502cc3SThierry Reding			vcc-supply = <&vdd_1v8>;
90b27d5250SThierry Reding		};
91b693b3d7SThierry Reding	};
92b693b3d7SThierry Reding
93b0ddea85SThierry Reding	/* SDMMC1 (SD/MMC) */
94b0ddea85SThierry Reding	sdhci@3400000 {
95b0ddea85SThierry Reding		status = "okay";
96b0ddea85SThierry Reding
97b0ddea85SThierry Reding		vmmc-supply = <&vdd_sd>;
98b0ddea85SThierry Reding	};
99b0ddea85SThierry Reding
1007c3adf12SThierry Reding	hda@3510000 {
10111ce4308SSameer Pujar		nvidia,model = "jetson-tx2-hda";
1027c3adf12SThierry Reding		status = "okay";
1037c3adf12SThierry Reding	};
1047c3adf12SThierry Reding
10572f8ae3fSThierry Reding	padctl@3520000 {
10672783584SThierry Reding		status = "disabled";
10772f8ae3fSThierry Reding
10872f8ae3fSThierry Reding		avdd-pll-erefeut-supply = <&vdd_1v8_pll>;
10972f8ae3fSThierry Reding		avdd-usb-supply = <&vdd_3v3_sys>;
11072f8ae3fSThierry Reding		dvdd-pex-supply = <&vdd_pex>;
11172f8ae3fSThierry Reding		dvdd-pex-pll-supply = <&vdd_pex>;
11272f8ae3fSThierry Reding		hvdd-pex-supply = <&vdd_1v8>;
11372f8ae3fSThierry Reding		hvdd-pex-pll-supply = <&vdd_1v8>;
11472f8ae3fSThierry Reding		vclamp-usb-supply = <&vdd_1v8>;
11572f8ae3fSThierry Reding		vddio-hsic-supply = <&gnd>;
11672f8ae3fSThierry Reding
11772f8ae3fSThierry Reding		pads {
11872f8ae3fSThierry Reding			usb2 {
11972f8ae3fSThierry Reding				status = "okay";
12072f8ae3fSThierry Reding
12172f8ae3fSThierry Reding				lanes {
12272f8ae3fSThierry Reding					usb2-0 {
12372f8ae3fSThierry Reding						nvidia,function = "xusb";
12472f8ae3fSThierry Reding						status = "okay";
12572f8ae3fSThierry Reding					};
12672f8ae3fSThierry Reding
12772f8ae3fSThierry Reding					usb2-1 {
12872f8ae3fSThierry Reding						nvidia,function = "xusb";
12972f8ae3fSThierry Reding						status = "okay";
13072f8ae3fSThierry Reding					};
13172f8ae3fSThierry Reding
13272f8ae3fSThierry Reding					usb2-2 {
13372f8ae3fSThierry Reding						nvidia,function = "xusb";
13472f8ae3fSThierry Reding						status = "okay";
13572f8ae3fSThierry Reding					};
13672f8ae3fSThierry Reding				};
13772f8ae3fSThierry Reding			};
13872f8ae3fSThierry Reding
13972f8ae3fSThierry Reding			usb3 {
14072f8ae3fSThierry Reding				status = "okay";
14172f8ae3fSThierry Reding
14272f8ae3fSThierry Reding				lanes {
14372f8ae3fSThierry Reding					usb3-0 {
14472f8ae3fSThierry Reding						nvidia,function = "xusb";
14572f8ae3fSThierry Reding						status = "okay";
14672f8ae3fSThierry Reding					};
14772f8ae3fSThierry Reding
14872f8ae3fSThierry Reding					usb3-1 {
14972f8ae3fSThierry Reding						nvidia,function = "xusb";
15072f8ae3fSThierry Reding						status = "okay";
15172f8ae3fSThierry Reding					};
15272f8ae3fSThierry Reding
15372f8ae3fSThierry Reding					usb3-2 {
15472f8ae3fSThierry Reding						nvidia,function = "xusb";
15572f8ae3fSThierry Reding						status = "okay";
15672f8ae3fSThierry Reding					};
15772f8ae3fSThierry Reding				};
15872f8ae3fSThierry Reding			};
15972f8ae3fSThierry Reding		};
16072f8ae3fSThierry Reding
16172f8ae3fSThierry Reding		ports {
16272f8ae3fSThierry Reding			usb2-0 {
16372f8ae3fSThierry Reding				status = "okay";
16472f8ae3fSThierry Reding				mode = "otg";
16572f8ae3fSThierry Reding
16672f8ae3fSThierry Reding				vbus-supply = <&vdd_usb0>;
16772f8ae3fSThierry Reding			};
16872f8ae3fSThierry Reding
16972f8ae3fSThierry Reding			usb2-1 {
17072f8ae3fSThierry Reding				status = "okay";
17172f8ae3fSThierry Reding				mode = "host";
17272f8ae3fSThierry Reding
17372f8ae3fSThierry Reding				vbus-supply = <&vdd_usb1>;
17472f8ae3fSThierry Reding			};
17572f8ae3fSThierry Reding
17672f8ae3fSThierry Reding			usb3-0 {
17772f8ae3fSThierry Reding				nvidia,usb2-companion = <1>;
17872f8ae3fSThierry Reding				status = "okay";
17972f8ae3fSThierry Reding			};
18072f8ae3fSThierry Reding		};
18172f8ae3fSThierry Reding	};
18272f8ae3fSThierry Reding
18372f8ae3fSThierry Reding	usb@3530000 {
18472783584SThierry Reding		status = "disabled";
18572f8ae3fSThierry Reding
18672f8ae3fSThierry Reding		phys = <&{/padctl@3520000/pads/usb2/lanes/usb2-0}>,
18772f8ae3fSThierry Reding		       <&{/padctl@3520000/pads/usb2/lanes/usb2-1}>,
18872f8ae3fSThierry Reding		       <&{/padctl@3520000/pads/usb3/lanes/usb3-0}>;
18972f8ae3fSThierry Reding		phy-names = "usb2-0", "usb2-1", "usb3-0";
19072f8ae3fSThierry Reding	};
19172f8ae3fSThierry Reding
1925205abd2SThierry Reding	i2c@c250000 {
1935205abd2SThierry Reding		/* carrier board ID EEPROM */
1945205abd2SThierry Reding		eeprom@57 {
1955205abd2SThierry Reding			compatible = "atmel,24c02";
1965205abd2SThierry Reding			reg = <0x57>;
1975205abd2SThierry Reding
1985205abd2SThierry Reding			address-bits = <8>;
1995205abd2SThierry Reding			page-size = <8>;
2005205abd2SThierry Reding			size = <256>;
2015205abd2SThierry Reding			read-only;
2025205abd2SThierry Reding		};
2035205abd2SThierry Reding	};
2045205abd2SThierry Reding
20589b469ccSManikanta Maddireddy	pcie@10003000 {
20689b469ccSManikanta Maddireddy		status = "okay";
20789b469ccSManikanta Maddireddy
20889b469ccSManikanta Maddireddy		dvdd-pex-supply = <&vdd_pex>;
20989b469ccSManikanta Maddireddy		hvdd-pex-pll-supply = <&vdd_1v8>;
21089b469ccSManikanta Maddireddy		hvdd-pex-supply = <&vdd_1v8>;
21189b469ccSManikanta Maddireddy		vddio-pexctl-aud-supply = <&vdd_1v8>;
21289b469ccSManikanta Maddireddy
21389b469ccSManikanta Maddireddy		pci@1,0 {
21489b469ccSManikanta Maddireddy			nvidia,num-lanes = <4>;
21589b469ccSManikanta Maddireddy			status = "okay";
21689b469ccSManikanta Maddireddy		};
21789b469ccSManikanta Maddireddy
21889b469ccSManikanta Maddireddy		pci@2,0 {
21989b469ccSManikanta Maddireddy			nvidia,num-lanes = <0>;
22089b469ccSManikanta Maddireddy			status = "disabled";
22189b469ccSManikanta Maddireddy		};
22289b469ccSManikanta Maddireddy
22389b469ccSManikanta Maddireddy		pci@3,0 {
22489b469ccSManikanta Maddireddy			nvidia,num-lanes = <1>;
22589b469ccSManikanta Maddireddy			status = "disabled";
22689b469ccSManikanta Maddireddy		};
22789b469ccSManikanta Maddireddy	};
22889b469ccSManikanta Maddireddy
22936328505SThierry Reding	host1x@13e00000 {
23036328505SThierry Reding		status = "okay";
23136328505SThierry Reding
23236328505SThierry Reding		dpaux@15040000 {
23336328505SThierry Reding			status = "okay";
23436328505SThierry Reding		};
23536328505SThierry Reding
23636328505SThierry Reding		display-hub@15200000 {
23736328505SThierry Reding			status = "okay";
23836328505SThierry Reding		};
23936328505SThierry Reding
24036328505SThierry Reding		dsi@15300000 {
24136328505SThierry Reding			status = "disabled";
24236328505SThierry Reding		};
24336328505SThierry Reding
24436328505SThierry Reding		sor@15540000 {
24536328505SThierry Reding			status = "disabled";
24636328505SThierry Reding
24736328505SThierry Reding			nvidia,dpaux = <&dpaux1>;
24836328505SThierry Reding		};
24936328505SThierry Reding
25036328505SThierry Reding		sor@15580000 {
25136328505SThierry Reding			status = "okay";
25236328505SThierry Reding
25336328505SThierry Reding			avdd-io-supply = <&vdd_hdmi_1v05>;
25436328505SThierry Reding			vdd-pll-supply = <&vdd_1v8_ap>;
25536328505SThierry Reding			hdmi-supply = <&vdd_hdmi>;
25636328505SThierry Reding
25736328505SThierry Reding			nvidia,ddc-i2c-bus = <&ddc>;
258d428f35dSThierry Reding			nvidia,hpd-gpio = <&gpio TEGRA186_MAIN_GPIO(P, 1)
259d428f35dSThierry Reding						 GPIO_ACTIVE_LOW>;
26036328505SThierry Reding		};
26136328505SThierry Reding
26236328505SThierry Reding		dpaux@155c0000 {
26336328505SThierry Reding			status = "okay";
26436328505SThierry Reding		};
26536328505SThierry Reding	};
26636328505SThierry Reding
26759686a92SThierry Reding	gpio-keys {
26859686a92SThierry Reding		compatible = "gpio-keys";
26959686a92SThierry Reding
27059686a92SThierry Reding		power {
27159686a92SThierry Reding			label = "Power";
272d428f35dSThierry Reding			gpios = <&gpio_aon TEGRA186_AON_GPIO(FF, 0)
27359686a92SThierry Reding					   GPIO_ACTIVE_LOW>;
27459686a92SThierry Reding			linux,input-type = <EV_KEY>;
27559686a92SThierry Reding			linux,code = <KEY_POWER>;
27659686a92SThierry Reding			debounce-interval = <10>;
2776f13f10bSThierry Reding			wakeup-event-action = <EV_ACT_ASSERTED>;
27859686a92SThierry Reding			wakeup-source;
27959686a92SThierry Reding		};
28059686a92SThierry Reding
28159686a92SThierry Reding		volume-up {
28259686a92SThierry Reding			label = "Volume Up";
283d428f35dSThierry Reding			gpios = <&gpio_aon TEGRA186_AON_GPIO(FF, 1)
28459686a92SThierry Reding					   GPIO_ACTIVE_LOW>;
28559686a92SThierry Reding			linux,input-type = <EV_KEY>;
28659686a92SThierry Reding			linux,code = <KEY_VOLUMEUP>;
28759686a92SThierry Reding			debounce-interval = <10>;
28859686a92SThierry Reding		};
28959686a92SThierry Reding
29059686a92SThierry Reding		volume-down {
29159686a92SThierry Reding			label = "Volume Down";
292d428f35dSThierry Reding			gpios = <&gpio_aon TEGRA186_AON_GPIO(FF, 2)
29359686a92SThierry Reding					   GPIO_ACTIVE_LOW>;
29459686a92SThierry Reding			linux,input-type = <EV_KEY>;
29559686a92SThierry Reding			linux,code = <KEY_VOLUMEDOWN>;
29659686a92SThierry Reding			debounce-interval = <10>;
29759686a92SThierry Reding		};
29859686a92SThierry Reding	};
29959686a92SThierry Reding
300b0ddea85SThierry Reding	regulators {
301b0ddea85SThierry Reding		vdd_sd: regulator@100 {
302b0ddea85SThierry Reding			compatible = "regulator-fixed";
303b0ddea85SThierry Reding			reg = <100>;
304b0ddea85SThierry Reding
305b0ddea85SThierry Reding			regulator-name = "SD_CARD_SW_PWR";
306b0ddea85SThierry Reding			regulator-min-microvolt = <3300000>;
307b0ddea85SThierry Reding			regulator-max-microvolt = <3300000>;
308b0ddea85SThierry Reding
309d428f35dSThierry Reding			gpio = <&gpio TEGRA186_MAIN_GPIO(P, 6)
310d428f35dSThierry Reding				      GPIO_ACTIVE_HIGH>;
311b0ddea85SThierry Reding			enable-active-high;
312b0ddea85SThierry Reding
313b0ddea85SThierry Reding			vin-supply = <&vdd_3v3_sys>;
314b0ddea85SThierry Reding		};
31536328505SThierry Reding
31636328505SThierry Reding		vdd_hdmi: regulator@101 {
31736328505SThierry Reding			compatible = "regulator-fixed";
31836328505SThierry Reding			reg = <101>;
31936328505SThierry Reding
32036328505SThierry Reding			regulator-name = "VDD_HDMI_5V0";
32136328505SThierry Reding			regulator-min-microvolt = <5000000>;
32236328505SThierry Reding			regulator-max-microvolt = <5000000>;
32336328505SThierry Reding
32436328505SThierry Reding			gpio = <&exp1 14 GPIO_ACTIVE_HIGH>;
32536328505SThierry Reding			enable-active-high;
32636328505SThierry Reding
32736328505SThierry Reding			vin-supply = <&vdd_5v0_sys>;
32836328505SThierry Reding		};
32972f8ae3fSThierry Reding
33072f8ae3fSThierry Reding		vdd_usb0: regulator@102 {
33172f8ae3fSThierry Reding			compatible = "regulator-fixed";
33272f8ae3fSThierry Reding			reg = <102>;
33372f8ae3fSThierry Reding
33472f8ae3fSThierry Reding			regulator-name = "VDD_USB0";
33572f8ae3fSThierry Reding			regulator-min-microvolt = <5000000>;
33672f8ae3fSThierry Reding			regulator-max-microvolt = <5000000>;
33772f8ae3fSThierry Reding
3382db4a1a5SThierry Reding			gpio = <&gpio TEGRA186_MAIN_GPIO(L, 4) GPIO_ACTIVE_HIGH>;
33972f8ae3fSThierry Reding			enable-active-high;
34072f8ae3fSThierry Reding
34172f8ae3fSThierry Reding			vin-supply = <&vdd_5v0_sys>;
34272f8ae3fSThierry Reding		};
34372f8ae3fSThierry Reding
34472f8ae3fSThierry Reding		vdd_usb1: regulator@103 {
34572f8ae3fSThierry Reding			compatible = "regulator-fixed";
34672f8ae3fSThierry Reding			reg = <103>;
34772f8ae3fSThierry Reding
34872f8ae3fSThierry Reding			regulator-name = "VDD_USB1";
34972f8ae3fSThierry Reding			regulator-min-microvolt = <5000000>;
35072f8ae3fSThierry Reding			regulator-max-microvolt = <5000000>;
35172f8ae3fSThierry Reding
3522db4a1a5SThierry Reding			gpio = <&gpio TEGRA186_MAIN_GPIO(L, 5) GPIO_ACTIVE_HIGH>;
35372f8ae3fSThierry Reding			enable-active-high;
35472f8ae3fSThierry Reding
35572f8ae3fSThierry Reding			vin-supply = <&vdd_5v0_sys>;
35672f8ae3fSThierry Reding		};
357b0ddea85SThierry Reding	};
35899575bceSJoseph Lo};
359