xref: /rk3399_rockchip-uboot/arch/arm/dts/tegra124-nyan.dtsi (revision 40e1236afeeacdadfa3865f70fc7e3b8016acbe2)
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";
417300e2353SSimon Glass		nvidia,vbus-gpio = <&gpio TEGRA_GPIO(N, 4) GPIO_ACTIVE_HIGH>;
418300e2353SSimon Glass	};
419300e2353SSimon Glass
420300e2353SSimon Glass	usb-phy@7d000000 {
421300e2353SSimon Glass		status = "okay";
422300e2353SSimon Glass		vbus-supply = <&vdd_usb1_vbus>;
423300e2353SSimon Glass	};
424300e2353SSimon Glass
425300e2353SSimon Glass	usb@7d004000 { /* Internal webcam. */
426300e2353SSimon Glass		status = "okay";
427*3b8c1b3bSStephen Warren		phy_type = "hsic";
428300e2353SSimon Glass	};
429300e2353SSimon Glass
430300e2353SSimon Glass	usb-phy@7d004000 {
431300e2353SSimon Glass		status = "okay";
432*3b8c1b3bSStephen Warren		phy_type = "hsic";
433300e2353SSimon Glass		vbus-supply = <&vdd_run_cam>;
434300e2353SSimon Glass	};
435300e2353SSimon Glass
436300e2353SSimon Glass	usb@7d008000 { /* Left external USB port. */
437300e2353SSimon Glass		status = "okay";
438300e2353SSimon Glass		nvidia,vbus-gpio = <&gpio TEGRA_GPIO(N, 5) GPIO_ACTIVE_HIGH>;
439300e2353SSimon Glass	};
440300e2353SSimon Glass
441300e2353SSimon Glass	usb-phy@7d008000 {
442300e2353SSimon Glass		status = "okay";
443300e2353SSimon Glass		vbus-supply = <&vdd_usb3_vbus>;
444300e2353SSimon Glass	};
445300e2353SSimon Glass
446300e2353SSimon Glass	backlight: backlight {
447300e2353SSimon Glass		compatible = "pwm-backlight";
448300e2353SSimon Glass
449300e2353SSimon Glass		enable-gpios = <&gpio TEGRA_GPIO(H, 2) GPIO_ACTIVE_HIGH>;
450300e2353SSimon Glass		power-supply = <&vdd_led>;
451300e2353SSimon Glass		pwms = <&pwm 1 1000000>;
452300e2353SSimon Glass
453300e2353SSimon Glass		default-brightness-level = <224>;
454300e2353SSimon Glass		brightness-levels =
455300e2353SSimon Glass			<  0   1   2   3   4   5   6   7
456300e2353SSimon Glass			   8   9  10  11  12  13  14  15
457300e2353SSimon Glass			  16  17  18  19  20  21  22  23
458300e2353SSimon Glass			  24  25  26  27  28  29  30  31
459300e2353SSimon Glass			  32  33  34  35  36  37  38  39
460300e2353SSimon Glass			  40  41  42  43  44  45  46  47
461300e2353SSimon Glass			  48  49  50  51  52  53  54  55
462300e2353SSimon Glass			  56  57  58  59  60  61  62  63
463300e2353SSimon Glass			  64  65  66  67  68  69  70  71
464300e2353SSimon Glass			  72  73  74  75  76  77  78  79
465300e2353SSimon Glass			  80  81  82  83  84  85  86  87
466300e2353SSimon Glass			  88  89  90  91  92  93  94  95
467300e2353SSimon Glass			  96  97  98  99 100 101 102 103
468300e2353SSimon Glass			 104 105 106 107 108 109 110 111
469300e2353SSimon Glass			 112 113 114 115 116 117 118 119
470300e2353SSimon Glass			 120 121 122 123 124 125 126 127
471300e2353SSimon Glass			 128 129 130 131 132 133 134 135
472300e2353SSimon Glass			 136 137 138 139 140 141 142 143
473300e2353SSimon Glass			 144 145 146 147 148 149 150 151
474300e2353SSimon Glass			 152 153 154 155 156 157 158 159
475300e2353SSimon Glass			 160 161 162 163 164 165 166 167
476300e2353SSimon Glass			 168 169 170 171 172 173 174 175
477300e2353SSimon Glass			 176 177 178 179 180 181 182 183
478300e2353SSimon Glass			 184 185 186 187 188 189 190 191
479300e2353SSimon Glass			 192 193 194 195 196 197 198 199
480300e2353SSimon Glass			 200 201 202 203 204 205 206 207
481300e2353SSimon Glass			 208 209 210 211 212 213 214 215
482300e2353SSimon Glass			 216 217 218 219 220 221 222 223
483300e2353SSimon Glass			 224 225 226 227 228 229 230 231
484300e2353SSimon Glass			 232 233 234 235 236 237 238 239
485300e2353SSimon Glass			 240 241 242 243 244 245 246 247
486300e2353SSimon Glass			 248 249 250 251 252 253 254 255
487300e2353SSimon Glass			 256>;
488300e2353SSimon Glass	};
489300e2353SSimon Glass
490300e2353SSimon Glass	clocks {
491300e2353SSimon Glass		compatible = "simple-bus";
492300e2353SSimon Glass		#address-cells = <1>;
493300e2353SSimon Glass		#size-cells = <0>;
494300e2353SSimon Glass
495300e2353SSimon Glass		clk32k_in: clock@0 {
496300e2353SSimon Glass			compatible = "fixed-clock";
497300e2353SSimon Glass			reg = <0>;
498300e2353SSimon Glass			#clock-cells = <0>;
499300e2353SSimon Glass			clock-frequency = <32768>;
500300e2353SSimon Glass		};
501300e2353SSimon Glass	};
502300e2353SSimon Glass
503300e2353SSimon Glass	cpus {
504300e2353SSimon Glass		cpu@0 {
505300e2353SSimon Glass			vdd-cpu-supply = <&vdd_cpu>;
506300e2353SSimon Glass		};
507300e2353SSimon Glass	};
508300e2353SSimon Glass
509300e2353SSimon Glass	cpus {
510300e2353SSimon Glass		cpu@0 {
511300e2353SSimon Glass			vdd-cpu-supply = <&vdd_cpu>;
512300e2353SSimon Glass		};
513300e2353SSimon Glass	};
514300e2353SSimon Glass
515300e2353SSimon Glass	gpio-keys {
516300e2353SSimon Glass		compatible = "gpio-keys";
517300e2353SSimon Glass
518300e2353SSimon Glass		lid {
519300e2353SSimon Glass			label = "Lid";
520300e2353SSimon Glass			gpios = <&gpio TEGRA_GPIO(R, 4) GPIO_ACTIVE_LOW>;
521300e2353SSimon Glass			linux,input-type = <5>;
522300e2353SSimon Glass			linux,code = <KEY_RESERVED>;
523300e2353SSimon Glass			debounce-interval = <1>;
524300e2353SSimon Glass			gpio-key,wakeup;
525300e2353SSimon Glass		};
526300e2353SSimon Glass
527300e2353SSimon Glass		power {
528300e2353SSimon Glass			label = "Power";
529300e2353SSimon Glass			gpios = <&gpio TEGRA_GPIO(Q, 0) GPIO_ACTIVE_LOW>;
530300e2353SSimon Glass			linux,code = <KEY_POWER>;
531300e2353SSimon Glass			debounce-interval = <30>;
532300e2353SSimon Glass			gpio-key,wakeup;
533300e2353SSimon Glass		};
534300e2353SSimon Glass	};
535300e2353SSimon Glass
536300e2353SSimon Glass	regulators {
537300e2353SSimon Glass		compatible = "simple-bus";
538300e2353SSimon Glass		#address-cells = <1>;
539300e2353SSimon Glass		#size-cells = <0>;
540300e2353SSimon Glass
541300e2353SSimon Glass		vdd_mux: regulator@0 {
542300e2353SSimon Glass			compatible = "regulator-fixed";
543300e2353SSimon Glass			reg = <0>;
544300e2353SSimon Glass			regulator-name = "+VDD_MUX";
545300e2353SSimon Glass			regulator-min-microvolt = <12000000>;
546300e2353SSimon Glass			regulator-max-microvolt = <12000000>;
547300e2353SSimon Glass			regulator-always-on;
548300e2353SSimon Glass			regulator-boot-on;
549300e2353SSimon Glass		};
550300e2353SSimon Glass
551300e2353SSimon Glass		vdd_5v0_sys: regulator@1 {
552300e2353SSimon Glass			compatible = "regulator-fixed";
553300e2353SSimon Glass			reg = <1>;
554300e2353SSimon Glass			regulator-name = "+5V_SYS";
555300e2353SSimon Glass			regulator-min-microvolt = <5000000>;
556300e2353SSimon Glass			regulator-max-microvolt = <5000000>;
557300e2353SSimon Glass			regulator-always-on;
558300e2353SSimon Glass			regulator-boot-on;
559300e2353SSimon Glass			vin-supply = <&vdd_mux>;
560300e2353SSimon Glass		};
561300e2353SSimon Glass
562300e2353SSimon Glass		vdd_3v3_sys: regulator@2 {
563300e2353SSimon Glass			compatible = "regulator-fixed";
564300e2353SSimon Glass			reg = <2>;
565300e2353SSimon Glass			regulator-name = "+3.3V_SYS";
566300e2353SSimon Glass			regulator-min-microvolt = <3300000>;
567300e2353SSimon Glass			regulator-max-microvolt = <3300000>;
568300e2353SSimon Glass			regulator-always-on;
569300e2353SSimon Glass			regulator-boot-on;
570300e2353SSimon Glass			vin-supply = <&vdd_mux>;
571300e2353SSimon Glass		};
572300e2353SSimon Glass
573300e2353SSimon Glass		vdd_3v3_run: regulator@3 {
574300e2353SSimon Glass			compatible = "regulator-fixed";
575300e2353SSimon Glass			reg = <3>;
576300e2353SSimon Glass			regulator-name = "+3.3V_RUN";
577300e2353SSimon Glass			regulator-min-microvolt = <3300000>;
578300e2353SSimon Glass			regulator-max-microvolt = <3300000>;
579300e2353SSimon Glass			regulator-always-on;
580300e2353SSimon Glass			regulator-boot-on;
581300e2353SSimon Glass			gpio = <&pmic 1 GPIO_ACTIVE_HIGH>;
582300e2353SSimon Glass			enable-active-high;
583300e2353SSimon Glass			vin-supply = <&vdd_3v3_sys>;
584300e2353SSimon Glass		};
585300e2353SSimon Glass
586300e2353SSimon Glass		vdd_3v3_hdmi: regulator@4 {
587300e2353SSimon Glass			compatible = "regulator-fixed";
588300e2353SSimon Glass			reg = <4>;
589300e2353SSimon Glass			regulator-name = "+3.3V_AVDD_HDMI_AP_GATED";
590300e2353SSimon Glass			regulator-min-microvolt = <3300000>;
591300e2353SSimon Glass			regulator-max-microvolt = <3300000>;
592300e2353SSimon Glass			vin-supply = <&vdd_3v3_run>;
593300e2353SSimon Glass		};
594300e2353SSimon Glass
595300e2353SSimon Glass		vdd_led: regulator@5 {
596300e2353SSimon Glass			compatible = "regulator-fixed";
597300e2353SSimon Glass			reg = <5>;
598300e2353SSimon Glass			regulator-name = "+VDD_LED";
599300e2353SSimon Glass			gpio = <&gpio TEGRA_GPIO(P, 2) GPIO_ACTIVE_HIGH>;
600300e2353SSimon Glass			enable-active-high;
601300e2353SSimon Glass			vin-supply = <&vdd_mux>;
602300e2353SSimon Glass		};
603300e2353SSimon Glass
604300e2353SSimon Glass		vdd_5v0_ts: regulator@6 {
605300e2353SSimon Glass			compatible = "regulator-fixed";
606300e2353SSimon Glass			reg = <6>;
607300e2353SSimon Glass			regulator-name = "+5V_VDD_TS_SW";
608300e2353SSimon Glass			regulator-min-microvolt = <5000000>;
609300e2353SSimon Glass			regulator-max-microvolt = <5000000>;
610300e2353SSimon Glass			regulator-boot-on;
611300e2353SSimon Glass			gpio = <&gpio TEGRA_GPIO(K, 1) GPIO_ACTIVE_HIGH>;
612300e2353SSimon Glass			enable-active-high;
613300e2353SSimon Glass			vin-supply = <&vdd_5v0_sys>;
614300e2353SSimon Glass		};
615300e2353SSimon Glass
616300e2353SSimon Glass		vdd_usb1_vbus: regulator@7 {
617300e2353SSimon Glass			compatible = "regulator-fixed";
618300e2353SSimon Glass			reg = <7>;
619300e2353SSimon Glass			regulator-name = "+5V_USB_HS";
620300e2353SSimon Glass			regulator-min-microvolt = <5000000>;
621300e2353SSimon Glass			regulator-max-microvolt = <5000000>;
622300e2353SSimon Glass			gpio = <&gpio TEGRA_GPIO(N, 4) GPIO_ACTIVE_HIGH>;
623300e2353SSimon Glass			enable-active-high;
624300e2353SSimon Glass			gpio-open-drain;
625300e2353SSimon Glass			vin-supply = <&vdd_5v0_sys>;
626300e2353SSimon Glass		};
627300e2353SSimon Glass
628300e2353SSimon Glass		vdd_usb3_vbus: regulator@8 {
629300e2353SSimon Glass			compatible = "regulator-fixed";
630300e2353SSimon Glass			reg = <8>;
631300e2353SSimon Glass			regulator-name = "+5V_USB_SS";
632300e2353SSimon Glass			regulator-min-microvolt = <5000000>;
633300e2353SSimon Glass			regulator-max-microvolt = <5000000>;
634300e2353SSimon Glass			gpio = <&gpio TEGRA_GPIO(N, 5) GPIO_ACTIVE_HIGH>;
635300e2353SSimon Glass			enable-active-high;
636300e2353SSimon Glass			gpio-open-drain;
637300e2353SSimon Glass			vin-supply = <&vdd_5v0_sys>;
638300e2353SSimon Glass		};
639300e2353SSimon Glass
640300e2353SSimon Glass		vdd_3v3_panel: regulator@9 {
641300e2353SSimon Glass			compatible = "regulator-fixed";
642300e2353SSimon Glass			reg = <9>;
643300e2353SSimon Glass			regulator-name = "+3.3V_PANEL";
644300e2353SSimon Glass			regulator-min-microvolt = <3300000>;
645300e2353SSimon Glass			regulator-max-microvolt = <3300000>;
646300e2353SSimon Glass			gpio = <&pmic 4 GPIO_ACTIVE_HIGH>;
647300e2353SSimon Glass			enable-active-high;
648300e2353SSimon Glass			vin-supply = <&vdd_3v3_run>;
649300e2353SSimon Glass		};
650300e2353SSimon Glass
651300e2353SSimon Glass		vdd_3v3_lp0: regulator@10 {
652300e2353SSimon Glass			compatible = "regulator-fixed";
653300e2353SSimon Glass			reg = <10>;
654300e2353SSimon Glass			regulator-name = "+3.3V_LP0";
655300e2353SSimon Glass			regulator-min-microvolt = <3300000>;
656300e2353SSimon Glass			regulator-max-microvolt = <3300000>;
657300e2353SSimon Glass			/*
658300e2353SSimon Glass			 * TODO: find a way to wire this up with the USB EHCI
659300e2353SSimon Glass			 * controllers so that it can be enabled on demand.
660300e2353SSimon Glass			 */
661300e2353SSimon Glass			regulator-always-on;
662300e2353SSimon Glass			gpio = <&pmic 2 GPIO_ACTIVE_HIGH>;
663300e2353SSimon Glass			enable-active-high;
664300e2353SSimon Glass			vin-supply = <&vdd_3v3_sys>;
665300e2353SSimon Glass		};
666300e2353SSimon Glass
667300e2353SSimon Glass		vdd_hdmi_pll: regulator@11 {
668300e2353SSimon Glass			compatible = "regulator-fixed";
669300e2353SSimon Glass			reg = <11>;
670300e2353SSimon Glass			regulator-name = "+1.05V_RUN_AVDD_HDMI_PLL";
671300e2353SSimon Glass			regulator-min-microvolt = <1050000>;
672300e2353SSimon Glass			regulator-max-microvolt = <1050000>;
673300e2353SSimon Glass			gpio = <&gpio TEGRA_GPIO(H, 7) GPIO_ACTIVE_LOW>;
674300e2353SSimon Glass			vin-supply = <&vdd_1v05_run>;
675300e2353SSimon Glass		};
676300e2353SSimon Glass
677300e2353SSimon Glass		vdd_5v0_hdmi: regulator@12 {
678300e2353SSimon Glass			compatible = "regulator-fixed";
679300e2353SSimon Glass			reg = <12>;
680300e2353SSimon Glass			regulator-name = "+5V_HDMI_CON";
681300e2353SSimon Glass			regulator-min-microvolt = <5000000>;
682300e2353SSimon Glass			regulator-max-microvolt = <5000000>;
683300e2353SSimon Glass			gpio = <&gpio TEGRA_GPIO(K, 6) GPIO_ACTIVE_HIGH>;
684300e2353SSimon Glass			enable-active-high;
685300e2353SSimon Glass			vin-supply = <&vdd_5v0_sys>;
686300e2353SSimon Glass		};
687300e2353SSimon Glass	};
688300e2353SSimon Glass
689300e2353SSimon Glass	sound {
690300e2353SSimon Glass		nvidia,audio-routing =
691300e2353SSimon Glass			"Headphones", "HPR",
692300e2353SSimon Glass			"Headphones", "HPL",
693300e2353SSimon Glass			"Speakers", "SPKR",
694300e2353SSimon Glass			"Speakers", "SPKL",
695300e2353SSimon Glass			"Mic Jack", "MICBIAS",
696300e2353SSimon Glass			"DMICL", "Int Mic",
697300e2353SSimon Glass			"DMICR", "Int Mic",
698300e2353SSimon Glass			"IN34", "Mic Jack";
699300e2353SSimon Glass
700300e2353SSimon Glass		nvidia,i2s-controller = <&tegra_i2s1>;
701300e2353SSimon Glass		nvidia,audio-codec = <&acodec>;
702300e2353SSimon Glass
703300e2353SSimon Glass		clocks = <&tegra_car TEGRA124_CLK_PLL_A>,
704300e2353SSimon Glass			 <&tegra_car TEGRA124_CLK_PLL_A_OUT0>,
705300e2353SSimon Glass			 <&tegra_car TEGRA124_CLK_EXTERN1>;
706300e2353SSimon Glass		clock-names = "pll_a", "pll_a_out0", "mclk";
707300e2353SSimon Glass
708300e2353SSimon Glass		nvidia,hp-det-gpios = <&gpio TEGRA_GPIO(I, 7) GPIO_ACTIVE_HIGH>;
709300e2353SSimon Glass		nvidia,mic-det-gpios =
710300e2353SSimon Glass				<&gpio TEGRA_GPIO(R, 7) GPIO_ACTIVE_HIGH>;
711300e2353SSimon Glass	};
712300e2353SSimon Glass
713300e2353SSimon Glass	gpio-restart {
714300e2353SSimon Glass		compatible = "gpio-restart";
715300e2353SSimon Glass		gpios = <&gpio TEGRA_GPIO(I, 5) GPIO_ACTIVE_LOW>;
716300e2353SSimon Glass		priority = <200>;
717300e2353SSimon Glass	};
718300e2353SSimon Glass};
719300e2353SSimon Glass
720300e2353SSimon Glass#include "cros-ec-keyboard.dtsi"
721