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	i2c@c250000 {
153		/* carrier board ID EEPROM */
154		eeprom@57 {
155			compatible = "atmel,24c02";
156			reg = <0x57>;
157
158			address-bits = <8>;
159			page-size = <8>;
160			size = <256>;
161			read-only;
162		};
163	};
164
165	pcie@10003000 {
166		status = "okay";
167
168		dvdd-pex-supply = <&vdd_pex>;
169		hvdd-pex-pll-supply = <&vdd_1v8>;
170		hvdd-pex-supply = <&vdd_1v8>;
171		vddio-pexctl-aud-supply = <&vdd_1v8>;
172
173		pci@1,0 {
174			nvidia,num-lanes = <4>;
175			status = "okay";
176		};
177
178		pci@2,0 {
179			nvidia,num-lanes = <0>;
180			status = "disabled";
181		};
182
183		pci@3,0 {
184			nvidia,num-lanes = <1>;
185			status = "disabled";
186		};
187	};
188
189	host1x@13e00000 {
190		status = "okay";
191
192		dpaux@15040000 {
193			status = "okay";
194		};
195
196		display-hub@15200000 {
197			status = "okay";
198		};
199
200		dsi@15300000 {
201			status = "disabled";
202		};
203
204		sor@15540000 {
205			status = "disabled";
206
207			nvidia,dpaux = <&dpaux1>;
208		};
209
210		sor@15580000 {
211			status = "okay";
212
213			avdd-io-supply = <&vdd_hdmi_1v05>;
214			vdd-pll-supply = <&vdd_1v8_ap>;
215			hdmi-supply = <&vdd_hdmi>;
216
217			nvidia,ddc-i2c-bus = <&ddc>;
218			nvidia,hpd-gpio = <&gpio TEGRA186_MAIN_GPIO(P, 1)
219						 GPIO_ACTIVE_LOW>;
220		};
221
222		dpaux@155c0000 {
223			status = "okay";
224		};
225	};
226
227	gpio-keys {
228		compatible = "gpio-keys";
229
230		power {
231			label = "Power";
232			gpios = <&gpio_aon TEGRA186_AON_GPIO(FF, 0)
233					   GPIO_ACTIVE_LOW>;
234			linux,input-type = <EV_KEY>;
235			linux,code = <KEY_POWER>;
236			debounce-interval = <10>;
237			wakeup-event-action = <EV_ACT_ASSERTED>;
238			wakeup-source;
239		};
240
241		volume-up {
242			label = "Volume Up";
243			gpios = <&gpio_aon TEGRA186_AON_GPIO(FF, 1)
244					   GPIO_ACTIVE_LOW>;
245			linux,input-type = <EV_KEY>;
246			linux,code = <KEY_VOLUMEUP>;
247			debounce-interval = <10>;
248		};
249
250		volume-down {
251			label = "Volume Down";
252			gpios = <&gpio_aon TEGRA186_AON_GPIO(FF, 2)
253					   GPIO_ACTIVE_LOW>;
254			linux,input-type = <EV_KEY>;
255			linux,code = <KEY_VOLUMEDOWN>;
256			debounce-interval = <10>;
257		};
258	};
259
260	regulators {
261		vdd_sd: regulator@100 {
262			compatible = "regulator-fixed";
263			reg = <100>;
264
265			regulator-name = "SD_CARD_SW_PWR";
266			regulator-min-microvolt = <3300000>;
267			regulator-max-microvolt = <3300000>;
268
269			gpio = <&gpio TEGRA186_MAIN_GPIO(P, 6)
270				      GPIO_ACTIVE_HIGH>;
271			enable-active-high;
272
273			vin-supply = <&vdd_3v3_sys>;
274		};
275
276		vdd_hdmi: regulator@101 {
277			compatible = "regulator-fixed";
278			reg = <101>;
279
280			regulator-name = "VDD_HDMI_5V0";
281			regulator-min-microvolt = <5000000>;
282			regulator-max-microvolt = <5000000>;
283
284			gpio = <&exp1 14 GPIO_ACTIVE_HIGH>;
285			enable-active-high;
286
287			vin-supply = <&vdd_5v0_sys>;
288		};
289
290		vdd_usb0: regulator@102 {
291			compatible = "regulator-fixed";
292			reg = <102>;
293
294			regulator-name = "VDD_USB0";
295			regulator-min-microvolt = <5000000>;
296			regulator-max-microvolt = <5000000>;
297
298			gpio = <&gpio TEGRA186_MAIN_GPIO(L, 4) GPIO_ACTIVE_HIGH>;
299			enable-active-high;
300
301			vin-supply = <&vdd_5v0_sys>;
302		};
303
304		vdd_usb1: regulator@103 {
305			compatible = "regulator-fixed";
306			reg = <103>;
307
308			regulator-name = "VDD_USB1";
309			regulator-min-microvolt = <5000000>;
310			regulator-max-microvolt = <5000000>;
311
312			gpio = <&gpio TEGRA186_MAIN_GPIO(L, 5) GPIO_ACTIVE_HIGH>;
313			enable-active-high;
314
315			vin-supply = <&vdd_5v0_sys>;
316		};
317	};
318};
319