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