xref: /openbmc/u-boot/arch/arm/dts/tegra124-nyan.dtsi (revision 888f9aa5cac4227e540a5c91a744ac7bed386e70)
1300e2353SSimon Glass#include <dt-bindings/input/input.h>
2300e2353SSimon Glass#include "tegra124.dtsi"
3300e2353SSimon Glass
4300e2353SSimon Glass/ {
5300e2353SSimon Glass	aliases {
6eb631d7fSStephen Warren		rtc0 = "/i2c@7000d000/pmic@40";
7eb631d7fSStephen Warren		rtc1 = "/rtc@7000e000";
8300e2353SSimon Glass		serial0 = &uarta;
9300e2353SSimon Glass	};
10300e2353SSimon Glass
11300e2353SSimon Glass	memory {
12300e2353SSimon Glass		reg = <0x80000000 0x80000000>;
13300e2353SSimon Glass	};
14300e2353SSimon Glass
15300e2353SSimon Glass	host1x@50000000 {
16300e2353SSimon Glass		hdmi@54280000 {
17300e2353SSimon Glass			status = "okay";
18300e2353SSimon Glass
19300e2353SSimon Glass			vdd-supply = <&vdd_3v3_hdmi>;
20300e2353SSimon Glass			pll-supply = <&vdd_hdmi_pll>;
21300e2353SSimon Glass			hdmi-supply = <&vdd_5v0_hdmi>;
22300e2353SSimon Glass
23300e2353SSimon Glass			nvidia,ddc-i2c-bus = <&hdmi_ddc>;
24300e2353SSimon Glass			nvidia,hpd-gpio =
25300e2353SSimon Glass				<&gpio TEGRA_GPIO(N, 7) GPIO_ACTIVE_HIGH>;
26300e2353SSimon Glass		};
27300e2353SSimon Glass
28300e2353SSimon Glass		sor@54540000 {
29300e2353SSimon Glass			status = "okay";
30300e2353SSimon Glass
31300e2353SSimon Glass			nvidia,dpaux = <&dpaux>;
32300e2353SSimon Glass			nvidia,panel = <&panel>;
33300e2353SSimon Glass		};
34300e2353SSimon Glass
35300e2353SSimon Glass		dpaux@545c0000 {
36300e2353SSimon Glass			vdd-supply = <&vdd_3v3_panel>;
37300e2353SSimon Glass			status = "okay";
38300e2353SSimon Glass		};
39300e2353SSimon Glass	};
40300e2353SSimon Glass
41300e2353SSimon Glass	serial@70006000 {
42300e2353SSimon Glass		/* Debug connector on the bottom of the board near SD card. */
43300e2353SSimon Glass		status = "okay";
44300e2353SSimon Glass	};
45300e2353SSimon Glass
46300e2353SSimon Glass	pwm@7000a000 {
47300e2353SSimon Glass		status = "okay";
48300e2353SSimon Glass	};
49300e2353SSimon Glass
50300e2353SSimon Glass	i2c@7000c000 {
51300e2353SSimon Glass		status = "okay";
52300e2353SSimon Glass		clock-frequency = <100000>;
53300e2353SSimon Glass
54300e2353SSimon Glass		acodec: audio-codec@10 {
55300e2353SSimon Glass			compatible = "maxim,max98090";
56300e2353SSimon Glass			reg = <0x10>;
57300e2353SSimon Glass			interrupt-parent = <&gpio>;
58300e2353SSimon Glass			interrupts = <TEGRA_GPIO(H, 4) GPIO_ACTIVE_HIGH>;
59300e2353SSimon Glass		};
60300e2353SSimon Glass
61300e2353SSimon Glass		temperature-sensor@4c {
62300e2353SSimon Glass			compatible = "ti,tmp451";
63300e2353SSimon Glass			reg = <0x4c>;
64300e2353SSimon Glass			interrupt-parent = <&gpio>;
65300e2353SSimon Glass			interrupts = <TEGRA_GPIO(I, 6) IRQ_TYPE_LEVEL_LOW>;
66300e2353SSimon Glass
67300e2353SSimon Glass			#thermal-sensor-cells = <1>;
68300e2353SSimon Glass		};
69300e2353SSimon Glass	};
70300e2353SSimon Glass
71300e2353SSimon Glass	i2c@7000c400 {
72300e2353SSimon Glass		status = "okay";
73300e2353SSimon Glass		clock-frequency = <100000>;
74300e2353SSimon Glass
75300e2353SSimon Glass		trackpad@15 {
76300e2353SSimon Glass			compatible = "elan,ekth3000";
77300e2353SSimon Glass			reg = <0x15>;
78300e2353SSimon Glass			interrupt-parent = <&gpio>;
79300e2353SSimon Glass			interrupts = <TEGRA_GPIO(W, 3) IRQ_TYPE_EDGE_FALLING>;
80300e2353SSimon Glass			wakeup-source;
81300e2353SSimon Glass		};
82300e2353SSimon Glass	};
83300e2353SSimon Glass
84300e2353SSimon Glass	i2c@7000c500 {
85300e2353SSimon Glass		status = "okay";
86300e2353SSimon Glass		clock-frequency = <400000>;
87300e2353SSimon Glass
88300e2353SSimon Glass		tpm@20 {
89300e2353SSimon Glass			compatible = "infineon,slb9645tt";
90300e2353SSimon Glass			reg = <0x20>;
91300e2353SSimon Glass		};
92300e2353SSimon Glass	};
93300e2353SSimon Glass
94300e2353SSimon Glass	hdmi_ddc: i2c@7000c700 {
95300e2353SSimon Glass		status = "okay";
96300e2353SSimon Glass		clock-frequency = <100000>;
97300e2353SSimon Glass	};
98300e2353SSimon Glass
99300e2353SSimon Glass	i2c@7000d000 {
100300e2353SSimon Glass		status = "okay";
101300e2353SSimon Glass		clock-frequency = <400000>;
102300e2353SSimon Glass
103300e2353SSimon Glass		pmic: pmic@40 {
104300e2353SSimon Glass			compatible = "ams,as3722";
105300e2353SSimon Glass			reg = <0x40>;
106300e2353SSimon Glass			interrupts = <0 86 IRQ_TYPE_LEVEL_HIGH>;
107300e2353SSimon Glass
108300e2353SSimon Glass			ams,system-power-controller;
109300e2353SSimon Glass
110300e2353SSimon Glass			#interrupt-cells = <2>;
111300e2353SSimon Glass			interrupt-controller;
112300e2353SSimon Glass
113300e2353SSimon Glass			gpio-controller;
114300e2353SSimon Glass			#gpio-cells = <2>;
115300e2353SSimon Glass
116300e2353SSimon Glass			pinctrl-names = "default";
117300e2353SSimon Glass			pinctrl-0 = <&as3722_default>;
118300e2353SSimon Glass
119300e2353SSimon Glass			as3722_default: pinmux {
120300e2353SSimon Glass				gpio0 {
121300e2353SSimon Glass					pins = "gpio0";
122300e2353SSimon Glass					function = "gpio";
123300e2353SSimon Glass					bias-pull-down;
124300e2353SSimon Glass				};
125300e2353SSimon Glass
126300e2353SSimon Glass				gpio1 {
127300e2353SSimon Glass					pins = "gpio1";
128300e2353SSimon Glass					function = "gpio";
129300e2353SSimon Glass					bias-pull-up;
130300e2353SSimon Glass				};
131300e2353SSimon Glass
132300e2353SSimon Glass				gpio2_4_7 {
133300e2353SSimon Glass					pins = "gpio2", "gpio4", "gpio7";
134300e2353SSimon Glass					function = "gpio";
135300e2353SSimon Glass					bias-pull-up;
136300e2353SSimon Glass				};
137300e2353SSimon Glass
138300e2353SSimon Glass				gpio3_6 {
139300e2353SSimon Glass					pins = "gpio3", "gpio6";
140300e2353SSimon Glass					bias-high-impedance;
141300e2353SSimon Glass				};
142300e2353SSimon Glass
143300e2353SSimon Glass				gpio5 {
144300e2353SSimon Glass					pins = "gpio5";
145300e2353SSimon Glass					function = "clk32k-out";
146300e2353SSimon Glass					bias-pull-down;
147300e2353SSimon Glass				};
148300e2353SSimon Glass			};
149300e2353SSimon Glass
150300e2353SSimon Glass			regulators {
151300e2353SSimon Glass				vsup-sd2-supply = <&vdd_5v0_sys>;
152300e2353SSimon Glass				vsup-sd3-supply = <&vdd_5v0_sys>;
153300e2353SSimon Glass				vsup-sd4-supply = <&vdd_5v0_sys>;
154300e2353SSimon Glass				vsup-sd5-supply = <&vdd_5v0_sys>;
155300e2353SSimon Glass				vin-ldo0-supply = <&vdd_1v35_lp0>;
156300e2353SSimon Glass				vin-ldo1-6-supply = <&vdd_3v3_run>;
157300e2353SSimon Glass				vin-ldo2-5-7-supply = <&vddio_1v8>;
158300e2353SSimon Glass				vin-ldo3-4-supply = <&vdd_3v3_sys>;
159300e2353SSimon Glass				vin-ldo9-10-supply = <&vdd_5v0_sys>;
160300e2353SSimon Glass				vin-ldo11-supply = <&vdd_3v3_run>;
161300e2353SSimon Glass
162300e2353SSimon Glass				vdd_cpu: sd0 {
163300e2353SSimon Glass					regulator-name = "+VDD_CPU_AP";
164300e2353SSimon Glass					regulator-min-microvolt = <700000>;
165300e2353SSimon Glass					regulator-max-microvolt = <1350000>;
166300e2353SSimon Glass					regulator-min-microamp = <3500000>;
167300e2353SSimon Glass					regulator-max-microamp = <3500000>;
168300e2353SSimon Glass					regulator-always-on;
169300e2353SSimon Glass					regulator-boot-on;
170300e2353SSimon Glass					ams,ext-control = <2>;
171300e2353SSimon Glass				};
172300e2353SSimon Glass
173300e2353SSimon Glass				sd1 {
174300e2353SSimon Glass					regulator-name = "+VDD_CORE";
175300e2353SSimon Glass					regulator-min-microvolt = <700000>;
176300e2353SSimon Glass					regulator-max-microvolt = <1350000>;
177300e2353SSimon Glass					regulator-min-microamp = <2500000>;
178300e2353SSimon Glass					regulator-max-microamp = <4000000>;
179300e2353SSimon Glass					regulator-always-on;
180300e2353SSimon Glass					regulator-boot-on;
181300e2353SSimon Glass					ams,ext-control = <1>;
182300e2353SSimon Glass				};
183300e2353SSimon Glass
184300e2353SSimon Glass				vdd_1v35_lp0: sd2 {
185300e2353SSimon Glass					regulator-name = "+1.35V_LP0(sd2)";
186300e2353SSimon Glass					regulator-min-microvolt = <1350000>;
187300e2353SSimon Glass					regulator-max-microvolt = <1350000>;
188300e2353SSimon Glass					regulator-always-on;
189300e2353SSimon Glass					regulator-boot-on;
190300e2353SSimon Glass				};
191300e2353SSimon Glass
192300e2353SSimon Glass				sd3 {
193300e2353SSimon Glass					regulator-name = "+1.35V_LP0(sd3)";
194300e2353SSimon Glass					regulator-min-microvolt = <1350000>;
195300e2353SSimon Glass					regulator-max-microvolt = <1350000>;
196300e2353SSimon Glass					regulator-always-on;
197300e2353SSimon Glass					regulator-boot-on;
198300e2353SSimon Glass				};
199300e2353SSimon Glass
200300e2353SSimon Glass				vdd_1v05_run: sd4 {
201300e2353SSimon Glass					regulator-name = "+1.05V_RUN";
202300e2353SSimon Glass					regulator-min-microvolt = <1050000>;
203300e2353SSimon Glass					regulator-max-microvolt = <1050000>;
204300e2353SSimon Glass				};
205300e2353SSimon Glass
206300e2353SSimon Glass				vddio_1v8: sd5 {
207300e2353SSimon Glass					regulator-name = "+1.8V_VDDIO";
208300e2353SSimon Glass					regulator-min-microvolt = <1800000>;
209300e2353SSimon Glass					regulator-max-microvolt = <1800000>;
210300e2353SSimon Glass					regulator-always-on;
211300e2353SSimon Glass				};
212300e2353SSimon Glass
213300e2353SSimon Glass				sd6 {
214300e2353SSimon Glass					regulator-name = "+VDD_GPU_AP";
215300e2353SSimon Glass					regulator-min-microvolt = <650000>;
216300e2353SSimon Glass					regulator-max-microvolt = <1200000>;
217300e2353SSimon Glass					regulator-min-microamp = <3500000>;
218300e2353SSimon Glass					regulator-max-microamp = <3500000>;
219300e2353SSimon Glass					regulator-boot-on;
220300e2353SSimon Glass					regulator-always-on;
221300e2353SSimon Glass				};
222300e2353SSimon Glass
223300e2353SSimon Glass				ldo0 {
224300e2353SSimon Glass					regulator-name = "+1.05V_RUN_AVDD";
225300e2353SSimon Glass					regulator-min-microvolt = <1050000>;
226300e2353SSimon Glass					regulator-max-microvolt = <1050000>;
227300e2353SSimon Glass					regulator-boot-on;
228300e2353SSimon Glass					regulator-always-on;
229300e2353SSimon Glass					ams,ext-control = <1>;
230300e2353SSimon Glass				};
231300e2353SSimon Glass
232300e2353SSimon Glass				ldo1 {
233300e2353SSimon Glass					regulator-name = "+1.8V_RUN_CAM";
234300e2353SSimon Glass					regulator-min-microvolt = <1800000>;
235300e2353SSimon Glass					regulator-max-microvolt = <1800000>;
236300e2353SSimon Glass				};
237300e2353SSimon Glass
238300e2353SSimon Glass				ldo2 {
239300e2353SSimon Glass					regulator-name = "+1.2V_GEN_AVDD";
240300e2353SSimon Glass					regulator-min-microvolt = <1200000>;
241300e2353SSimon Glass					regulator-max-microvolt = <1200000>;
242300e2353SSimon Glass					regulator-boot-on;
243300e2353SSimon Glass					regulator-always-on;
244300e2353SSimon Glass				};
245300e2353SSimon Glass
246300e2353SSimon Glass				ldo3 {
247300e2353SSimon Glass					regulator-name = "+1.00V_LP0_VDD_RTC";
248300e2353SSimon Glass					regulator-min-microvolt = <1000000>;
249300e2353SSimon Glass					regulator-max-microvolt = <1000000>;
250300e2353SSimon Glass					regulator-boot-on;
251300e2353SSimon Glass					regulator-always-on;
252300e2353SSimon Glass					ams,enable-tracking;
253300e2353SSimon Glass				};
254300e2353SSimon Glass
255300e2353SSimon Glass				vdd_run_cam: ldo4 {
256300e2353SSimon Glass					regulator-name = "+3.3V_RUN_CAM";
257300e2353SSimon Glass					regulator-min-microvolt = <2800000>;
258300e2353SSimon Glass					regulator-max-microvolt = <2800000>;
259300e2353SSimon Glass				};
260300e2353SSimon Glass
261300e2353SSimon Glass				ldo5 {
262300e2353SSimon Glass					regulator-name = "+1.2V_RUN_CAM_FRONT";
263300e2353SSimon Glass					regulator-min-microvolt = <1200000>;
264300e2353SSimon Glass					regulator-max-microvolt = <1200000>;
265300e2353SSimon Glass				};
266300e2353SSimon Glass
267300e2353SSimon Glass				vddio_sdmmc3: ldo6 {
268300e2353SSimon Glass					regulator-name = "+VDDIO_SDMMC3";
269300e2353SSimon Glass					regulator-min-microvolt = <1800000>;
270300e2353SSimon Glass					regulator-max-microvolt = <3300000>;
271300e2353SSimon Glass				};
272300e2353SSimon Glass
273300e2353SSimon Glass				ldo7 {
274300e2353SSimon Glass					regulator-name = "+1.05V_RUN_CAM_REAR";
275300e2353SSimon Glass					regulator-min-microvolt = <1050000>;
276300e2353SSimon Glass					regulator-max-microvolt = <1050000>;
277300e2353SSimon Glass				};
278300e2353SSimon Glass
279300e2353SSimon Glass				ldo9 {
280300e2353SSimon Glass					regulator-name = "+2.8V_RUN_TOUCH";
281300e2353SSimon Glass					regulator-min-microvolt = <2800000>;
282300e2353SSimon Glass					regulator-max-microvolt = <2800000>;
283300e2353SSimon Glass				};
284300e2353SSimon Glass
285300e2353SSimon Glass				ldo10 {
286300e2353SSimon Glass					regulator-name = "+2.8V_RUN_CAM_AF";
287300e2353SSimon Glass					regulator-min-microvolt = <2800000>;
288300e2353SSimon Glass					regulator-max-microvolt = <2800000>;
289300e2353SSimon Glass				};
290300e2353SSimon Glass
291300e2353SSimon Glass				ldo11 {
292300e2353SSimon Glass					regulator-name = "+1.8V_RUN_VPP_FUSE";
293300e2353SSimon Glass					regulator-min-microvolt = <1800000>;
294300e2353SSimon Glass					regulator-max-microvolt = <1800000>;
295300e2353SSimon Glass				};
296300e2353SSimon Glass			};
297300e2353SSimon Glass		};
298300e2353SSimon Glass	};
299300e2353SSimon Glass
300300e2353SSimon Glass	spi@7000d400 {
301300e2353SSimon Glass		status = "okay";
302300e2353SSimon Glass
303300e2353SSimon Glass		cros_ec: cros-ec@0 {
304300e2353SSimon Glass			compatible = "google,cros-ec-spi";
305300e2353SSimon Glass			spi-max-frequency = <3000000>;
306300e2353SSimon Glass			interrupt-parent = <&gpio>;
307300e2353SSimon Glass			interrupts = <TEGRA_GPIO(C, 7) IRQ_TYPE_LEVEL_LOW>;
308300e2353SSimon Glass			reg = <0>;
309300e2353SSimon Glass
310300e2353SSimon Glass			google,cros-ec-spi-msg-delay = <2000>;
311300e2353SSimon Glass
312300e2353SSimon Glass			i2c-tunnel {
313300e2353SSimon Glass				compatible = "google,cros-ec-i2c-tunnel";
314300e2353SSimon Glass				#address-cells = <1>;
315300e2353SSimon Glass				#size-cells = <0>;
316300e2353SSimon Glass
317300e2353SSimon Glass				google,remote-bus = <0>;
318300e2353SSimon Glass
319300e2353SSimon Glass				charger: bq24735@9 {
320300e2353SSimon Glass					compatible = "ti,bq24735";
321300e2353SSimon Glass					reg = <0x9>;
322300e2353SSimon Glass					interrupt-parent = <&gpio>;
323300e2353SSimon Glass					interrupts = <TEGRA_GPIO(J, 0)
324300e2353SSimon Glass							GPIO_ACTIVE_HIGH>;
325300e2353SSimon Glass					ti,ac-detect-gpios = <&gpio
326300e2353SSimon Glass							TEGRA_GPIO(J, 0)
327300e2353SSimon Glass							GPIO_ACTIVE_HIGH>;
328300e2353SSimon Glass				};
329300e2353SSimon Glass
330300e2353SSimon Glass				battery: sbs-battery@b {
331300e2353SSimon Glass					compatible = "sbs,sbs-battery";
332300e2353SSimon Glass					reg = <0xb>;
333300e2353SSimon Glass					sbs,i2c-retry-count = <2>;
334300e2353SSimon Glass					sbs,poll-retry-count = <10>;
335300e2353SSimon Glass					power-supplies = <&charger>;
336300e2353SSimon Glass				};
337300e2353SSimon Glass			};
338300e2353SSimon Glass		};
339300e2353SSimon Glass	};
340300e2353SSimon Glass
341300e2353SSimon Glass	spi@7000da00 {
342300e2353SSimon Glass		status = "okay";
343300e2353SSimon Glass		spi-max-frequency = <25000000>;
344300e2353SSimon Glass
345300e2353SSimon Glass		flash@0 {
346300e2353SSimon Glass			compatible = "winbond,w25q32dw";
347300e2353SSimon Glass			spi-max-frequency = <25000000>;
348300e2353SSimon Glass			reg = <0>;
349300e2353SSimon Glass		};
350300e2353SSimon Glass	};
351300e2353SSimon Glass
352300e2353SSimon Glass	pmc@7000e400 {
353300e2353SSimon Glass		nvidia,invert-interrupt;
354300e2353SSimon Glass		nvidia,suspend-mode = <0>;
355300e2353SSimon Glass		nvidia,cpu-pwr-good-time = <500>;
356300e2353SSimon Glass		nvidia,cpu-pwr-off-time = <300>;
357300e2353SSimon Glass		nvidia,core-pwr-good-time = <641 3845>;
358300e2353SSimon Glass		nvidia,core-pwr-off-time = <61036>;
359300e2353SSimon Glass		nvidia,core-power-req-active-high;
360300e2353SSimon Glass		nvidia,sys-clock-req-active-high;
361300e2353SSimon Glass	};
362300e2353SSimon Glass
363300e2353SSimon Glass	hda@70030000 {
364300e2353SSimon Glass		status = "okay";
365300e2353SSimon Glass	};
366300e2353SSimon Glass
367300e2353SSimon Glass	sdhci0_pwrseq: sdhci0_pwrseq {
368300e2353SSimon Glass		compatible = "mmc-pwrseq-simple";
369300e2353SSimon Glass
370300e2353SSimon Glass		reset-gpios = <&gpio TEGRA_GPIO(X, 7) GPIO_ACTIVE_LOW>;
371300e2353SSimon Glass	};
372300e2353SSimon Glass
373300e2353SSimon Glass	sdhci@700b0000 { /* WiFi/BT on this bus */
374300e2353SSimon Glass		status = "okay";
375300e2353SSimon Glass		power-gpios = <&gpio TEGRA_GPIO(X, 7) GPIO_ACTIVE_HIGH>;
376300e2353SSimon Glass		bus-width = <4>;
377300e2353SSimon Glass		no-1-8-v;
378300e2353SSimon Glass		non-removable;
379300e2353SSimon Glass		mmc-pwrseq = <&sdhci0_pwrseq>;
380300e2353SSimon Glass		vmmc-supply = <&vdd_3v3_lp0>;
381300e2353SSimon Glass		vqmmc-supply = <&vddio_1v8>;
382300e2353SSimon Glass		keep-power-in-suspend;
383300e2353SSimon Glass	};
384300e2353SSimon Glass
385300e2353SSimon Glass	sdhci@700b0400 { /* SD Card on this bus */
386300e2353SSimon Glass		status = "okay";
387300e2353SSimon Glass		cd-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_LOW>;
388300e2353SSimon Glass		power-gpios = <&gpio TEGRA_GPIO(R, 0) GPIO_ACTIVE_HIGH>;
389300e2353SSimon Glass		wp-gpios = <&gpio TEGRA_GPIO(Q, 4) GPIO_ACTIVE_LOW>;
390300e2353SSimon Glass		bus-width = <4>;
391300e2353SSimon Glass		no-1-8-v;
392300e2353SSimon Glass		vqmmc-supply = <&vddio_sdmmc3>;
393300e2353SSimon Glass	};
394300e2353SSimon Glass
395300e2353SSimon Glass	sdhci@700b0600 { /* eMMC on this bus */
396300e2353SSimon Glass		status = "okay";
397300e2353SSimon Glass		bus-width = <8>;
398300e2353SSimon Glass		no-1-8-v;
399300e2353SSimon Glass		non-removable;
400300e2353SSimon Glass	};
401300e2353SSimon Glass
402300e2353SSimon Glass	/* CPU DFLL clock */
403300e2353SSimon Glass	clock@70110000 {
404300e2353SSimon Glass		status = "disabled";
405300e2353SSimon Glass		vdd-cpu-supply = <&vdd_cpu>;
406300e2353SSimon Glass		nvidia,i2c-fs-rate = <400000>;
407300e2353SSimon Glass	};
408300e2353SSimon Glass
409300e2353SSimon Glass	ahub@70300000 {
410300e2353SSimon Glass		i2s@70301100 {
411300e2353SSimon Glass			status = "okay";
412300e2353SSimon Glass		};
413300e2353SSimon Glass	};
414300e2353SSimon Glass
415300e2353SSimon Glass	usb@7d000000 { /* Rear external USB port. */
416300e2353SSimon Glass		status = "okay";
417*8105816cSTristan Bastian		dr_mode = "otg";
418300e2353SSimon Glass		nvidia,vbus-gpio = <&gpio TEGRA_GPIO(N, 4) GPIO_ACTIVE_HIGH>;
419300e2353SSimon Glass	};
420300e2353SSimon Glass
421300e2353SSimon Glass	usb-phy@7d000000 {
422300e2353SSimon Glass		status = "okay";
423300e2353SSimon Glass		vbus-supply = <&vdd_usb1_vbus>;
424300e2353SSimon Glass	};
425300e2353SSimon Glass
426300e2353SSimon Glass	usb@7d004000 { /* Internal webcam. */
427300e2353SSimon Glass		status = "okay";
4283b8c1b3bSStephen Warren		phy_type = "hsic";
429300e2353SSimon Glass	};
430300e2353SSimon Glass
431300e2353SSimon Glass	usb-phy@7d004000 {
432300e2353SSimon Glass		status = "okay";
4333b8c1b3bSStephen Warren		phy_type = "hsic";
434300e2353SSimon Glass		vbus-supply = <&vdd_run_cam>;
435300e2353SSimon Glass	};
436300e2353SSimon Glass
437300e2353SSimon Glass	usb@7d008000 { /* Left external USB port. */
438300e2353SSimon Glass		status = "okay";
439300e2353SSimon Glass		nvidia,vbus-gpio = <&gpio TEGRA_GPIO(N, 5) GPIO_ACTIVE_HIGH>;
440300e2353SSimon Glass	};
441300e2353SSimon Glass
442300e2353SSimon Glass	usb-phy@7d008000 {
443300e2353SSimon Glass		status = "okay";
444300e2353SSimon Glass		vbus-supply = <&vdd_usb3_vbus>;
445300e2353SSimon Glass	};
446300e2353SSimon Glass
447300e2353SSimon Glass	backlight: backlight {
448300e2353SSimon Glass		compatible = "pwm-backlight";
449300e2353SSimon Glass
450300e2353SSimon Glass		enable-gpios = <&gpio TEGRA_GPIO(H, 2) GPIO_ACTIVE_HIGH>;
451300e2353SSimon Glass		power-supply = <&vdd_led>;
452300e2353SSimon Glass		pwms = <&pwm 1 1000000>;
453300e2353SSimon Glass
454300e2353SSimon Glass		default-brightness-level = <224>;
455300e2353SSimon Glass		brightness-levels =
456300e2353SSimon Glass			<  0   1   2   3   4   5   6   7
457300e2353SSimon Glass			   8   9  10  11  12  13  14  15
458300e2353SSimon Glass			  16  17  18  19  20  21  22  23
459300e2353SSimon Glass			  24  25  26  27  28  29  30  31
460300e2353SSimon Glass			  32  33  34  35  36  37  38  39
461300e2353SSimon Glass			  40  41  42  43  44  45  46  47
462300e2353SSimon Glass			  48  49  50  51  52  53  54  55
463300e2353SSimon Glass			  56  57  58  59  60  61  62  63
464300e2353SSimon Glass			  64  65  66  67  68  69  70  71
465300e2353SSimon Glass			  72  73  74  75  76  77  78  79
466300e2353SSimon Glass			  80  81  82  83  84  85  86  87
467300e2353SSimon Glass			  88  89  90  91  92  93  94  95
468300e2353SSimon Glass			  96  97  98  99 100 101 102 103
469300e2353SSimon Glass			 104 105 106 107 108 109 110 111
470300e2353SSimon Glass			 112 113 114 115 116 117 118 119
471300e2353SSimon Glass			 120 121 122 123 124 125 126 127
472300e2353SSimon Glass			 128 129 130 131 132 133 134 135
473300e2353SSimon Glass			 136 137 138 139 140 141 142 143
474300e2353SSimon Glass			 144 145 146 147 148 149 150 151
475300e2353SSimon Glass			 152 153 154 155 156 157 158 159
476300e2353SSimon Glass			 160 161 162 163 164 165 166 167
477300e2353SSimon Glass			 168 169 170 171 172 173 174 175
478300e2353SSimon Glass			 176 177 178 179 180 181 182 183
479300e2353SSimon Glass			 184 185 186 187 188 189 190 191
480300e2353SSimon Glass			 192 193 194 195 196 197 198 199
481300e2353SSimon Glass			 200 201 202 203 204 205 206 207
482300e2353SSimon Glass			 208 209 210 211 212 213 214 215
483300e2353SSimon Glass			 216 217 218 219 220 221 222 223
484300e2353SSimon Glass			 224 225 226 227 228 229 230 231
485300e2353SSimon Glass			 232 233 234 235 236 237 238 239
486300e2353SSimon Glass			 240 241 242 243 244 245 246 247
487300e2353SSimon Glass			 248 249 250 251 252 253 254 255
488300e2353SSimon Glass			 256>;
489300e2353SSimon Glass	};
490300e2353SSimon Glass
491300e2353SSimon Glass	clocks {
492300e2353SSimon Glass		compatible = "simple-bus";
493300e2353SSimon Glass		#address-cells = <1>;
494300e2353SSimon Glass		#size-cells = <0>;
495300e2353SSimon Glass
496300e2353SSimon Glass		clk32k_in: clock@0 {
497300e2353SSimon Glass			compatible = "fixed-clock";
498300e2353SSimon Glass			reg = <0>;
499300e2353SSimon Glass			#clock-cells = <0>;
500300e2353SSimon Glass			clock-frequency = <32768>;
501300e2353SSimon Glass		};
502300e2353SSimon Glass	};
503300e2353SSimon Glass
504300e2353SSimon Glass	cpus {
505300e2353SSimon Glass		cpu@0 {
506300e2353SSimon Glass			vdd-cpu-supply = <&vdd_cpu>;
507300e2353SSimon Glass		};
508300e2353SSimon Glass	};
509300e2353SSimon Glass
510300e2353SSimon Glass	cpus {
511300e2353SSimon Glass		cpu@0 {
512300e2353SSimon Glass			vdd-cpu-supply = <&vdd_cpu>;
513300e2353SSimon Glass		};
514300e2353SSimon Glass	};
515300e2353SSimon Glass
516300e2353SSimon Glass	gpio-keys {
517300e2353SSimon Glass		compatible = "gpio-keys";
518300e2353SSimon Glass
519300e2353SSimon Glass		lid {
520300e2353SSimon Glass			label = "Lid";
521300e2353SSimon Glass			gpios = <&gpio TEGRA_GPIO(R, 4) GPIO_ACTIVE_LOW>;
522300e2353SSimon Glass			linux,input-type = <5>;
523300e2353SSimon Glass			linux,code = <KEY_RESERVED>;
524300e2353SSimon Glass			debounce-interval = <1>;
525300e2353SSimon Glass			gpio-key,wakeup;
526300e2353SSimon Glass		};
527300e2353SSimon Glass
528300e2353SSimon Glass		power {
529300e2353SSimon Glass			label = "Power";
530300e2353SSimon Glass			gpios = <&gpio TEGRA_GPIO(Q, 0) GPIO_ACTIVE_LOW>;
531300e2353SSimon Glass			linux,code = <KEY_POWER>;
532300e2353SSimon Glass			debounce-interval = <30>;
533300e2353SSimon Glass			gpio-key,wakeup;
534300e2353SSimon Glass		};
535300e2353SSimon Glass	};
536300e2353SSimon Glass
537300e2353SSimon Glass	regulators {
538300e2353SSimon Glass		compatible = "simple-bus";
539300e2353SSimon Glass		#address-cells = <1>;
540300e2353SSimon Glass		#size-cells = <0>;
541300e2353SSimon Glass
542300e2353SSimon Glass		vdd_mux: regulator@0 {
543300e2353SSimon Glass			compatible = "regulator-fixed";
544300e2353SSimon Glass			reg = <0>;
545300e2353SSimon Glass			regulator-name = "+VDD_MUX";
546300e2353SSimon Glass			regulator-min-microvolt = <12000000>;
547300e2353SSimon Glass			regulator-max-microvolt = <12000000>;
548300e2353SSimon Glass			regulator-always-on;
549300e2353SSimon Glass			regulator-boot-on;
550300e2353SSimon Glass		};
551300e2353SSimon Glass
552300e2353SSimon Glass		vdd_5v0_sys: regulator@1 {
553300e2353SSimon Glass			compatible = "regulator-fixed";
554300e2353SSimon Glass			reg = <1>;
555300e2353SSimon Glass			regulator-name = "+5V_SYS";
556300e2353SSimon Glass			regulator-min-microvolt = <5000000>;
557300e2353SSimon Glass			regulator-max-microvolt = <5000000>;
558300e2353SSimon Glass			regulator-always-on;
559300e2353SSimon Glass			regulator-boot-on;
560300e2353SSimon Glass			vin-supply = <&vdd_mux>;
561300e2353SSimon Glass		};
562300e2353SSimon Glass
563300e2353SSimon Glass		vdd_3v3_sys: regulator@2 {
564300e2353SSimon Glass			compatible = "regulator-fixed";
565300e2353SSimon Glass			reg = <2>;
566300e2353SSimon Glass			regulator-name = "+3.3V_SYS";
567300e2353SSimon Glass			regulator-min-microvolt = <3300000>;
568300e2353SSimon Glass			regulator-max-microvolt = <3300000>;
569300e2353SSimon Glass			regulator-always-on;
570300e2353SSimon Glass			regulator-boot-on;
571300e2353SSimon Glass			vin-supply = <&vdd_mux>;
572300e2353SSimon Glass		};
573300e2353SSimon Glass
574300e2353SSimon Glass		vdd_3v3_run: regulator@3 {
575300e2353SSimon Glass			compatible = "regulator-fixed";
576300e2353SSimon Glass			reg = <3>;
577300e2353SSimon Glass			regulator-name = "+3.3V_RUN";
578300e2353SSimon Glass			regulator-min-microvolt = <3300000>;
579300e2353SSimon Glass			regulator-max-microvolt = <3300000>;
580300e2353SSimon Glass			regulator-always-on;
581300e2353SSimon Glass			regulator-boot-on;
582300e2353SSimon Glass			gpio = <&pmic 1 GPIO_ACTIVE_HIGH>;
583300e2353SSimon Glass			enable-active-high;
584300e2353SSimon Glass			vin-supply = <&vdd_3v3_sys>;
585300e2353SSimon Glass		};
586300e2353SSimon Glass
587300e2353SSimon Glass		vdd_3v3_hdmi: regulator@4 {
588300e2353SSimon Glass			compatible = "regulator-fixed";
589300e2353SSimon Glass			reg = <4>;
590300e2353SSimon Glass			regulator-name = "+3.3V_AVDD_HDMI_AP_GATED";
591300e2353SSimon Glass			regulator-min-microvolt = <3300000>;
592300e2353SSimon Glass			regulator-max-microvolt = <3300000>;
593300e2353SSimon Glass			vin-supply = <&vdd_3v3_run>;
594300e2353SSimon Glass		};
595300e2353SSimon Glass
596300e2353SSimon Glass		vdd_led: regulator@5 {
597300e2353SSimon Glass			compatible = "regulator-fixed";
598300e2353SSimon Glass			reg = <5>;
599300e2353SSimon Glass			regulator-name = "+VDD_LED";
600300e2353SSimon Glass			gpio = <&gpio TEGRA_GPIO(P, 2) GPIO_ACTIVE_HIGH>;
601300e2353SSimon Glass			enable-active-high;
602300e2353SSimon Glass			vin-supply = <&vdd_mux>;
603300e2353SSimon Glass		};
604300e2353SSimon Glass
605300e2353SSimon Glass		vdd_5v0_ts: regulator@6 {
606300e2353SSimon Glass			compatible = "regulator-fixed";
607300e2353SSimon Glass			reg = <6>;
608300e2353SSimon Glass			regulator-name = "+5V_VDD_TS_SW";
609300e2353SSimon Glass			regulator-min-microvolt = <5000000>;
610300e2353SSimon Glass			regulator-max-microvolt = <5000000>;
611300e2353SSimon Glass			regulator-boot-on;
612300e2353SSimon Glass			gpio = <&gpio TEGRA_GPIO(K, 1) GPIO_ACTIVE_HIGH>;
613300e2353SSimon Glass			enable-active-high;
614300e2353SSimon Glass			vin-supply = <&vdd_5v0_sys>;
615300e2353SSimon Glass		};
616300e2353SSimon Glass
617300e2353SSimon Glass		vdd_usb1_vbus: regulator@7 {
618300e2353SSimon Glass			compatible = "regulator-fixed";
619300e2353SSimon Glass			reg = <7>;
620300e2353SSimon Glass			regulator-name = "+5V_USB_HS";
621300e2353SSimon Glass			regulator-min-microvolt = <5000000>;
622300e2353SSimon Glass			regulator-max-microvolt = <5000000>;
623300e2353SSimon Glass			gpio = <&gpio TEGRA_GPIO(N, 4) GPIO_ACTIVE_HIGH>;
624300e2353SSimon Glass			enable-active-high;
625300e2353SSimon Glass			gpio-open-drain;
626300e2353SSimon Glass			vin-supply = <&vdd_5v0_sys>;
627300e2353SSimon Glass		};
628300e2353SSimon Glass
629300e2353SSimon Glass		vdd_usb3_vbus: regulator@8 {
630300e2353SSimon Glass			compatible = "regulator-fixed";
631300e2353SSimon Glass			reg = <8>;
632300e2353SSimon Glass			regulator-name = "+5V_USB_SS";
633300e2353SSimon Glass			regulator-min-microvolt = <5000000>;
634300e2353SSimon Glass			regulator-max-microvolt = <5000000>;
635300e2353SSimon Glass			gpio = <&gpio TEGRA_GPIO(N, 5) GPIO_ACTIVE_HIGH>;
636300e2353SSimon Glass			enable-active-high;
637300e2353SSimon Glass			gpio-open-drain;
638300e2353SSimon Glass			vin-supply = <&vdd_5v0_sys>;
639300e2353SSimon Glass		};
640300e2353SSimon Glass
641300e2353SSimon Glass		vdd_3v3_panel: regulator@9 {
642300e2353SSimon Glass			compatible = "regulator-fixed";
643300e2353SSimon Glass			reg = <9>;
644300e2353SSimon Glass			regulator-name = "+3.3V_PANEL";
645300e2353SSimon Glass			regulator-min-microvolt = <3300000>;
646300e2353SSimon Glass			regulator-max-microvolt = <3300000>;
647300e2353SSimon Glass			gpio = <&pmic 4 GPIO_ACTIVE_HIGH>;
648300e2353SSimon Glass			enable-active-high;
649300e2353SSimon Glass			vin-supply = <&vdd_3v3_run>;
650300e2353SSimon Glass		};
651300e2353SSimon Glass
652300e2353SSimon Glass		vdd_3v3_lp0: regulator@10 {
653300e2353SSimon Glass			compatible = "regulator-fixed";
654300e2353SSimon Glass			reg = <10>;
655300e2353SSimon Glass			regulator-name = "+3.3V_LP0";
656300e2353SSimon Glass			regulator-min-microvolt = <3300000>;
657300e2353SSimon Glass			regulator-max-microvolt = <3300000>;
658300e2353SSimon Glass			/*
659300e2353SSimon Glass			 * TODO: find a way to wire this up with the USB EHCI
660300e2353SSimon Glass			 * controllers so that it can be enabled on demand.
661300e2353SSimon Glass			 */
662300e2353SSimon Glass			regulator-always-on;
663300e2353SSimon Glass			gpio = <&pmic 2 GPIO_ACTIVE_HIGH>;
664300e2353SSimon Glass			enable-active-high;
665300e2353SSimon Glass			vin-supply = <&vdd_3v3_sys>;
666300e2353SSimon Glass		};
667300e2353SSimon Glass
668300e2353SSimon Glass		vdd_hdmi_pll: regulator@11 {
669300e2353SSimon Glass			compatible = "regulator-fixed";
670300e2353SSimon Glass			reg = <11>;
671300e2353SSimon Glass			regulator-name = "+1.05V_RUN_AVDD_HDMI_PLL";
672300e2353SSimon Glass			regulator-min-microvolt = <1050000>;
673300e2353SSimon Glass			regulator-max-microvolt = <1050000>;
674300e2353SSimon Glass			gpio = <&gpio TEGRA_GPIO(H, 7) GPIO_ACTIVE_LOW>;
675300e2353SSimon Glass			vin-supply = <&vdd_1v05_run>;
676300e2353SSimon Glass		};
677300e2353SSimon Glass
678300e2353SSimon Glass		vdd_5v0_hdmi: regulator@12 {
679300e2353SSimon Glass			compatible = "regulator-fixed";
680300e2353SSimon Glass			reg = <12>;
681300e2353SSimon Glass			regulator-name = "+5V_HDMI_CON";
682300e2353SSimon Glass			regulator-min-microvolt = <5000000>;
683300e2353SSimon Glass			regulator-max-microvolt = <5000000>;
684300e2353SSimon Glass			gpio = <&gpio TEGRA_GPIO(K, 6) GPIO_ACTIVE_HIGH>;
685300e2353SSimon Glass			enable-active-high;
686300e2353SSimon Glass			vin-supply = <&vdd_5v0_sys>;
687300e2353SSimon Glass		};
688300e2353SSimon Glass	};
689300e2353SSimon Glass
690300e2353SSimon Glass	sound {
691300e2353SSimon Glass		nvidia,audio-routing =
692300e2353SSimon Glass			"Headphones", "HPR",
693300e2353SSimon Glass			"Headphones", "HPL",
694300e2353SSimon Glass			"Speakers", "SPKR",
695300e2353SSimon Glass			"Speakers", "SPKL",
696300e2353SSimon Glass			"Mic Jack", "MICBIAS",
697300e2353SSimon Glass			"DMICL", "Int Mic",
698300e2353SSimon Glass			"DMICR", "Int Mic",
699300e2353SSimon Glass			"IN34", "Mic Jack";
700300e2353SSimon Glass
701300e2353SSimon Glass		nvidia,i2s-controller = <&tegra_i2s1>;
702300e2353SSimon Glass		nvidia,audio-codec = <&acodec>;
703300e2353SSimon Glass
704300e2353SSimon Glass		clocks = <&tegra_car TEGRA124_CLK_PLL_A>,
705300e2353SSimon Glass			 <&tegra_car TEGRA124_CLK_PLL_A_OUT0>,
706300e2353SSimon Glass			 <&tegra_car TEGRA124_CLK_EXTERN1>;
707300e2353SSimon Glass		clock-names = "pll_a", "pll_a_out0", "mclk";
708300e2353SSimon Glass
709300e2353SSimon Glass		nvidia,hp-det-gpios = <&gpio TEGRA_GPIO(I, 7) GPIO_ACTIVE_HIGH>;
710300e2353SSimon Glass		nvidia,mic-det-gpios =
711300e2353SSimon Glass				<&gpio TEGRA_GPIO(R, 7) GPIO_ACTIVE_HIGH>;
712300e2353SSimon Glass	};
713300e2353SSimon Glass
714300e2353SSimon Glass	gpio-restart {
715300e2353SSimon Glass		compatible = "gpio-restart";
716300e2353SSimon Glass		gpios = <&gpio TEGRA_GPIO(I, 5) GPIO_ACTIVE_LOW>;
717300e2353SSimon Glass		priority = <200>;
718300e2353SSimon Glass	};
719300e2353SSimon Glass};
720300e2353SSimon Glass
721300e2353SSimon Glass#include "cros-ec-keyboard.dtsi"
722