xref: /linux/scripts/dtc/include-prefixes/arm/nvidia/tegra124-nyan.dtsi (revision a6e0afc29a8bd2c1f8cde87043d69c3e77ef23d5)
1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0
2724ba675SRob Herring#include <dt-bindings/input/input.h>
3724ba675SRob Herring#include <dt-bindings/thermal/thermal.h>
4724ba675SRob Herring#include "tegra124.dtsi"
5724ba675SRob Herring
6724ba675SRob Herring/ {
7724ba675SRob Herring	aliases {
8724ba675SRob Herring		rtc0 = "/i2c@7000d000/pmic@40";
9724ba675SRob Herring		rtc1 = "/rtc@7000e000";
10724ba675SRob Herring		serial0 = &uarta;
11724ba675SRob Herring	};
12724ba675SRob Herring
13724ba675SRob Herring	chosen {
14724ba675SRob Herring		stdout-path = "serial0:115200n8";
15724ba675SRob Herring	};
16724ba675SRob Herring
17724ba675SRob Herring	/*
18724ba675SRob Herring	 * Note that recent version of the device tree compiler (starting with
19724ba675SRob Herring	 * version 1.4.2) warn about this node containing a reg property, but
20724ba675SRob Herring	 * missing a unit-address. However, the bootloader on these Chromebook
21724ba675SRob Herring	 * devices relies on the full name of this node to be exactly /memory.
22724ba675SRob Herring	 * Adding the unit-address causes the bootloader to create a /memory
23724ba675SRob Herring	 * node and write the memory bank configuration to that node, which in
24724ba675SRob Herring	 * turn leads the kernel to believe that the device has 2 GiB of
25724ba675SRob Herring	 * memory instead of the amount detected by the bootloader.
26724ba675SRob Herring	 *
27724ba675SRob Herring	 * The name of this node is effectively ABI and must not be changed.
28724ba675SRob Herring	 */
29724ba675SRob Herring	memory {
30724ba675SRob Herring		device_type = "memory";
31724ba675SRob Herring		reg = <0x0 0x80000000 0x0 0x80000000>;
32724ba675SRob Herring	};
33724ba675SRob Herring
34724ba675SRob Herring	/delete-node/ memory@80000000;
35724ba675SRob Herring
36724ba675SRob Herring	host1x@50000000 {
37724ba675SRob Herring		hdmi@54280000 {
38724ba675SRob Herring			status = "okay";
39724ba675SRob Herring
40724ba675SRob Herring			vdd-supply = <&vdd_3v3_hdmi>;
41724ba675SRob Herring			pll-supply = <&vdd_hdmi_pll>;
42724ba675SRob Herring			hdmi-supply = <&vdd_5v0_hdmi>;
43724ba675SRob Herring
44724ba675SRob Herring			nvidia,ddc-i2c-bus = <&hdmi_ddc>;
45724ba675SRob Herring			nvidia,hpd-gpio =
46724ba675SRob Herring				<&gpio TEGRA_GPIO(N, 7) GPIO_ACTIVE_HIGH>;
47724ba675SRob Herring		};
48724ba675SRob Herring
49724ba675SRob Herring		sor@54540000 {
50724ba675SRob Herring			status = "okay";
51724ba675SRob Herring
52724ba675SRob Herring			avdd-io-hdmi-dp-supply = <&vdd_3v3_hdmi>;
53724ba675SRob Herring			vdd-hdmi-dp-pll-supply = <&vdd_hdmi_pll>;
54724ba675SRob Herring
55724ba675SRob Herring			nvidia,dpaux = <&dpaux>;
56724ba675SRob Herring			nvidia,panel = <&panel>;
57724ba675SRob Herring		};
58724ba675SRob Herring
59724ba675SRob Herring		dpaux@545c0000 {
60724ba675SRob Herring			vdd-supply = <&vdd_3v3_panel>;
61724ba675SRob Herring			status = "okay";
62724ba675SRob Herring		};
63724ba675SRob Herring	};
64724ba675SRob Herring
65724ba675SRob Herring	gpu@57000000 {
66724ba675SRob Herring		status = "okay";
67724ba675SRob Herring
68724ba675SRob Herring		vdd-supply = <&vdd_gpu>;
69724ba675SRob Herring	};
70724ba675SRob Herring
71724ba675SRob Herring	serial@70006000 {
72724ba675SRob Herring		/* Debug connector on the bottom of the board near SD card. */
739766116aSThierry Reding		/delete-property/ dmas;
749766116aSThierry Reding		/delete-property/ dma-names;
75724ba675SRob Herring		status = "okay";
76724ba675SRob Herring	};
77724ba675SRob Herring
78724ba675SRob Herring	pwm@7000a000 {
79724ba675SRob Herring		status = "okay";
80724ba675SRob Herring	};
81724ba675SRob Herring
82724ba675SRob Herring	i2c@7000c000 {
83724ba675SRob Herring		status = "okay";
84724ba675SRob Herring		clock-frequency = <100000>;
85724ba675SRob Herring
86724ba675SRob Herring		acodec: audio-codec@10 {
87724ba675SRob Herring			compatible = "maxim,max98090";
88724ba675SRob Herring			reg = <0x10>;
89724ba675SRob Herring			interrupt-parent = <&gpio>;
90724ba675SRob Herring			interrupts = <TEGRA_GPIO(H, 4) IRQ_TYPE_EDGE_FALLING>;
91724ba675SRob Herring		};
92724ba675SRob Herring
93724ba675SRob Herring		tmp451: temperature-sensor@4c {
94724ba675SRob Herring			compatible = "ti,tmp451";
95724ba675SRob Herring			reg = <0x4c>;
96724ba675SRob Herring			interrupt-parent = <&gpio>;
97724ba675SRob Herring			interrupts = <TEGRA_GPIO(I, 6) IRQ_TYPE_EDGE_FALLING>;
98724ba675SRob Herring
99724ba675SRob Herring			#thermal-sensor-cells = <1>;
100724ba675SRob Herring		};
101724ba675SRob Herring	};
102724ba675SRob Herring
103724ba675SRob Herring	i2c@7000c400 {
104724ba675SRob Herring		status = "okay";
105724ba675SRob Herring		clock-frequency = <100000>;
106724ba675SRob Herring
107724ba675SRob Herring		trackpad@15 {
108724ba675SRob Herring			compatible = "elan,ekth3000";
109724ba675SRob Herring			reg = <0x15>;
110724ba675SRob Herring			interrupt-parent = <&gpio>;
111724ba675SRob Herring			interrupts = <TEGRA_GPIO(W, 3) IRQ_TYPE_EDGE_FALLING>;
112724ba675SRob Herring			wakeup-source;
113724ba675SRob Herring		};
114724ba675SRob Herring	};
115724ba675SRob Herring
116724ba675SRob Herring	i2c@7000c500 {
117724ba675SRob Herring		status = "okay";
118724ba675SRob Herring		clock-frequency = <400000>;
119724ba675SRob Herring
120724ba675SRob Herring		tpm@20 {
121724ba675SRob Herring			compatible = "infineon,slb9645tt";
122724ba675SRob Herring			reg = <0x20>;
123724ba675SRob Herring		};
124724ba675SRob Herring	};
125724ba675SRob Herring
126724ba675SRob Herring	hdmi_ddc: i2c@7000c700 {
127724ba675SRob Herring		status = "okay";
128724ba675SRob Herring		clock-frequency = <100000>;
129724ba675SRob Herring	};
130724ba675SRob Herring
131724ba675SRob Herring	i2c@7000d000 {
132724ba675SRob Herring		status = "okay";
133724ba675SRob Herring		clock-frequency = <400000>;
134724ba675SRob Herring
135724ba675SRob Herring		pmic: pmic@40 {
136724ba675SRob Herring			compatible = "ams,as3722";
137724ba675SRob Herring			reg = <0x40>;
138724ba675SRob Herring			interrupts = <0 86 IRQ_TYPE_LEVEL_HIGH>;
139724ba675SRob Herring
140724ba675SRob Herring			ams,system-power-controller;
141724ba675SRob Herring
142724ba675SRob Herring			#interrupt-cells = <2>;
143724ba675SRob Herring			interrupt-controller;
144724ba675SRob Herring
145724ba675SRob Herring			gpio-controller;
146724ba675SRob Herring			#gpio-cells = <2>;
147724ba675SRob Herring
148724ba675SRob Herring			pinctrl-names = "default";
149724ba675SRob Herring			pinctrl-0 = <&as3722_default>;
150724ba675SRob Herring
151724ba675SRob Herring			as3722_default: pinmux {
152724ba675SRob Herring				gpio0 {
153724ba675SRob Herring					pins = "gpio0";
154724ba675SRob Herring					function = "gpio";
155724ba675SRob Herring					bias-pull-down;
156724ba675SRob Herring				};
157724ba675SRob Herring
158724ba675SRob Herring				gpio1 {
159724ba675SRob Herring					pins = "gpio1";
160724ba675SRob Herring					function = "gpio";
161724ba675SRob Herring					bias-pull-up;
162724ba675SRob Herring				};
163724ba675SRob Herring
164724ba675SRob Herring				gpio2_4_7 {
165724ba675SRob Herring					pins = "gpio2", "gpio4", "gpio7";
166724ba675SRob Herring					function = "gpio";
167724ba675SRob Herring					bias-pull-up;
168724ba675SRob Herring				};
169724ba675SRob Herring
170724ba675SRob Herring				gpio3_6 {
171724ba675SRob Herring					pins = "gpio3", "gpio6";
172724ba675SRob Herring					bias-high-impedance;
173724ba675SRob Herring				};
174724ba675SRob Herring
175724ba675SRob Herring				gpio5 {
176724ba675SRob Herring					pins = "gpio5";
177724ba675SRob Herring					function = "clk32k-out";
178724ba675SRob Herring					bias-pull-down;
179724ba675SRob Herring				};
180724ba675SRob Herring			};
181724ba675SRob Herring
182724ba675SRob Herring			regulators {
183724ba675SRob Herring				vsup-sd2-supply = <&vdd_5v0_sys>;
184724ba675SRob Herring				vsup-sd3-supply = <&vdd_5v0_sys>;
185724ba675SRob Herring				vsup-sd4-supply = <&vdd_5v0_sys>;
186724ba675SRob Herring				vsup-sd5-supply = <&vdd_5v0_sys>;
187724ba675SRob Herring				vin-ldo0-supply = <&vdd_1v35_lp0>;
188724ba675SRob Herring				vin-ldo1-6-supply = <&vdd_3v3_run>;
189724ba675SRob Herring				vin-ldo2-5-7-supply = <&vddio_1v8>;
190724ba675SRob Herring				vin-ldo3-4-supply = <&vdd_3v3_sys>;
191724ba675SRob Herring				vin-ldo9-10-supply = <&vdd_5v0_sys>;
192724ba675SRob Herring				vin-ldo11-supply = <&vdd_3v3_run>;
193724ba675SRob Herring
194724ba675SRob Herring				vdd_cpu: sd0 {
195724ba675SRob Herring					regulator-name = "+VDD_CPU_AP";
196724ba675SRob Herring					regulator-min-microvolt = <700000>;
197724ba675SRob Herring					regulator-max-microvolt = <1350000>;
198724ba675SRob Herring					regulator-min-microamp = <3500000>;
199724ba675SRob Herring					regulator-max-microamp = <3500000>;
200724ba675SRob Herring					regulator-always-on;
201724ba675SRob Herring					regulator-boot-on;
202724ba675SRob Herring					ams,ext-control = <2>;
203724ba675SRob Herring				};
204724ba675SRob Herring
205724ba675SRob Herring				sd1 {
206724ba675SRob Herring					regulator-name = "+VDD_CORE";
207724ba675SRob Herring					regulator-min-microvolt = <700000>;
208724ba675SRob Herring					regulator-max-microvolt = <1350000>;
209724ba675SRob Herring					regulator-min-microamp = <2500000>;
210724ba675SRob Herring					regulator-max-microamp = <4000000>;
211724ba675SRob Herring					regulator-always-on;
212724ba675SRob Herring					regulator-boot-on;
213724ba675SRob Herring					ams,ext-control = <1>;
214724ba675SRob Herring				};
215724ba675SRob Herring
216724ba675SRob Herring				vdd_1v35_lp0: sd2 {
217724ba675SRob Herring					regulator-name = "+1.35V_LP0(sd2)";
218724ba675SRob Herring					regulator-min-microvolt = <1350000>;
219724ba675SRob Herring					regulator-max-microvolt = <1350000>;
220724ba675SRob Herring					regulator-always-on;
221724ba675SRob Herring					regulator-boot-on;
222724ba675SRob Herring				};
223724ba675SRob Herring
224724ba675SRob Herring				sd3 {
225724ba675SRob Herring					regulator-name = "+1.35V_LP0(sd3)";
226724ba675SRob Herring					regulator-min-microvolt = <1350000>;
227724ba675SRob Herring					regulator-max-microvolt = <1350000>;
228724ba675SRob Herring					regulator-always-on;
229724ba675SRob Herring					regulator-boot-on;
230724ba675SRob Herring				};
231724ba675SRob Herring
232724ba675SRob Herring				vdd_1v05_run: sd4 {
233724ba675SRob Herring					regulator-name = "+1.05V_RUN";
234724ba675SRob Herring					regulator-min-microvolt = <1050000>;
235724ba675SRob Herring					regulator-max-microvolt = <1050000>;
236724ba675SRob Herring				};
237724ba675SRob Herring
238724ba675SRob Herring				vddio_1v8: sd5 {
239724ba675SRob Herring					regulator-name = "+1.8V_VDDIO";
240724ba675SRob Herring					regulator-min-microvolt = <1800000>;
241724ba675SRob Herring					regulator-max-microvolt = <1800000>;
242724ba675SRob Herring					regulator-always-on;
243724ba675SRob Herring				};
244724ba675SRob Herring
245724ba675SRob Herring				vdd_gpu: sd6 {
246724ba675SRob Herring					regulator-name = "+VDD_GPU_AP";
247724ba675SRob Herring					regulator-min-microvolt = <650000>;
248724ba675SRob Herring					regulator-max-microvolt = <1200000>;
249724ba675SRob Herring					regulator-min-microamp = <3500000>;
250724ba675SRob Herring					regulator-max-microamp = <3500000>;
251724ba675SRob Herring					regulator-boot-on;
252724ba675SRob Herring					regulator-always-on;
253724ba675SRob Herring				};
254724ba675SRob Herring
255724ba675SRob Herring				avdd_1v05_run: ldo0 {
256724ba675SRob Herring					regulator-name = "+1.05V_RUN_AVDD";
257724ba675SRob Herring					regulator-min-microvolt = <1050000>;
258724ba675SRob Herring					regulator-max-microvolt = <1050000>;
259724ba675SRob Herring					regulator-boot-on;
260724ba675SRob Herring					regulator-always-on;
261724ba675SRob Herring					ams,ext-control = <1>;
262724ba675SRob Herring				};
263724ba675SRob Herring
264724ba675SRob Herring				ldo1 {
265724ba675SRob Herring					regulator-name = "+1.8V_RUN_CAM";
266724ba675SRob Herring					regulator-min-microvolt = <1800000>;
267724ba675SRob Herring					regulator-max-microvolt = <1800000>;
268724ba675SRob Herring				};
269724ba675SRob Herring
270724ba675SRob Herring				ldo2 {
271724ba675SRob Herring					regulator-name = "+1.2V_GEN_AVDD";
272724ba675SRob Herring					regulator-min-microvolt = <1200000>;
273724ba675SRob Herring					regulator-max-microvolt = <1200000>;
274724ba675SRob Herring					regulator-boot-on;
275724ba675SRob Herring					regulator-always-on;
276724ba675SRob Herring				};
277724ba675SRob Herring
278724ba675SRob Herring				ldo3 {
279724ba675SRob Herring					regulator-name = "+1.00V_LP0_VDD_RTC";
280724ba675SRob Herring					regulator-min-microvolt = <1000000>;
281724ba675SRob Herring					regulator-max-microvolt = <1000000>;
282724ba675SRob Herring					regulator-boot-on;
283724ba675SRob Herring					regulator-always-on;
284724ba675SRob Herring					ams,enable-tracking;
285724ba675SRob Herring				};
286724ba675SRob Herring
287724ba675SRob Herring				vdd_run_cam: ldo4 {
288724ba675SRob Herring					regulator-name = "+3.3V_RUN_CAM";
289724ba675SRob Herring					regulator-min-microvolt = <2800000>;
290724ba675SRob Herring					regulator-max-microvolt = <2800000>;
291724ba675SRob Herring				};
292724ba675SRob Herring
293724ba675SRob Herring				ldo5 {
294724ba675SRob Herring					regulator-name = "+1.2V_RUN_CAM_FRONT";
295724ba675SRob Herring					regulator-min-microvolt = <1200000>;
296724ba675SRob Herring					regulator-max-microvolt = <1200000>;
297724ba675SRob Herring				};
298724ba675SRob Herring
299724ba675SRob Herring				vddio_sdmmc3: ldo6 {
300724ba675SRob Herring					regulator-name = "+VDDIO_SDMMC3";
301724ba675SRob Herring					regulator-min-microvolt = <1800000>;
302724ba675SRob Herring					regulator-max-microvolt = <3300000>;
303724ba675SRob Herring				};
304724ba675SRob Herring
305724ba675SRob Herring				ldo7 {
306724ba675SRob Herring					regulator-name = "+1.05V_RUN_CAM_REAR";
307724ba675SRob Herring					regulator-min-microvolt = <1050000>;
308724ba675SRob Herring					regulator-max-microvolt = <1050000>;
309724ba675SRob Herring				};
310724ba675SRob Herring
311724ba675SRob Herring				ldo9 {
312724ba675SRob Herring					regulator-name = "+2.8V_RUN_TOUCH";
313724ba675SRob Herring					regulator-min-microvolt = <2800000>;
314724ba675SRob Herring					regulator-max-microvolt = <2800000>;
315724ba675SRob Herring				};
316724ba675SRob Herring
317724ba675SRob Herring				ldo10 {
318724ba675SRob Herring					regulator-name = "+2.8V_RUN_CAM_AF";
319724ba675SRob Herring					regulator-min-microvolt = <2800000>;
320724ba675SRob Herring					regulator-max-microvolt = <2800000>;
321724ba675SRob Herring				};
322724ba675SRob Herring
323724ba675SRob Herring				ldo11 {
324724ba675SRob Herring					regulator-name = "+1.8V_RUN_VPP_FUSE";
325724ba675SRob Herring					regulator-min-microvolt = <1800000>;
326724ba675SRob Herring					regulator-max-microvolt = <1800000>;
327724ba675SRob Herring				};
328724ba675SRob Herring			};
329724ba675SRob Herring		};
330724ba675SRob Herring	};
331724ba675SRob Herring
332724ba675SRob Herring	spi@7000d400 {
333724ba675SRob Herring		status = "okay";
334724ba675SRob Herring
335724ba675SRob Herring		cros_ec: cros-ec@0 {
336724ba675SRob Herring			compatible = "google,cros-ec-spi";
337724ba675SRob Herring			spi-max-frequency = <3000000>;
338724ba675SRob Herring			interrupt-parent = <&gpio>;
339724ba675SRob Herring			interrupts = <TEGRA_GPIO(C, 7) IRQ_TYPE_LEVEL_LOW>;
340724ba675SRob Herring			reg = <0>;
341*a6e0afc2SMark Hasemeyer			wakeup-source;
342724ba675SRob Herring
343724ba675SRob Herring			google,cros-ec-spi-msg-delay = <2000>;
344724ba675SRob Herring
345724ba675SRob Herring			i2c-tunnel {
346724ba675SRob Herring				compatible = "google,cros-ec-i2c-tunnel";
347724ba675SRob Herring				#address-cells = <1>;
348724ba675SRob Herring				#size-cells = <0>;
349724ba675SRob Herring
350724ba675SRob Herring				google,remote-bus = <0>;
351724ba675SRob Herring
352724ba675SRob Herring				charger: bq24735@9 {
353724ba675SRob Herring					compatible = "ti,bq24735";
354724ba675SRob Herring					reg = <0x9>;
355724ba675SRob Herring					interrupt-parent = <&gpio>;
356724ba675SRob Herring					interrupts = <TEGRA_GPIO(J, 0)
357724ba675SRob Herring							IRQ_TYPE_EDGE_BOTH>;
358724ba675SRob Herring					ti,ac-detect-gpios = <&gpio
359724ba675SRob Herring							TEGRA_GPIO(J, 0)
360724ba675SRob Herring							GPIO_ACTIVE_HIGH>;
361724ba675SRob Herring					ti,external-control;
362724ba675SRob Herring				};
363724ba675SRob Herring
364724ba675SRob Herring				battery: sbs-battery@b {
365724ba675SRob Herring					compatible = "sbs,sbs-battery";
366724ba675SRob Herring					reg = <0xb>;
367724ba675SRob Herring					sbs,i2c-retry-count = <2>;
368724ba675SRob Herring					sbs,poll-retry-count = <10>;
369724ba675SRob Herring					power-supplies = <&charger>;
370724ba675SRob Herring				};
371724ba675SRob Herring			};
372724ba675SRob Herring		};
373724ba675SRob Herring	};
374724ba675SRob Herring
375724ba675SRob Herring	spi@7000da00 {
376724ba675SRob Herring		status = "okay";
377724ba675SRob Herring		spi-max-frequency = <25000000>;
378724ba675SRob Herring
379724ba675SRob Herring		flash@0 {
380724ba675SRob Herring			compatible = "winbond,w25q32dw", "jedec,spi-nor";
381724ba675SRob Herring			spi-max-frequency = <25000000>;
382724ba675SRob Herring			reg = <0>;
383724ba675SRob Herring		};
384724ba675SRob Herring	};
385724ba675SRob Herring
386724ba675SRob Herring	pmc@7000e400 {
387724ba675SRob Herring		nvidia,invert-interrupt;
388724ba675SRob Herring		nvidia,suspend-mode = <0>;
389724ba675SRob Herring		nvidia,cpu-pwr-good-time = <500>;
390724ba675SRob Herring		nvidia,cpu-pwr-off-time = <300>;
391724ba675SRob Herring		nvidia,core-pwr-good-time = <641 3845>;
392724ba675SRob Herring		nvidia,core-pwr-off-time = <61036>;
393724ba675SRob Herring		nvidia,core-power-req-active-high;
394724ba675SRob Herring		nvidia,sys-clock-req-active-high;
395724ba675SRob Herring	};
396724ba675SRob Herring
397724ba675SRob Herring	cec@70015000 {
398724ba675SRob Herring		status = "okay";
399724ba675SRob Herring	};
400724ba675SRob Herring
401724ba675SRob Herring	hda@70030000 {
402724ba675SRob Herring		status = "okay";
403724ba675SRob Herring	};
404724ba675SRob Herring
405724ba675SRob Herring	usb@70090000 {
406724ba675SRob Herring		phys = <&{/padctl@7009f000/pads/usb2/lanes/usb2-0}>, /* 1st USB A */
407724ba675SRob Herring		       <&{/padctl@7009f000/pads/usb2/lanes/usb2-1}>, /* Internal USB */
408724ba675SRob Herring		       <&{/padctl@7009f000/pads/usb2/lanes/usb2-2}>, /* 2nd USB A */
409724ba675SRob Herring		       <&{/padctl@7009f000/pads/pcie/lanes/pcie-0}>, /* 1st USB A */
410724ba675SRob Herring		       <&{/padctl@7009f000/pads/pcie/lanes/pcie-1}>; /* 2nd USB A */
411724ba675SRob Herring		phy-names = "usb2-0", "usb2-1", "usb2-2", "usb3-0", "usb3-1";
412724ba675SRob Herring
413724ba675SRob Herring		avddio-pex-supply = <&vdd_1v05_run>;
414724ba675SRob Herring		dvddio-pex-supply = <&vdd_1v05_run>;
415724ba675SRob Herring		avdd-usb-supply = <&vdd_3v3_lp0>;
416724ba675SRob Herring		avdd-pll-utmip-supply = <&vddio_1v8>;
417724ba675SRob Herring		avdd-pll-erefe-supply = <&avdd_1v05_run>;
418724ba675SRob Herring		avdd-usb-ss-pll-supply = <&vdd_1v05_run>;
419724ba675SRob Herring		hvdd-usb-ss-supply = <&vdd_3v3_lp0>;
420724ba675SRob Herring		hvdd-usb-ss-pll-e-supply = <&vdd_3v3_lp0>;
421724ba675SRob Herring
422724ba675SRob Herring		status = "okay";
423724ba675SRob Herring	};
424724ba675SRob Herring
425724ba675SRob Herring	padctl@7009f000 {
426724ba675SRob Herring		status = "okay";
427724ba675SRob Herring
428724ba675SRob Herring		avdd-pll-utmip-supply = <&vddio_1v8>;
429724ba675SRob Herring		avdd-pll-erefe-supply = <&avdd_1v05_run>;
430724ba675SRob Herring		avdd-pex-pll-supply = <&vdd_1v05_run>;
431724ba675SRob Herring		hvdd-pex-pll-e-supply = <&vdd_3v3_lp0>;
432724ba675SRob Herring
433724ba675SRob Herring		pads {
434724ba675SRob Herring			usb2 {
435724ba675SRob Herring				status = "okay";
436724ba675SRob Herring
437724ba675SRob Herring				lanes {
438724ba675SRob Herring					usb2-0 {
439724ba675SRob Herring						nvidia,function = "xusb";
440724ba675SRob Herring						status = "okay";
441724ba675SRob Herring					};
442724ba675SRob Herring
443724ba675SRob Herring					usb2-1 {
444724ba675SRob Herring						nvidia,function = "xusb";
445724ba675SRob Herring						status = "okay";
446724ba675SRob Herring					};
447724ba675SRob Herring
448724ba675SRob Herring					usb2-2 {
449724ba675SRob Herring						nvidia,function = "xusb";
450724ba675SRob Herring						status = "okay";
451724ba675SRob Herring					};
452724ba675SRob Herring				};
453724ba675SRob Herring			};
454724ba675SRob Herring
455724ba675SRob Herring			pcie {
456724ba675SRob Herring				status = "okay";
457724ba675SRob Herring
458724ba675SRob Herring				lanes {
459724ba675SRob Herring					pcie-0 {
460724ba675SRob Herring						nvidia,function = "usb3-ss";
461724ba675SRob Herring						status = "okay";
462724ba675SRob Herring					};
463724ba675SRob Herring
464724ba675SRob Herring					pcie-1 {
465724ba675SRob Herring						nvidia,function = "usb3-ss";
466724ba675SRob Herring						status = "okay";
467724ba675SRob Herring					};
468724ba675SRob Herring				};
469724ba675SRob Herring			};
470724ba675SRob Herring		};
471724ba675SRob Herring
472724ba675SRob Herring		ports {
473724ba675SRob Herring			usb2-0 {
474724ba675SRob Herring				vbus-supply = <&vdd_usb1_vbus>;
475724ba675SRob Herring				status = "okay";
476724ba675SRob Herring				mode = "otg";
477724ba675SRob Herring				usb-role-switch;
478724ba675SRob Herring			};
479724ba675SRob Herring
480724ba675SRob Herring			usb2-1 {
481724ba675SRob Herring				vbus-supply = <&vdd_run_cam>;
482724ba675SRob Herring				status = "okay";
483724ba675SRob Herring				mode = "host";
484724ba675SRob Herring			};
485724ba675SRob Herring
486724ba675SRob Herring			usb2-2 {
487724ba675SRob Herring				vbus-supply = <&vdd_usb3_vbus>;
488724ba675SRob Herring				status = "okay";
489724ba675SRob Herring				mode = "host";
490724ba675SRob Herring			};
491724ba675SRob Herring
492724ba675SRob Herring			usb3-0 {
493724ba675SRob Herring				nvidia,usb2-companion = <0>;
494724ba675SRob Herring				status = "okay";
495724ba675SRob Herring			};
496724ba675SRob Herring
497724ba675SRob Herring			usb3-1 {
498724ba675SRob Herring				nvidia,usb2-companion = <1>;
499724ba675SRob Herring				status = "okay";
500724ba675SRob Herring			};
501724ba675SRob Herring		};
502724ba675SRob Herring	};
503724ba675SRob Herring
504724ba675SRob Herring	mmc@700b0000 { /* WiFi/BT on this bus */
505724ba675SRob Herring		status = "okay";
506724ba675SRob Herring		bus-width = <4>;
507724ba675SRob Herring		no-1-8-v;
508724ba675SRob Herring		non-removable;
509724ba675SRob Herring		mmc-pwrseq = <&sdhci0_pwrseq>;
510724ba675SRob Herring		vmmc-supply = <&vdd_3v3_lp0>;
511724ba675SRob Herring		vqmmc-supply = <&vddio_1v8>;
512724ba675SRob Herring		keep-power-in-suspend;
513724ba675SRob Herring	};
514724ba675SRob Herring
515724ba675SRob Herring	mmc@700b0400 { /* SD Card on this bus */
516724ba675SRob Herring		status = "okay";
517724ba675SRob Herring		cd-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_LOW>;
518724ba675SRob Herring		power-gpios = <&gpio TEGRA_GPIO(R, 0) GPIO_ACTIVE_HIGH>;
519724ba675SRob Herring		bus-width = <4>;
520724ba675SRob Herring		no-1-8-v;
521724ba675SRob Herring		vqmmc-supply = <&vddio_sdmmc3>;
522724ba675SRob Herring	};
523724ba675SRob Herring
524724ba675SRob Herring	mmc@700b0600 { /* eMMC on this bus */
525724ba675SRob Herring		status = "okay";
526724ba675SRob Herring		bus-width = <8>;
527724ba675SRob Herring		no-1-8-v;
528724ba675SRob Herring		non-removable;
529724ba675SRob Herring	};
530724ba675SRob Herring
531724ba675SRob Herring	/* CPU DFLL clock */
532724ba675SRob Herring	clock@70110000 {
533724ba675SRob Herring		status = "okay";
534724ba675SRob Herring		vdd-cpu-supply = <&vdd_cpu>;
535724ba675SRob Herring		nvidia,i2c-fs-rate = <400000>;
536724ba675SRob Herring	};
537724ba675SRob Herring
538724ba675SRob Herring	ahub@70300000 {
539724ba675SRob Herring		i2s@70301100 {
540724ba675SRob Herring			status = "okay";
541724ba675SRob Herring		};
542724ba675SRob Herring	};
543724ba675SRob Herring
544724ba675SRob Herring	backlight: backlight {
545724ba675SRob Herring		compatible = "pwm-backlight";
546724ba675SRob Herring
547724ba675SRob Herring		enable-gpios = <&gpio TEGRA_GPIO(H, 2) GPIO_ACTIVE_HIGH>;
548724ba675SRob Herring		power-supply = <&vdd_led>;
549724ba675SRob Herring		pwms = <&pwm 1 1000000>;
550724ba675SRob Herring
551724ba675SRob Herring		default-brightness-level = <224>;
552724ba675SRob Herring		brightness-levels =
553724ba675SRob Herring			<  0   1   2   3   4   5   6   7
554724ba675SRob Herring			   8   9  10  11  12  13  14  15
555724ba675SRob Herring			  16  17  18  19  20  21  22  23
556724ba675SRob Herring			  24  25  26  27  28  29  30  31
557724ba675SRob Herring			  32  33  34  35  36  37  38  39
558724ba675SRob Herring			  40  41  42  43  44  45  46  47
559724ba675SRob Herring			  48  49  50  51  52  53  54  55
560724ba675SRob Herring			  56  57  58  59  60  61  62  63
561724ba675SRob Herring			  64  65  66  67  68  69  70  71
562724ba675SRob Herring			  72  73  74  75  76  77  78  79
563724ba675SRob Herring			  80  81  82  83  84  85  86  87
564724ba675SRob Herring			  88  89  90  91  92  93  94  95
565724ba675SRob Herring			  96  97  98  99 100 101 102 103
566724ba675SRob Herring			 104 105 106 107 108 109 110 111
567724ba675SRob Herring			 112 113 114 115 116 117 118 119
568724ba675SRob Herring			 120 121 122 123 124 125 126 127
569724ba675SRob Herring			 128 129 130 131 132 133 134 135
570724ba675SRob Herring			 136 137 138 139 140 141 142 143
571724ba675SRob Herring			 144 145 146 147 148 149 150 151
572724ba675SRob Herring			 152 153 154 155 156 157 158 159
573724ba675SRob Herring			 160 161 162 163 164 165 166 167
574724ba675SRob Herring			 168 169 170 171 172 173 174 175
575724ba675SRob Herring			 176 177 178 179 180 181 182 183
576724ba675SRob Herring			 184 185 186 187 188 189 190 191
577724ba675SRob Herring			 192 193 194 195 196 197 198 199
578724ba675SRob Herring			 200 201 202 203 204 205 206 207
579724ba675SRob Herring			 208 209 210 211 212 213 214 215
580724ba675SRob Herring			 216 217 218 219 220 221 222 223
581724ba675SRob Herring			 224 225 226 227 228 229 230 231
582724ba675SRob Herring			 232 233 234 235 236 237 238 239
583724ba675SRob Herring			 240 241 242 243 244 245 246 247
584724ba675SRob Herring			 248 249 250 251 252 253 254 255
585724ba675SRob Herring			 256>;
586724ba675SRob Herring	};
587724ba675SRob Herring
588724ba675SRob Herring	clk32k_in: clock-32k {
589724ba675SRob Herring		compatible = "fixed-clock";
590724ba675SRob Herring		clock-frequency = <32768>;
591724ba675SRob Herring		#clock-cells = <0>;
592724ba675SRob Herring	};
593724ba675SRob Herring
594724ba675SRob Herring	cpus {
595724ba675SRob Herring		cpu0: cpu@0 {
596724ba675SRob Herring			#cooling-cells = <2>;
597724ba675SRob Herring			vdd-cpu-supply = <&vdd_cpu>;
598724ba675SRob Herring		};
599724ba675SRob Herring
600724ba675SRob Herring		cpu1: cpu@1 {
601724ba675SRob Herring			#cooling-cells = <2>;
602724ba675SRob Herring		};
603724ba675SRob Herring
604724ba675SRob Herring		cpu2: cpu@2 {
605724ba675SRob Herring			#cooling-cells = <2>;
606724ba675SRob Herring		};
607724ba675SRob Herring
608724ba675SRob Herring		cpu3: cpu@3 {
609724ba675SRob Herring			#cooling-cells = <2>;
610724ba675SRob Herring		};
611724ba675SRob Herring	};
612724ba675SRob Herring
613724ba675SRob Herring	gpio-keys {
614724ba675SRob Herring		compatible = "gpio-keys";
615724ba675SRob Herring
616724ba675SRob Herring		key-power {
617724ba675SRob Herring			label = "Power";
618724ba675SRob Herring			gpios = <&gpio TEGRA_GPIO(Q, 0) GPIO_ACTIVE_LOW>;
619724ba675SRob Herring			linux,code = <KEY_POWER>;
620724ba675SRob Herring			debounce-interval = <30>;
621724ba675SRob Herring			wakeup-source;
622724ba675SRob Herring		};
623724ba675SRob Herring
624724ba675SRob Herring		switch-lid {
625724ba675SRob Herring			label = "Lid";
626724ba675SRob Herring			gpios = <&gpio TEGRA_GPIO(R, 4) GPIO_ACTIVE_LOW>;
627724ba675SRob Herring			linux,input-type = <5>;
628724ba675SRob Herring			linux,code = <KEY_RESERVED>;
629724ba675SRob Herring			debounce-interval = <1>;
630724ba675SRob Herring			wakeup-source;
631724ba675SRob Herring		};
632724ba675SRob Herring	};
633724ba675SRob Herring
634724ba675SRob Herring	gpio-restart {
635724ba675SRob Herring		compatible = "gpio-restart";
636724ba675SRob Herring		gpios = <&gpio TEGRA_GPIO(I, 5) GPIO_ACTIVE_LOW>;
637724ba675SRob Herring		priority = <200>;
638724ba675SRob Herring	};
639724ba675SRob Herring
640724ba675SRob Herring	sdhci0_pwrseq: pwrseq-sdhci0 {
641724ba675SRob Herring		compatible = "mmc-pwrseq-simple";
642724ba675SRob Herring
643724ba675SRob Herring		reset-gpios = <&gpio TEGRA_GPIO(X, 7) GPIO_ACTIVE_LOW>;
644724ba675SRob Herring	};
645724ba675SRob Herring
646724ba675SRob Herring	vdd_mux: regulator-mux {
647724ba675SRob Herring		compatible = "regulator-fixed";
648724ba675SRob Herring		regulator-name = "+VDD_MUX";
649724ba675SRob Herring		regulator-min-microvolt = <12000000>;
650724ba675SRob Herring		regulator-max-microvolt = <12000000>;
651724ba675SRob Herring		regulator-always-on;
652724ba675SRob Herring		regulator-boot-on;
653724ba675SRob Herring	};
654724ba675SRob Herring
655724ba675SRob Herring	vdd_5v0_sys: regulator-5v0sys {
656724ba675SRob Herring		compatible = "regulator-fixed";
657724ba675SRob Herring		regulator-name = "+5V_SYS";
658724ba675SRob Herring		regulator-min-microvolt = <5000000>;
659724ba675SRob Herring		regulator-max-microvolt = <5000000>;
660724ba675SRob Herring		regulator-always-on;
661724ba675SRob Herring		regulator-boot-on;
662724ba675SRob Herring		vin-supply = <&vdd_mux>;
663724ba675SRob Herring	};
664724ba675SRob Herring
665724ba675SRob Herring	vdd_3v3_sys: regulator-3v3sys {
666724ba675SRob Herring		compatible = "regulator-fixed";
667724ba675SRob Herring		regulator-name = "+3.3V_SYS";
668724ba675SRob Herring		regulator-min-microvolt = <3300000>;
669724ba675SRob Herring		regulator-max-microvolt = <3300000>;
670724ba675SRob Herring		regulator-always-on;
671724ba675SRob Herring		regulator-boot-on;
672724ba675SRob Herring		vin-supply = <&vdd_mux>;
673724ba675SRob Herring	};
674724ba675SRob Herring
675724ba675SRob Herring	vdd_3v3_run: regulator-3v3run {
676724ba675SRob Herring		compatible = "regulator-fixed";
677724ba675SRob Herring		regulator-name = "+3.3V_RUN";
678724ba675SRob Herring		regulator-min-microvolt = <3300000>;
679724ba675SRob Herring		regulator-max-microvolt = <3300000>;
680724ba675SRob Herring		regulator-always-on;
681724ba675SRob Herring		regulator-boot-on;
682724ba675SRob Herring		gpio = <&pmic 1 GPIO_ACTIVE_HIGH>;
683724ba675SRob Herring		enable-active-high;
684724ba675SRob Herring		vin-supply = <&vdd_3v3_sys>;
685724ba675SRob Herring	};
686724ba675SRob Herring
687724ba675SRob Herring	vdd_3v3_hdmi: regulator-3v3hdmi {
688724ba675SRob Herring		compatible = "regulator-fixed";
689724ba675SRob Herring		regulator-name = "+3.3V_AVDD_HDMI_AP_GATED";
690724ba675SRob Herring		regulator-min-microvolt = <3300000>;
691724ba675SRob Herring		regulator-max-microvolt = <3300000>;
692724ba675SRob Herring		vin-supply = <&vdd_3v3_run>;
693724ba675SRob Herring	};
694724ba675SRob Herring
695724ba675SRob Herring	vdd_led: regulator-led {
696724ba675SRob Herring		compatible = "regulator-fixed";
697724ba675SRob Herring		regulator-name = "+VDD_LED";
698724ba675SRob Herring		gpio = <&gpio TEGRA_GPIO(P, 2) GPIO_ACTIVE_HIGH>;
699724ba675SRob Herring		enable-active-high;
700724ba675SRob Herring		vin-supply = <&vdd_mux>;
701724ba675SRob Herring	};
702724ba675SRob Herring
703724ba675SRob Herring	vdd_5v0_ts: regulator-ts {
704724ba675SRob Herring		compatible = "regulator-fixed";
705724ba675SRob Herring		regulator-name = "+5V_VDD_TS_SW";
706724ba675SRob Herring		regulator-min-microvolt = <5000000>;
707724ba675SRob Herring		regulator-max-microvolt = <5000000>;
708724ba675SRob Herring		regulator-boot-on;
709724ba675SRob Herring		gpio = <&gpio TEGRA_GPIO(K, 1) GPIO_ACTIVE_HIGH>;
710724ba675SRob Herring		enable-active-high;
711724ba675SRob Herring		vin-supply = <&vdd_5v0_sys>;
712724ba675SRob Herring	};
713724ba675SRob Herring
714724ba675SRob Herring	vdd_usb1_vbus: regulator-usb1 {
715724ba675SRob Herring		compatible = "regulator-fixed";
716724ba675SRob Herring		regulator-name = "+5V_USB_HS";
717724ba675SRob Herring		regulator-min-microvolt = <5000000>;
718724ba675SRob Herring		regulator-max-microvolt = <5000000>;
719724ba675SRob Herring		gpio = <&gpio TEGRA_GPIO(N, 4) GPIO_ACTIVE_HIGH>;
720724ba675SRob Herring		enable-active-high;
721724ba675SRob Herring		gpio-open-drain;
722724ba675SRob Herring		vin-supply = <&vdd_5v0_sys>;
723724ba675SRob Herring	};
724724ba675SRob Herring
725724ba675SRob Herring	vdd_usb3_vbus: regulator-usb3 {
726724ba675SRob Herring		compatible = "regulator-fixed";
727724ba675SRob Herring		regulator-name = "+5V_USB_SS";
728724ba675SRob Herring		regulator-min-microvolt = <5000000>;
729724ba675SRob Herring		regulator-max-microvolt = <5000000>;
730724ba675SRob Herring		gpio = <&gpio TEGRA_GPIO(N, 5) GPIO_ACTIVE_HIGH>;
731724ba675SRob Herring		enable-active-high;
732724ba675SRob Herring		gpio-open-drain;
733724ba675SRob Herring		vin-supply = <&vdd_5v0_sys>;
734724ba675SRob Herring	};
735724ba675SRob Herring
736724ba675SRob Herring	vdd_3v3_panel: regulator-panel {
737724ba675SRob Herring		compatible = "regulator-fixed";
738724ba675SRob Herring		regulator-name = "+3.3V_PANEL";
739724ba675SRob Herring		regulator-min-microvolt = <3300000>;
740724ba675SRob Herring		regulator-max-microvolt = <3300000>;
741724ba675SRob Herring		gpio = <&pmic 4 GPIO_ACTIVE_HIGH>;
742724ba675SRob Herring		enable-active-high;
743724ba675SRob Herring		vin-supply = <&vdd_3v3_run>;
744724ba675SRob Herring	};
745724ba675SRob Herring
746724ba675SRob Herring	vdd_3v3_lp0: regulator-lp0 {
747724ba675SRob Herring		compatible = "regulator-fixed";
748724ba675SRob Herring		regulator-name = "+3.3V_LP0";
749724ba675SRob Herring		regulator-min-microvolt = <3300000>;
750724ba675SRob Herring		regulator-max-microvolt = <3300000>;
751724ba675SRob Herring		/*
752724ba675SRob Herring		 * TODO: find a way to wire this up with the USB EHCI
753724ba675SRob Herring		 * controllers so that it can be enabled on demand.
754724ba675SRob Herring		 */
755724ba675SRob Herring		regulator-always-on;
756724ba675SRob Herring		gpio = <&pmic 2 GPIO_ACTIVE_HIGH>;
757724ba675SRob Herring		enable-active-high;
758724ba675SRob Herring		vin-supply = <&vdd_3v3_sys>;
759724ba675SRob Herring	};
760724ba675SRob Herring
761724ba675SRob Herring	vdd_hdmi_pll: regulator-hdmipll {
762724ba675SRob Herring		compatible = "regulator-fixed";
763724ba675SRob Herring		regulator-name = "+1.05V_RUN_AVDD_HDMI_PLL";
764724ba675SRob Herring		regulator-min-microvolt = <1050000>;
765724ba675SRob Herring		regulator-max-microvolt = <1050000>;
766724ba675SRob Herring		gpio = <&gpio TEGRA_GPIO(H, 7) GPIO_ACTIVE_LOW>;
767724ba675SRob Herring		vin-supply = <&vdd_1v05_run>;
768724ba675SRob Herring	};
769724ba675SRob Herring
770724ba675SRob Herring	vdd_5v0_hdmi: regulator-hdmicon {
771724ba675SRob Herring		compatible = "regulator-fixed";
772724ba675SRob Herring		regulator-name = "+5V_HDMI_CON";
773724ba675SRob Herring		regulator-min-microvolt = <5000000>;
774724ba675SRob Herring		regulator-max-microvolt = <5000000>;
775724ba675SRob Herring		gpio = <&gpio TEGRA_GPIO(K, 6) GPIO_ACTIVE_HIGH>;
776724ba675SRob Herring		enable-active-high;
777724ba675SRob Herring		vin-supply = <&vdd_5v0_sys>;
778724ba675SRob Herring	};
779724ba675SRob Herring
780724ba675SRob Herring	sound {
781724ba675SRob Herring		nvidia,audio-routing =
782724ba675SRob Herring			"Headphones", "HPR",
783724ba675SRob Herring			"Headphones", "HPL",
784724ba675SRob Herring			"Speakers", "SPKR",
785724ba675SRob Herring			"Speakers", "SPKL",
786724ba675SRob Herring			"Mic Jack", "MICBIAS",
787724ba675SRob Herring			"DMICL", "Int Mic",
788724ba675SRob Herring			"DMICR", "Int Mic",
789724ba675SRob Herring			"IN34", "Mic Jack";
790724ba675SRob Herring
791724ba675SRob Herring		nvidia,i2s-controller = <&tegra_i2s1>;
792724ba675SRob Herring		nvidia,audio-codec = <&acodec>;
793724ba675SRob Herring
794724ba675SRob Herring		clocks = <&tegra_car TEGRA124_CLK_PLL_A>,
795724ba675SRob Herring			 <&tegra_car TEGRA124_CLK_PLL_A_OUT0>,
796724ba675SRob Herring			 <&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
797724ba675SRob Herring		clock-names = "pll_a", "pll_a_out0", "mclk";
798724ba675SRob Herring
799724ba675SRob Herring		assigned-clocks = <&tegra_car TEGRA124_CLK_EXTERN1>,
800724ba675SRob Herring				  <&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
801724ba675SRob Herring
802724ba675SRob Herring		assigned-clock-parents = <&tegra_car TEGRA124_CLK_PLL_A_OUT0>,
803724ba675SRob Herring					 <&tegra_car TEGRA124_CLK_EXTERN1>;
804724ba675SRob Herring
805724ba675SRob Herring		nvidia,hp-det-gpios = <&gpio TEGRA_GPIO(I, 7) GPIO_ACTIVE_HIGH>;
806724ba675SRob Herring		nvidia,mic-det-gpios =
807724ba675SRob Herring				<&gpio TEGRA_GPIO(R, 7) GPIO_ACTIVE_HIGH>;
808724ba675SRob Herring	};
809724ba675SRob Herring
810724ba675SRob Herring	thermal-zones {
811724ba675SRob Herring		cpu-skin-thermal {
812724ba675SRob Herring			polling-delay-passive = <1000>; /* milliseconds */
813724ba675SRob Herring			polling-delay = <5000>; /* milliseconds */
814724ba675SRob Herring
815724ba675SRob Herring			thermal-sensors = <&tmp451 0>;
816724ba675SRob Herring
817724ba675SRob Herring			trips {
818724ba675SRob Herring				cpu_passive_trip: cpu-alert0 {
819724ba675SRob Herring					/* throttle at 70C until temperature drops to 69.8C */
820724ba675SRob Herring					temperature = <70000>;
821724ba675SRob Herring					hysteresis = <200>;
822724ba675SRob Herring					type = "passive";
823724ba675SRob Herring				};
824724ba675SRob Herring			};
825724ba675SRob Herring
826724ba675SRob Herring			cooling-maps {
827724ba675SRob Herring				map0 {
828724ba675SRob Herring					trip = <&cpu_passive_trip>;
829724ba675SRob Herring					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
830724ba675SRob Herring							 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
831724ba675SRob Herring							 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
832724ba675SRob Herring							 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
833724ba675SRob Herring				};
834724ba675SRob Herring			};
835724ba675SRob Herring		};
836724ba675SRob Herring	};
837724ba675SRob Herring};
838724ba675SRob Herring
839724ba675SRob Herring#include "../cros-ec-keyboard.dtsi"
840