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