xref: /openbmc/linux/arch/arm/boot/dts/nvidia/tegra124-nyan.dtsi (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
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. */
73*9766116aSThierry Reding		/delete-property/ dmas;
74*9766116aSThierry 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>;
341724ba675SRob Herring
342724ba675SRob Herring			google,cros-ec-spi-msg-delay = <2000>;
343724ba675SRob Herring
344724ba675SRob Herring			i2c-tunnel {
345724ba675SRob Herring				compatible = "google,cros-ec-i2c-tunnel";
346724ba675SRob Herring				#address-cells = <1>;
347724ba675SRob Herring				#size-cells = <0>;
348724ba675SRob Herring
349724ba675SRob Herring				google,remote-bus = <0>;
350724ba675SRob Herring
351724ba675SRob Herring				charger: bq24735@9 {
352724ba675SRob Herring					compatible = "ti,bq24735";
353724ba675SRob Herring					reg = <0x9>;
354724ba675SRob Herring					interrupt-parent = <&gpio>;
355724ba675SRob Herring					interrupts = <TEGRA_GPIO(J, 0)
356724ba675SRob Herring							IRQ_TYPE_EDGE_BOTH>;
357724ba675SRob Herring					ti,ac-detect-gpios = <&gpio
358724ba675SRob Herring							TEGRA_GPIO(J, 0)
359724ba675SRob Herring							GPIO_ACTIVE_HIGH>;
360724ba675SRob Herring					ti,external-control;
361724ba675SRob Herring				};
362724ba675SRob Herring
363724ba675SRob Herring				battery: sbs-battery@b {
364724ba675SRob Herring					compatible = "sbs,sbs-battery";
365724ba675SRob Herring					reg = <0xb>;
366724ba675SRob Herring					sbs,i2c-retry-count = <2>;
367724ba675SRob Herring					sbs,poll-retry-count = <10>;
368724ba675SRob Herring					power-supplies = <&charger>;
369724ba675SRob Herring				};
370724ba675SRob Herring			};
371724ba675SRob Herring		};
372724ba675SRob Herring	};
373724ba675SRob Herring
374724ba675SRob Herring	spi@7000da00 {
375724ba675SRob Herring		status = "okay";
376724ba675SRob Herring		spi-max-frequency = <25000000>;
377724ba675SRob Herring
378724ba675SRob Herring		flash@0 {
379724ba675SRob Herring			compatible = "winbond,w25q32dw", "jedec,spi-nor";
380724ba675SRob Herring			spi-max-frequency = <25000000>;
381724ba675SRob Herring			reg = <0>;
382724ba675SRob Herring		};
383724ba675SRob Herring	};
384724ba675SRob Herring
385724ba675SRob Herring	pmc@7000e400 {
386724ba675SRob Herring		nvidia,invert-interrupt;
387724ba675SRob Herring		nvidia,suspend-mode = <0>;
388724ba675SRob Herring		nvidia,cpu-pwr-good-time = <500>;
389724ba675SRob Herring		nvidia,cpu-pwr-off-time = <300>;
390724ba675SRob Herring		nvidia,core-pwr-good-time = <641 3845>;
391724ba675SRob Herring		nvidia,core-pwr-off-time = <61036>;
392724ba675SRob Herring		nvidia,core-power-req-active-high;
393724ba675SRob Herring		nvidia,sys-clock-req-active-high;
394724ba675SRob Herring	};
395724ba675SRob Herring
396724ba675SRob Herring	cec@70015000 {
397724ba675SRob Herring		status = "okay";
398724ba675SRob Herring	};
399724ba675SRob Herring
400724ba675SRob Herring	hda@70030000 {
401724ba675SRob Herring		status = "okay";
402724ba675SRob Herring	};
403724ba675SRob Herring
404724ba675SRob Herring	usb@70090000 {
405724ba675SRob Herring		phys = <&{/padctl@7009f000/pads/usb2/lanes/usb2-0}>, /* 1st USB A */
406724ba675SRob Herring		       <&{/padctl@7009f000/pads/usb2/lanes/usb2-1}>, /* Internal USB */
407724ba675SRob Herring		       <&{/padctl@7009f000/pads/usb2/lanes/usb2-2}>, /* 2nd USB A */
408724ba675SRob Herring		       <&{/padctl@7009f000/pads/pcie/lanes/pcie-0}>, /* 1st USB A */
409724ba675SRob Herring		       <&{/padctl@7009f000/pads/pcie/lanes/pcie-1}>; /* 2nd USB A */
410724ba675SRob Herring		phy-names = "usb2-0", "usb2-1", "usb2-2", "usb3-0", "usb3-1";
411724ba675SRob Herring
412724ba675SRob Herring		avddio-pex-supply = <&vdd_1v05_run>;
413724ba675SRob Herring		dvddio-pex-supply = <&vdd_1v05_run>;
414724ba675SRob Herring		avdd-usb-supply = <&vdd_3v3_lp0>;
415724ba675SRob Herring		avdd-pll-utmip-supply = <&vddio_1v8>;
416724ba675SRob Herring		avdd-pll-erefe-supply = <&avdd_1v05_run>;
417724ba675SRob Herring		avdd-usb-ss-pll-supply = <&vdd_1v05_run>;
418724ba675SRob Herring		hvdd-usb-ss-supply = <&vdd_3v3_lp0>;
419724ba675SRob Herring		hvdd-usb-ss-pll-e-supply = <&vdd_3v3_lp0>;
420724ba675SRob Herring
421724ba675SRob Herring		status = "okay";
422724ba675SRob Herring	};
423724ba675SRob Herring
424724ba675SRob Herring	padctl@7009f000 {
425724ba675SRob Herring		status = "okay";
426724ba675SRob Herring
427724ba675SRob Herring		avdd-pll-utmip-supply = <&vddio_1v8>;
428724ba675SRob Herring		avdd-pll-erefe-supply = <&avdd_1v05_run>;
429724ba675SRob Herring		avdd-pex-pll-supply = <&vdd_1v05_run>;
430724ba675SRob Herring		hvdd-pex-pll-e-supply = <&vdd_3v3_lp0>;
431724ba675SRob Herring
432724ba675SRob Herring		pads {
433724ba675SRob Herring			usb2 {
434724ba675SRob Herring				status = "okay";
435724ba675SRob Herring
436724ba675SRob Herring				lanes {
437724ba675SRob Herring					usb2-0 {
438724ba675SRob Herring						nvidia,function = "xusb";
439724ba675SRob Herring						status = "okay";
440724ba675SRob Herring					};
441724ba675SRob Herring
442724ba675SRob Herring					usb2-1 {
443724ba675SRob Herring						nvidia,function = "xusb";
444724ba675SRob Herring						status = "okay";
445724ba675SRob Herring					};
446724ba675SRob Herring
447724ba675SRob Herring					usb2-2 {
448724ba675SRob Herring						nvidia,function = "xusb";
449724ba675SRob Herring						status = "okay";
450724ba675SRob Herring					};
451724ba675SRob Herring				};
452724ba675SRob Herring			};
453724ba675SRob Herring
454724ba675SRob Herring			pcie {
455724ba675SRob Herring				status = "okay";
456724ba675SRob Herring
457724ba675SRob Herring				lanes {
458724ba675SRob Herring					pcie-0 {
459724ba675SRob Herring						nvidia,function = "usb3-ss";
460724ba675SRob Herring						status = "okay";
461724ba675SRob Herring					};
462724ba675SRob Herring
463724ba675SRob Herring					pcie-1 {
464724ba675SRob Herring						nvidia,function = "usb3-ss";
465724ba675SRob Herring						status = "okay";
466724ba675SRob Herring					};
467724ba675SRob Herring				};
468724ba675SRob Herring			};
469724ba675SRob Herring		};
470724ba675SRob Herring
471724ba675SRob Herring		ports {
472724ba675SRob Herring			usb2-0 {
473724ba675SRob Herring				vbus-supply = <&vdd_usb1_vbus>;
474724ba675SRob Herring				status = "okay";
475724ba675SRob Herring				mode = "otg";
476724ba675SRob Herring				usb-role-switch;
477724ba675SRob Herring			};
478724ba675SRob Herring
479724ba675SRob Herring			usb2-1 {
480724ba675SRob Herring				vbus-supply = <&vdd_run_cam>;
481724ba675SRob Herring				status = "okay";
482724ba675SRob Herring				mode = "host";
483724ba675SRob Herring			};
484724ba675SRob Herring
485724ba675SRob Herring			usb2-2 {
486724ba675SRob Herring				vbus-supply = <&vdd_usb3_vbus>;
487724ba675SRob Herring				status = "okay";
488724ba675SRob Herring				mode = "host";
489724ba675SRob Herring			};
490724ba675SRob Herring
491724ba675SRob Herring			usb3-0 {
492724ba675SRob Herring				nvidia,usb2-companion = <0>;
493724ba675SRob Herring				status = "okay";
494724ba675SRob Herring			};
495724ba675SRob Herring
496724ba675SRob Herring			usb3-1 {
497724ba675SRob Herring				nvidia,usb2-companion = <1>;
498724ba675SRob Herring				status = "okay";
499724ba675SRob Herring			};
500724ba675SRob Herring		};
501724ba675SRob Herring	};
502724ba675SRob Herring
503724ba675SRob Herring	mmc@700b0000 { /* WiFi/BT on this bus */
504724ba675SRob Herring		status = "okay";
505724ba675SRob Herring		bus-width = <4>;
506724ba675SRob Herring		no-1-8-v;
507724ba675SRob Herring		non-removable;
508724ba675SRob Herring		mmc-pwrseq = <&sdhci0_pwrseq>;
509724ba675SRob Herring		vmmc-supply = <&vdd_3v3_lp0>;
510724ba675SRob Herring		vqmmc-supply = <&vddio_1v8>;
511724ba675SRob Herring		keep-power-in-suspend;
512724ba675SRob Herring	};
513724ba675SRob Herring
514724ba675SRob Herring	mmc@700b0400 { /* SD Card on this bus */
515724ba675SRob Herring		status = "okay";
516724ba675SRob Herring		cd-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_LOW>;
517724ba675SRob Herring		power-gpios = <&gpio TEGRA_GPIO(R, 0) GPIO_ACTIVE_HIGH>;
518724ba675SRob Herring		bus-width = <4>;
519724ba675SRob Herring		no-1-8-v;
520724ba675SRob Herring		vqmmc-supply = <&vddio_sdmmc3>;
521724ba675SRob Herring	};
522724ba675SRob Herring
523724ba675SRob Herring	mmc@700b0600 { /* eMMC on this bus */
524724ba675SRob Herring		status = "okay";
525724ba675SRob Herring		bus-width = <8>;
526724ba675SRob Herring		no-1-8-v;
527724ba675SRob Herring		non-removable;
528724ba675SRob Herring	};
529724ba675SRob Herring
530724ba675SRob Herring	/* CPU DFLL clock */
531724ba675SRob Herring	clock@70110000 {
532724ba675SRob Herring		status = "okay";
533724ba675SRob Herring		vdd-cpu-supply = <&vdd_cpu>;
534724ba675SRob Herring		nvidia,i2c-fs-rate = <400000>;
535724ba675SRob Herring	};
536724ba675SRob Herring
537724ba675SRob Herring	ahub@70300000 {
538724ba675SRob Herring		i2s@70301100 {
539724ba675SRob Herring			status = "okay";
540724ba675SRob Herring		};
541724ba675SRob Herring	};
542724ba675SRob Herring
543724ba675SRob Herring	backlight: backlight {
544724ba675SRob Herring		compatible = "pwm-backlight";
545724ba675SRob Herring
546724ba675SRob Herring		enable-gpios = <&gpio TEGRA_GPIO(H, 2) GPIO_ACTIVE_HIGH>;
547724ba675SRob Herring		power-supply = <&vdd_led>;
548724ba675SRob Herring		pwms = <&pwm 1 1000000>;
549724ba675SRob Herring
550724ba675SRob Herring		default-brightness-level = <224>;
551724ba675SRob Herring		brightness-levels =
552724ba675SRob Herring			<  0   1   2   3   4   5   6   7
553724ba675SRob Herring			   8   9  10  11  12  13  14  15
554724ba675SRob Herring			  16  17  18  19  20  21  22  23
555724ba675SRob Herring			  24  25  26  27  28  29  30  31
556724ba675SRob Herring			  32  33  34  35  36  37  38  39
557724ba675SRob Herring			  40  41  42  43  44  45  46  47
558724ba675SRob Herring			  48  49  50  51  52  53  54  55
559724ba675SRob Herring			  56  57  58  59  60  61  62  63
560724ba675SRob Herring			  64  65  66  67  68  69  70  71
561724ba675SRob Herring			  72  73  74  75  76  77  78  79
562724ba675SRob Herring			  80  81  82  83  84  85  86  87
563724ba675SRob Herring			  88  89  90  91  92  93  94  95
564724ba675SRob Herring			  96  97  98  99 100 101 102 103
565724ba675SRob Herring			 104 105 106 107 108 109 110 111
566724ba675SRob Herring			 112 113 114 115 116 117 118 119
567724ba675SRob Herring			 120 121 122 123 124 125 126 127
568724ba675SRob Herring			 128 129 130 131 132 133 134 135
569724ba675SRob Herring			 136 137 138 139 140 141 142 143
570724ba675SRob Herring			 144 145 146 147 148 149 150 151
571724ba675SRob Herring			 152 153 154 155 156 157 158 159
572724ba675SRob Herring			 160 161 162 163 164 165 166 167
573724ba675SRob Herring			 168 169 170 171 172 173 174 175
574724ba675SRob Herring			 176 177 178 179 180 181 182 183
575724ba675SRob Herring			 184 185 186 187 188 189 190 191
576724ba675SRob Herring			 192 193 194 195 196 197 198 199
577724ba675SRob Herring			 200 201 202 203 204 205 206 207
578724ba675SRob Herring			 208 209 210 211 212 213 214 215
579724ba675SRob Herring			 216 217 218 219 220 221 222 223
580724ba675SRob Herring			 224 225 226 227 228 229 230 231
581724ba675SRob Herring			 232 233 234 235 236 237 238 239
582724ba675SRob Herring			 240 241 242 243 244 245 246 247
583724ba675SRob Herring			 248 249 250 251 252 253 254 255
584724ba675SRob Herring			 256>;
585724ba675SRob Herring	};
586724ba675SRob Herring
587724ba675SRob Herring	clk32k_in: clock-32k {
588724ba675SRob Herring		compatible = "fixed-clock";
589724ba675SRob Herring		clock-frequency = <32768>;
590724ba675SRob Herring		#clock-cells = <0>;
591724ba675SRob Herring	};
592724ba675SRob Herring
593724ba675SRob Herring	cpus {
594724ba675SRob Herring		cpu0: cpu@0 {
595724ba675SRob Herring			#cooling-cells = <2>;
596724ba675SRob Herring			vdd-cpu-supply = <&vdd_cpu>;
597724ba675SRob Herring		};
598724ba675SRob Herring
599724ba675SRob Herring		cpu1: cpu@1 {
600724ba675SRob Herring			#cooling-cells = <2>;
601724ba675SRob Herring		};
602724ba675SRob Herring
603724ba675SRob Herring		cpu2: cpu@2 {
604724ba675SRob Herring			#cooling-cells = <2>;
605724ba675SRob Herring		};
606724ba675SRob Herring
607724ba675SRob Herring		cpu3: cpu@3 {
608724ba675SRob Herring			#cooling-cells = <2>;
609724ba675SRob Herring		};
610724ba675SRob Herring	};
611724ba675SRob Herring
612724ba675SRob Herring	gpio-keys {
613724ba675SRob Herring		compatible = "gpio-keys";
614724ba675SRob Herring
615724ba675SRob Herring		key-power {
616724ba675SRob Herring			label = "Power";
617724ba675SRob Herring			gpios = <&gpio TEGRA_GPIO(Q, 0) GPIO_ACTIVE_LOW>;
618724ba675SRob Herring			linux,code = <KEY_POWER>;
619724ba675SRob Herring			debounce-interval = <30>;
620724ba675SRob Herring			wakeup-source;
621724ba675SRob Herring		};
622724ba675SRob Herring
623724ba675SRob Herring		switch-lid {
624724ba675SRob Herring			label = "Lid";
625724ba675SRob Herring			gpios = <&gpio TEGRA_GPIO(R, 4) GPIO_ACTIVE_LOW>;
626724ba675SRob Herring			linux,input-type = <5>;
627724ba675SRob Herring			linux,code = <KEY_RESERVED>;
628724ba675SRob Herring			debounce-interval = <1>;
629724ba675SRob Herring			wakeup-source;
630724ba675SRob Herring		};
631724ba675SRob Herring	};
632724ba675SRob Herring
633724ba675SRob Herring	gpio-restart {
634724ba675SRob Herring		compatible = "gpio-restart";
635724ba675SRob Herring		gpios = <&gpio TEGRA_GPIO(I, 5) GPIO_ACTIVE_LOW>;
636724ba675SRob Herring		priority = <200>;
637724ba675SRob Herring	};
638724ba675SRob Herring
639724ba675SRob Herring	sdhci0_pwrseq: pwrseq-sdhci0 {
640724ba675SRob Herring		compatible = "mmc-pwrseq-simple";
641724ba675SRob Herring
642724ba675SRob Herring		reset-gpios = <&gpio TEGRA_GPIO(X, 7) GPIO_ACTIVE_LOW>;
643724ba675SRob Herring	};
644724ba675SRob Herring
645724ba675SRob Herring	vdd_mux: regulator-mux {
646724ba675SRob Herring		compatible = "regulator-fixed";
647724ba675SRob Herring		regulator-name = "+VDD_MUX";
648724ba675SRob Herring		regulator-min-microvolt = <12000000>;
649724ba675SRob Herring		regulator-max-microvolt = <12000000>;
650724ba675SRob Herring		regulator-always-on;
651724ba675SRob Herring		regulator-boot-on;
652724ba675SRob Herring	};
653724ba675SRob Herring
654724ba675SRob Herring	vdd_5v0_sys: regulator-5v0sys {
655724ba675SRob Herring		compatible = "regulator-fixed";
656724ba675SRob Herring		regulator-name = "+5V_SYS";
657724ba675SRob Herring		regulator-min-microvolt = <5000000>;
658724ba675SRob Herring		regulator-max-microvolt = <5000000>;
659724ba675SRob Herring		regulator-always-on;
660724ba675SRob Herring		regulator-boot-on;
661724ba675SRob Herring		vin-supply = <&vdd_mux>;
662724ba675SRob Herring	};
663724ba675SRob Herring
664724ba675SRob Herring	vdd_3v3_sys: regulator-3v3sys {
665724ba675SRob Herring		compatible = "regulator-fixed";
666724ba675SRob Herring		regulator-name = "+3.3V_SYS";
667724ba675SRob Herring		regulator-min-microvolt = <3300000>;
668724ba675SRob Herring		regulator-max-microvolt = <3300000>;
669724ba675SRob Herring		regulator-always-on;
670724ba675SRob Herring		regulator-boot-on;
671724ba675SRob Herring		vin-supply = <&vdd_mux>;
672724ba675SRob Herring	};
673724ba675SRob Herring
674724ba675SRob Herring	vdd_3v3_run: regulator-3v3run {
675724ba675SRob Herring		compatible = "regulator-fixed";
676724ba675SRob Herring		regulator-name = "+3.3V_RUN";
677724ba675SRob Herring		regulator-min-microvolt = <3300000>;
678724ba675SRob Herring		regulator-max-microvolt = <3300000>;
679724ba675SRob Herring		regulator-always-on;
680724ba675SRob Herring		regulator-boot-on;
681724ba675SRob Herring		gpio = <&pmic 1 GPIO_ACTIVE_HIGH>;
682724ba675SRob Herring		enable-active-high;
683724ba675SRob Herring		vin-supply = <&vdd_3v3_sys>;
684724ba675SRob Herring	};
685724ba675SRob Herring
686724ba675SRob Herring	vdd_3v3_hdmi: regulator-3v3hdmi {
687724ba675SRob Herring		compatible = "regulator-fixed";
688724ba675SRob Herring		regulator-name = "+3.3V_AVDD_HDMI_AP_GATED";
689724ba675SRob Herring		regulator-min-microvolt = <3300000>;
690724ba675SRob Herring		regulator-max-microvolt = <3300000>;
691724ba675SRob Herring		vin-supply = <&vdd_3v3_run>;
692724ba675SRob Herring	};
693724ba675SRob Herring
694724ba675SRob Herring	vdd_led: regulator-led {
695724ba675SRob Herring		compatible = "regulator-fixed";
696724ba675SRob Herring		regulator-name = "+VDD_LED";
697724ba675SRob Herring		gpio = <&gpio TEGRA_GPIO(P, 2) GPIO_ACTIVE_HIGH>;
698724ba675SRob Herring		enable-active-high;
699724ba675SRob Herring		vin-supply = <&vdd_mux>;
700724ba675SRob Herring	};
701724ba675SRob Herring
702724ba675SRob Herring	vdd_5v0_ts: regulator-ts {
703724ba675SRob Herring		compatible = "regulator-fixed";
704724ba675SRob Herring		regulator-name = "+5V_VDD_TS_SW";
705724ba675SRob Herring		regulator-min-microvolt = <5000000>;
706724ba675SRob Herring		regulator-max-microvolt = <5000000>;
707724ba675SRob Herring		regulator-boot-on;
708724ba675SRob Herring		gpio = <&gpio TEGRA_GPIO(K, 1) GPIO_ACTIVE_HIGH>;
709724ba675SRob Herring		enable-active-high;
710724ba675SRob Herring		vin-supply = <&vdd_5v0_sys>;
711724ba675SRob Herring	};
712724ba675SRob Herring
713724ba675SRob Herring	vdd_usb1_vbus: regulator-usb1 {
714724ba675SRob Herring		compatible = "regulator-fixed";
715724ba675SRob Herring		regulator-name = "+5V_USB_HS";
716724ba675SRob Herring		regulator-min-microvolt = <5000000>;
717724ba675SRob Herring		regulator-max-microvolt = <5000000>;
718724ba675SRob Herring		gpio = <&gpio TEGRA_GPIO(N, 4) GPIO_ACTIVE_HIGH>;
719724ba675SRob Herring		enable-active-high;
720724ba675SRob Herring		gpio-open-drain;
721724ba675SRob Herring		vin-supply = <&vdd_5v0_sys>;
722724ba675SRob Herring	};
723724ba675SRob Herring
724724ba675SRob Herring	vdd_usb3_vbus: regulator-usb3 {
725724ba675SRob Herring		compatible = "regulator-fixed";
726724ba675SRob Herring		regulator-name = "+5V_USB_SS";
727724ba675SRob Herring		regulator-min-microvolt = <5000000>;
728724ba675SRob Herring		regulator-max-microvolt = <5000000>;
729724ba675SRob Herring		gpio = <&gpio TEGRA_GPIO(N, 5) GPIO_ACTIVE_HIGH>;
730724ba675SRob Herring		enable-active-high;
731724ba675SRob Herring		gpio-open-drain;
732724ba675SRob Herring		vin-supply = <&vdd_5v0_sys>;
733724ba675SRob Herring	};
734724ba675SRob Herring
735724ba675SRob Herring	vdd_3v3_panel: regulator-panel {
736724ba675SRob Herring		compatible = "regulator-fixed";
737724ba675SRob Herring		regulator-name = "+3.3V_PANEL";
738724ba675SRob Herring		regulator-min-microvolt = <3300000>;
739724ba675SRob Herring		regulator-max-microvolt = <3300000>;
740724ba675SRob Herring		gpio = <&pmic 4 GPIO_ACTIVE_HIGH>;
741724ba675SRob Herring		enable-active-high;
742724ba675SRob Herring		vin-supply = <&vdd_3v3_run>;
743724ba675SRob Herring	};
744724ba675SRob Herring
745724ba675SRob Herring	vdd_3v3_lp0: regulator-lp0 {
746724ba675SRob Herring		compatible = "regulator-fixed";
747724ba675SRob Herring		regulator-name = "+3.3V_LP0";
748724ba675SRob Herring		regulator-min-microvolt = <3300000>;
749724ba675SRob Herring		regulator-max-microvolt = <3300000>;
750724ba675SRob Herring		/*
751724ba675SRob Herring		 * TODO: find a way to wire this up with the USB EHCI
752724ba675SRob Herring		 * controllers so that it can be enabled on demand.
753724ba675SRob Herring		 */
754724ba675SRob Herring		regulator-always-on;
755724ba675SRob Herring		gpio = <&pmic 2 GPIO_ACTIVE_HIGH>;
756724ba675SRob Herring		enable-active-high;
757724ba675SRob Herring		vin-supply = <&vdd_3v3_sys>;
758724ba675SRob Herring	};
759724ba675SRob Herring
760724ba675SRob Herring	vdd_hdmi_pll: regulator-hdmipll {
761724ba675SRob Herring		compatible = "regulator-fixed";
762724ba675SRob Herring		regulator-name = "+1.05V_RUN_AVDD_HDMI_PLL";
763724ba675SRob Herring		regulator-min-microvolt = <1050000>;
764724ba675SRob Herring		regulator-max-microvolt = <1050000>;
765724ba675SRob Herring		gpio = <&gpio TEGRA_GPIO(H, 7) GPIO_ACTIVE_LOW>;
766724ba675SRob Herring		vin-supply = <&vdd_1v05_run>;
767724ba675SRob Herring	};
768724ba675SRob Herring
769724ba675SRob Herring	vdd_5v0_hdmi: regulator-hdmicon {
770724ba675SRob Herring		compatible = "regulator-fixed";
771724ba675SRob Herring		regulator-name = "+5V_HDMI_CON";
772724ba675SRob Herring		regulator-min-microvolt = <5000000>;
773724ba675SRob Herring		regulator-max-microvolt = <5000000>;
774724ba675SRob Herring		gpio = <&gpio TEGRA_GPIO(K, 6) GPIO_ACTIVE_HIGH>;
775724ba675SRob Herring		enable-active-high;
776724ba675SRob Herring		vin-supply = <&vdd_5v0_sys>;
777724ba675SRob Herring	};
778724ba675SRob Herring
779724ba675SRob Herring	sound {
780724ba675SRob Herring		nvidia,audio-routing =
781724ba675SRob Herring			"Headphones", "HPR",
782724ba675SRob Herring			"Headphones", "HPL",
783724ba675SRob Herring			"Speakers", "SPKR",
784724ba675SRob Herring			"Speakers", "SPKL",
785724ba675SRob Herring			"Mic Jack", "MICBIAS",
786724ba675SRob Herring			"DMICL", "Int Mic",
787724ba675SRob Herring			"DMICR", "Int Mic",
788724ba675SRob Herring			"IN34", "Mic Jack";
789724ba675SRob Herring
790724ba675SRob Herring		nvidia,i2s-controller = <&tegra_i2s1>;
791724ba675SRob Herring		nvidia,audio-codec = <&acodec>;
792724ba675SRob Herring
793724ba675SRob Herring		clocks = <&tegra_car TEGRA124_CLK_PLL_A>,
794724ba675SRob Herring			 <&tegra_car TEGRA124_CLK_PLL_A_OUT0>,
795724ba675SRob Herring			 <&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
796724ba675SRob Herring		clock-names = "pll_a", "pll_a_out0", "mclk";
797724ba675SRob Herring
798724ba675SRob Herring		assigned-clocks = <&tegra_car TEGRA124_CLK_EXTERN1>,
799724ba675SRob Herring				  <&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
800724ba675SRob Herring
801724ba675SRob Herring		assigned-clock-parents = <&tegra_car TEGRA124_CLK_PLL_A_OUT0>,
802724ba675SRob Herring					 <&tegra_car TEGRA124_CLK_EXTERN1>;
803724ba675SRob Herring
804724ba675SRob Herring		nvidia,hp-det-gpios = <&gpio TEGRA_GPIO(I, 7) GPIO_ACTIVE_HIGH>;
805724ba675SRob Herring		nvidia,mic-det-gpios =
806724ba675SRob Herring				<&gpio TEGRA_GPIO(R, 7) GPIO_ACTIVE_HIGH>;
807724ba675SRob Herring	};
808724ba675SRob Herring
809724ba675SRob Herring	thermal-zones {
810724ba675SRob Herring		cpu-skin-thermal {
811724ba675SRob Herring			polling-delay-passive = <1000>; /* milliseconds */
812724ba675SRob Herring			polling-delay = <5000>; /* milliseconds */
813724ba675SRob Herring
814724ba675SRob Herring			thermal-sensors = <&tmp451 0>;
815724ba675SRob Herring
816724ba675SRob Herring			trips {
817724ba675SRob Herring				cpu_passive_trip: cpu-alert0 {
818724ba675SRob Herring					/* throttle at 70C until temperature drops to 69.8C */
819724ba675SRob Herring					temperature = <70000>;
820724ba675SRob Herring					hysteresis = <200>;
821724ba675SRob Herring					type = "passive";
822724ba675SRob Herring				};
823724ba675SRob Herring			};
824724ba675SRob Herring
825724ba675SRob Herring			cooling-maps {
826724ba675SRob Herring				map0 {
827724ba675SRob Herring					trip = <&cpu_passive_trip>;
828724ba675SRob Herring					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
829724ba675SRob Herring							 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
830724ba675SRob Herring							 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
831724ba675SRob Herring							 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
832724ba675SRob Herring				};
833724ba675SRob Herring			};
834724ba675SRob Herring		};
835724ba675SRob Herring	};
836724ba675SRob Herring};
837724ba675SRob Herring
838724ba675SRob Herring#include "../cros-ec-keyboard.dtsi"
839