xref: /freebsd/sys/contrib/device-tree/src/arm/nvidia/tegra124-nyan.dtsi (revision 5ca8e32633c4ffbbcd6762e5888b6a4ba0708c6c)
1// SPDX-License-Identifier: GPL-2.0
2#include <dt-bindings/input/input.h>
3#include <dt-bindings/thermal/thermal.h>
4#include "tegra124.dtsi"
5
6/ {
7	aliases {
8		rtc0 = "/i2c@7000d000/pmic@40";
9		rtc1 = "/rtc@7000e000";
10		serial0 = &uarta;
11	};
12
13	chosen {
14		stdout-path = "serial0:115200n8";
15	};
16
17	/*
18	 * Note that recent version of the device tree compiler (starting with
19	 * version 1.4.2) warn about this node containing a reg property, but
20	 * missing a unit-address. However, the bootloader on these Chromebook
21	 * devices relies on the full name of this node to be exactly /memory.
22	 * Adding the unit-address causes the bootloader to create a /memory
23	 * node and write the memory bank configuration to that node, which in
24	 * turn leads the kernel to believe that the device has 2 GiB of
25	 * memory instead of the amount detected by the bootloader.
26	 *
27	 * The name of this node is effectively ABI and must not be changed.
28	 */
29	memory {
30		device_type = "memory";
31		reg = <0x0 0x80000000 0x0 0x80000000>;
32	};
33
34	/delete-node/ memory@80000000;
35
36	host1x@50000000 {
37		hdmi@54280000 {
38			status = "okay";
39
40			vdd-supply = <&vdd_3v3_hdmi>;
41			pll-supply = <&vdd_hdmi_pll>;
42			hdmi-supply = <&vdd_5v0_hdmi>;
43
44			nvidia,ddc-i2c-bus = <&hdmi_ddc>;
45			nvidia,hpd-gpio =
46				<&gpio TEGRA_GPIO(N, 7) GPIO_ACTIVE_HIGH>;
47		};
48
49		sor@54540000 {
50			status = "okay";
51
52			avdd-io-hdmi-dp-supply = <&vdd_3v3_hdmi>;
53			vdd-hdmi-dp-pll-supply = <&vdd_hdmi_pll>;
54
55			nvidia,dpaux = <&dpaux>;
56			nvidia,panel = <&panel>;
57		};
58
59		dpaux@545c0000 {
60			vdd-supply = <&vdd_3v3_panel>;
61			status = "okay";
62		};
63	};
64
65	gpu@57000000 {
66		status = "okay";
67
68		vdd-supply = <&vdd_gpu>;
69	};
70
71	serial@70006000 {
72		/* Debug connector on the bottom of the board near SD card. */
73		status = "okay";
74	};
75
76	pwm@7000a000 {
77		status = "okay";
78	};
79
80	i2c@7000c000 {
81		status = "okay";
82		clock-frequency = <100000>;
83
84		acodec: audio-codec@10 {
85			compatible = "maxim,max98090";
86			reg = <0x10>;
87			interrupt-parent = <&gpio>;
88			interrupts = <TEGRA_GPIO(H, 4) IRQ_TYPE_EDGE_FALLING>;
89		};
90
91		tmp451: temperature-sensor@4c {
92			compatible = "ti,tmp451";
93			reg = <0x4c>;
94			interrupt-parent = <&gpio>;
95			interrupts = <TEGRA_GPIO(I, 6) IRQ_TYPE_EDGE_FALLING>;
96
97			#thermal-sensor-cells = <1>;
98		};
99	};
100
101	i2c@7000c400 {
102		status = "okay";
103		clock-frequency = <100000>;
104
105		trackpad@15 {
106			compatible = "elan,ekth3000";
107			reg = <0x15>;
108			interrupt-parent = <&gpio>;
109			interrupts = <TEGRA_GPIO(W, 3) IRQ_TYPE_EDGE_FALLING>;
110			wakeup-source;
111		};
112	};
113
114	i2c@7000c500 {
115		status = "okay";
116		clock-frequency = <400000>;
117
118		tpm@20 {
119			compatible = "infineon,slb9645tt";
120			reg = <0x20>;
121		};
122	};
123
124	hdmi_ddc: i2c@7000c700 {
125		status = "okay";
126		clock-frequency = <100000>;
127	};
128
129	i2c@7000d000 {
130		status = "okay";
131		clock-frequency = <400000>;
132
133		pmic: pmic@40 {
134			compatible = "ams,as3722";
135			reg = <0x40>;
136			interrupts = <0 86 IRQ_TYPE_LEVEL_HIGH>;
137
138			ams,system-power-controller;
139
140			#interrupt-cells = <2>;
141			interrupt-controller;
142
143			gpio-controller;
144			#gpio-cells = <2>;
145
146			pinctrl-names = "default";
147			pinctrl-0 = <&as3722_default>;
148
149			as3722_default: pinmux {
150				gpio0 {
151					pins = "gpio0";
152					function = "gpio";
153					bias-pull-down;
154				};
155
156				gpio1 {
157					pins = "gpio1";
158					function = "gpio";
159					bias-pull-up;
160				};
161
162				gpio2_4_7 {
163					pins = "gpio2", "gpio4", "gpio7";
164					function = "gpio";
165					bias-pull-up;
166				};
167
168				gpio3_6 {
169					pins = "gpio3", "gpio6";
170					bias-high-impedance;
171				};
172
173				gpio5 {
174					pins = "gpio5";
175					function = "clk32k-out";
176					bias-pull-down;
177				};
178			};
179
180			regulators {
181				vsup-sd2-supply = <&vdd_5v0_sys>;
182				vsup-sd3-supply = <&vdd_5v0_sys>;
183				vsup-sd4-supply = <&vdd_5v0_sys>;
184				vsup-sd5-supply = <&vdd_5v0_sys>;
185				vin-ldo0-supply = <&vdd_1v35_lp0>;
186				vin-ldo1-6-supply = <&vdd_3v3_run>;
187				vin-ldo2-5-7-supply = <&vddio_1v8>;
188				vin-ldo3-4-supply = <&vdd_3v3_sys>;
189				vin-ldo9-10-supply = <&vdd_5v0_sys>;
190				vin-ldo11-supply = <&vdd_3v3_run>;
191
192				vdd_cpu: sd0 {
193					regulator-name = "+VDD_CPU_AP";
194					regulator-min-microvolt = <700000>;
195					regulator-max-microvolt = <1350000>;
196					regulator-min-microamp = <3500000>;
197					regulator-max-microamp = <3500000>;
198					regulator-always-on;
199					regulator-boot-on;
200					ams,ext-control = <2>;
201				};
202
203				sd1 {
204					regulator-name = "+VDD_CORE";
205					regulator-min-microvolt = <700000>;
206					regulator-max-microvolt = <1350000>;
207					regulator-min-microamp = <2500000>;
208					regulator-max-microamp = <4000000>;
209					regulator-always-on;
210					regulator-boot-on;
211					ams,ext-control = <1>;
212				};
213
214				vdd_1v35_lp0: sd2 {
215					regulator-name = "+1.35V_LP0(sd2)";
216					regulator-min-microvolt = <1350000>;
217					regulator-max-microvolt = <1350000>;
218					regulator-always-on;
219					regulator-boot-on;
220				};
221
222				sd3 {
223					regulator-name = "+1.35V_LP0(sd3)";
224					regulator-min-microvolt = <1350000>;
225					regulator-max-microvolt = <1350000>;
226					regulator-always-on;
227					regulator-boot-on;
228				};
229
230				vdd_1v05_run: sd4 {
231					regulator-name = "+1.05V_RUN";
232					regulator-min-microvolt = <1050000>;
233					regulator-max-microvolt = <1050000>;
234				};
235
236				vddio_1v8: sd5 {
237					regulator-name = "+1.8V_VDDIO";
238					regulator-min-microvolt = <1800000>;
239					regulator-max-microvolt = <1800000>;
240					regulator-always-on;
241				};
242
243				vdd_gpu: sd6 {
244					regulator-name = "+VDD_GPU_AP";
245					regulator-min-microvolt = <650000>;
246					regulator-max-microvolt = <1200000>;
247					regulator-min-microamp = <3500000>;
248					regulator-max-microamp = <3500000>;
249					regulator-boot-on;
250					regulator-always-on;
251				};
252
253				avdd_1v05_run: ldo0 {
254					regulator-name = "+1.05V_RUN_AVDD";
255					regulator-min-microvolt = <1050000>;
256					regulator-max-microvolt = <1050000>;
257					regulator-boot-on;
258					regulator-always-on;
259					ams,ext-control = <1>;
260				};
261
262				ldo1 {
263					regulator-name = "+1.8V_RUN_CAM";
264					regulator-min-microvolt = <1800000>;
265					regulator-max-microvolt = <1800000>;
266				};
267
268				ldo2 {
269					regulator-name = "+1.2V_GEN_AVDD";
270					regulator-min-microvolt = <1200000>;
271					regulator-max-microvolt = <1200000>;
272					regulator-boot-on;
273					regulator-always-on;
274				};
275
276				ldo3 {
277					regulator-name = "+1.00V_LP0_VDD_RTC";
278					regulator-min-microvolt = <1000000>;
279					regulator-max-microvolt = <1000000>;
280					regulator-boot-on;
281					regulator-always-on;
282					ams,enable-tracking;
283				};
284
285				vdd_run_cam: ldo4 {
286					regulator-name = "+3.3V_RUN_CAM";
287					regulator-min-microvolt = <2800000>;
288					regulator-max-microvolt = <2800000>;
289				};
290
291				ldo5 {
292					regulator-name = "+1.2V_RUN_CAM_FRONT";
293					regulator-min-microvolt = <1200000>;
294					regulator-max-microvolt = <1200000>;
295				};
296
297				vddio_sdmmc3: ldo6 {
298					regulator-name = "+VDDIO_SDMMC3";
299					regulator-min-microvolt = <1800000>;
300					regulator-max-microvolt = <3300000>;
301				};
302
303				ldo7 {
304					regulator-name = "+1.05V_RUN_CAM_REAR";
305					regulator-min-microvolt = <1050000>;
306					regulator-max-microvolt = <1050000>;
307				};
308
309				ldo9 {
310					regulator-name = "+2.8V_RUN_TOUCH";
311					regulator-min-microvolt = <2800000>;
312					regulator-max-microvolt = <2800000>;
313				};
314
315				ldo10 {
316					regulator-name = "+2.8V_RUN_CAM_AF";
317					regulator-min-microvolt = <2800000>;
318					regulator-max-microvolt = <2800000>;
319				};
320
321				ldo11 {
322					regulator-name = "+1.8V_RUN_VPP_FUSE";
323					regulator-min-microvolt = <1800000>;
324					regulator-max-microvolt = <1800000>;
325				};
326			};
327		};
328	};
329
330	spi@7000d400 {
331		status = "okay";
332
333		cros_ec: cros-ec@0 {
334			compatible = "google,cros-ec-spi";
335			spi-max-frequency = <3000000>;
336			interrupt-parent = <&gpio>;
337			interrupts = <TEGRA_GPIO(C, 7) IRQ_TYPE_LEVEL_LOW>;
338			reg = <0>;
339
340			google,cros-ec-spi-msg-delay = <2000>;
341
342			i2c-tunnel {
343				compatible = "google,cros-ec-i2c-tunnel";
344				#address-cells = <1>;
345				#size-cells = <0>;
346
347				google,remote-bus = <0>;
348
349				charger: bq24735@9 {
350					compatible = "ti,bq24735";
351					reg = <0x9>;
352					interrupt-parent = <&gpio>;
353					interrupts = <TEGRA_GPIO(J, 0)
354							IRQ_TYPE_EDGE_BOTH>;
355					ti,ac-detect-gpios = <&gpio
356							TEGRA_GPIO(J, 0)
357							GPIO_ACTIVE_HIGH>;
358					ti,external-control;
359				};
360
361				battery: sbs-battery@b {
362					compatible = "sbs,sbs-battery";
363					reg = <0xb>;
364					sbs,i2c-retry-count = <2>;
365					sbs,poll-retry-count = <10>;
366					power-supplies = <&charger>;
367				};
368			};
369		};
370	};
371
372	spi@7000da00 {
373		status = "okay";
374		spi-max-frequency = <25000000>;
375
376		flash@0 {
377			compatible = "winbond,w25q32dw", "jedec,spi-nor";
378			spi-max-frequency = <25000000>;
379			reg = <0>;
380		};
381	};
382
383	pmc@7000e400 {
384		nvidia,invert-interrupt;
385		nvidia,suspend-mode = <0>;
386		nvidia,cpu-pwr-good-time = <500>;
387		nvidia,cpu-pwr-off-time = <300>;
388		nvidia,core-pwr-good-time = <641 3845>;
389		nvidia,core-pwr-off-time = <61036>;
390		nvidia,core-power-req-active-high;
391		nvidia,sys-clock-req-active-high;
392	};
393
394	cec@70015000 {
395		status = "okay";
396	};
397
398	hda@70030000 {
399		status = "okay";
400	};
401
402	usb@70090000 {
403		phys = <&{/padctl@7009f000/pads/usb2/lanes/usb2-0}>, /* 1st USB A */
404		       <&{/padctl@7009f000/pads/usb2/lanes/usb2-1}>, /* Internal USB */
405		       <&{/padctl@7009f000/pads/usb2/lanes/usb2-2}>, /* 2nd USB A */
406		       <&{/padctl@7009f000/pads/pcie/lanes/pcie-0}>, /* 1st USB A */
407		       <&{/padctl@7009f000/pads/pcie/lanes/pcie-1}>; /* 2nd USB A */
408		phy-names = "usb2-0", "usb2-1", "usb2-2", "usb3-0", "usb3-1";
409
410		avddio-pex-supply = <&vdd_1v05_run>;
411		dvddio-pex-supply = <&vdd_1v05_run>;
412		avdd-usb-supply = <&vdd_3v3_lp0>;
413		avdd-pll-utmip-supply = <&vddio_1v8>;
414		avdd-pll-erefe-supply = <&avdd_1v05_run>;
415		avdd-usb-ss-pll-supply = <&vdd_1v05_run>;
416		hvdd-usb-ss-supply = <&vdd_3v3_lp0>;
417		hvdd-usb-ss-pll-e-supply = <&vdd_3v3_lp0>;
418
419		status = "okay";
420	};
421
422	padctl@7009f000 {
423		status = "okay";
424
425		avdd-pll-utmip-supply = <&vddio_1v8>;
426		avdd-pll-erefe-supply = <&avdd_1v05_run>;
427		avdd-pex-pll-supply = <&vdd_1v05_run>;
428		hvdd-pex-pll-e-supply = <&vdd_3v3_lp0>;
429
430		pads {
431			usb2 {
432				status = "okay";
433
434				lanes {
435					usb2-0 {
436						nvidia,function = "xusb";
437						status = "okay";
438					};
439
440					usb2-1 {
441						nvidia,function = "xusb";
442						status = "okay";
443					};
444
445					usb2-2 {
446						nvidia,function = "xusb";
447						status = "okay";
448					};
449				};
450			};
451
452			pcie {
453				status = "okay";
454
455				lanes {
456					pcie-0 {
457						nvidia,function = "usb3-ss";
458						status = "okay";
459					};
460
461					pcie-1 {
462						nvidia,function = "usb3-ss";
463						status = "okay";
464					};
465				};
466			};
467		};
468
469		ports {
470			usb2-0 {
471				vbus-supply = <&vdd_usb1_vbus>;
472				status = "okay";
473				mode = "otg";
474				usb-role-switch;
475			};
476
477			usb2-1 {
478				vbus-supply = <&vdd_run_cam>;
479				status = "okay";
480				mode = "host";
481			};
482
483			usb2-2 {
484				vbus-supply = <&vdd_usb3_vbus>;
485				status = "okay";
486				mode = "host";
487			};
488
489			usb3-0 {
490				nvidia,usb2-companion = <0>;
491				status = "okay";
492			};
493
494			usb3-1 {
495				nvidia,usb2-companion = <1>;
496				status = "okay";
497			};
498		};
499	};
500
501	mmc@700b0000 { /* WiFi/BT on this bus */
502		status = "okay";
503		bus-width = <4>;
504		no-1-8-v;
505		non-removable;
506		mmc-pwrseq = <&sdhci0_pwrseq>;
507		vmmc-supply = <&vdd_3v3_lp0>;
508		vqmmc-supply = <&vddio_1v8>;
509		keep-power-in-suspend;
510	};
511
512	mmc@700b0400 { /* SD Card on this bus */
513		status = "okay";
514		cd-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_LOW>;
515		power-gpios = <&gpio TEGRA_GPIO(R, 0) GPIO_ACTIVE_HIGH>;
516		bus-width = <4>;
517		no-1-8-v;
518		vqmmc-supply = <&vddio_sdmmc3>;
519	};
520
521	mmc@700b0600 { /* eMMC on this bus */
522		status = "okay";
523		bus-width = <8>;
524		no-1-8-v;
525		non-removable;
526	};
527
528	/* CPU DFLL clock */
529	clock@70110000 {
530		status = "okay";
531		vdd-cpu-supply = <&vdd_cpu>;
532		nvidia,i2c-fs-rate = <400000>;
533	};
534
535	ahub@70300000 {
536		i2s@70301100 {
537			status = "okay";
538		};
539	};
540
541	backlight: backlight {
542		compatible = "pwm-backlight";
543
544		enable-gpios = <&gpio TEGRA_GPIO(H, 2) GPIO_ACTIVE_HIGH>;
545		power-supply = <&vdd_led>;
546		pwms = <&pwm 1 1000000>;
547
548		default-brightness-level = <224>;
549		brightness-levels =
550			<  0   1   2   3   4   5   6   7
551			   8   9  10  11  12  13  14  15
552			  16  17  18  19  20  21  22  23
553			  24  25  26  27  28  29  30  31
554			  32  33  34  35  36  37  38  39
555			  40  41  42  43  44  45  46  47
556			  48  49  50  51  52  53  54  55
557			  56  57  58  59  60  61  62  63
558			  64  65  66  67  68  69  70  71
559			  72  73  74  75  76  77  78  79
560			  80  81  82  83  84  85  86  87
561			  88  89  90  91  92  93  94  95
562			  96  97  98  99 100 101 102 103
563			 104 105 106 107 108 109 110 111
564			 112 113 114 115 116 117 118 119
565			 120 121 122 123 124 125 126 127
566			 128 129 130 131 132 133 134 135
567			 136 137 138 139 140 141 142 143
568			 144 145 146 147 148 149 150 151
569			 152 153 154 155 156 157 158 159
570			 160 161 162 163 164 165 166 167
571			 168 169 170 171 172 173 174 175
572			 176 177 178 179 180 181 182 183
573			 184 185 186 187 188 189 190 191
574			 192 193 194 195 196 197 198 199
575			 200 201 202 203 204 205 206 207
576			 208 209 210 211 212 213 214 215
577			 216 217 218 219 220 221 222 223
578			 224 225 226 227 228 229 230 231
579			 232 233 234 235 236 237 238 239
580			 240 241 242 243 244 245 246 247
581			 248 249 250 251 252 253 254 255
582			 256>;
583	};
584
585	clk32k_in: clock-32k {
586		compatible = "fixed-clock";
587		clock-frequency = <32768>;
588		#clock-cells = <0>;
589	};
590
591	cpus {
592		cpu0: cpu@0 {
593			#cooling-cells = <2>;
594			vdd-cpu-supply = <&vdd_cpu>;
595		};
596
597		cpu1: cpu@1 {
598			#cooling-cells = <2>;
599		};
600
601		cpu2: cpu@2 {
602			#cooling-cells = <2>;
603		};
604
605		cpu3: cpu@3 {
606			#cooling-cells = <2>;
607		};
608	};
609
610	gpio-keys {
611		compatible = "gpio-keys";
612
613		key-power {
614			label = "Power";
615			gpios = <&gpio TEGRA_GPIO(Q, 0) GPIO_ACTIVE_LOW>;
616			linux,code = <KEY_POWER>;
617			debounce-interval = <30>;
618			wakeup-source;
619		};
620
621		switch-lid {
622			label = "Lid";
623			gpios = <&gpio TEGRA_GPIO(R, 4) GPIO_ACTIVE_LOW>;
624			linux,input-type = <5>;
625			linux,code = <KEY_RESERVED>;
626			debounce-interval = <1>;
627			wakeup-source;
628		};
629	};
630
631	gpio-restart {
632		compatible = "gpio-restart";
633		gpios = <&gpio TEGRA_GPIO(I, 5) GPIO_ACTIVE_LOW>;
634		priority = <200>;
635	};
636
637	sdhci0_pwrseq: pwrseq-sdhci0 {
638		compatible = "mmc-pwrseq-simple";
639
640		reset-gpios = <&gpio TEGRA_GPIO(X, 7) GPIO_ACTIVE_LOW>;
641	};
642
643	vdd_mux: regulator-mux {
644		compatible = "regulator-fixed";
645		regulator-name = "+VDD_MUX";
646		regulator-min-microvolt = <12000000>;
647		regulator-max-microvolt = <12000000>;
648		regulator-always-on;
649		regulator-boot-on;
650	};
651
652	vdd_5v0_sys: regulator-5v0sys {
653		compatible = "regulator-fixed";
654		regulator-name = "+5V_SYS";
655		regulator-min-microvolt = <5000000>;
656		regulator-max-microvolt = <5000000>;
657		regulator-always-on;
658		regulator-boot-on;
659		vin-supply = <&vdd_mux>;
660	};
661
662	vdd_3v3_sys: regulator-3v3sys {
663		compatible = "regulator-fixed";
664		regulator-name = "+3.3V_SYS";
665		regulator-min-microvolt = <3300000>;
666		regulator-max-microvolt = <3300000>;
667		regulator-always-on;
668		regulator-boot-on;
669		vin-supply = <&vdd_mux>;
670	};
671
672	vdd_3v3_run: regulator-3v3run {
673		compatible = "regulator-fixed";
674		regulator-name = "+3.3V_RUN";
675		regulator-min-microvolt = <3300000>;
676		regulator-max-microvolt = <3300000>;
677		regulator-always-on;
678		regulator-boot-on;
679		gpio = <&pmic 1 GPIO_ACTIVE_HIGH>;
680		enable-active-high;
681		vin-supply = <&vdd_3v3_sys>;
682	};
683
684	vdd_3v3_hdmi: regulator-3v3hdmi {
685		compatible = "regulator-fixed";
686		regulator-name = "+3.3V_AVDD_HDMI_AP_GATED";
687		regulator-min-microvolt = <3300000>;
688		regulator-max-microvolt = <3300000>;
689		vin-supply = <&vdd_3v3_run>;
690	};
691
692	vdd_led: regulator-led {
693		compatible = "regulator-fixed";
694		regulator-name = "+VDD_LED";
695		gpio = <&gpio TEGRA_GPIO(P, 2) GPIO_ACTIVE_HIGH>;
696		enable-active-high;
697		vin-supply = <&vdd_mux>;
698	};
699
700	vdd_5v0_ts: regulator-ts {
701		compatible = "regulator-fixed";
702		regulator-name = "+5V_VDD_TS_SW";
703		regulator-min-microvolt = <5000000>;
704		regulator-max-microvolt = <5000000>;
705		regulator-boot-on;
706		gpio = <&gpio TEGRA_GPIO(K, 1) GPIO_ACTIVE_HIGH>;
707		enable-active-high;
708		vin-supply = <&vdd_5v0_sys>;
709	};
710
711	vdd_usb1_vbus: regulator-usb1 {
712		compatible = "regulator-fixed";
713		regulator-name = "+5V_USB_HS";
714		regulator-min-microvolt = <5000000>;
715		regulator-max-microvolt = <5000000>;
716		gpio = <&gpio TEGRA_GPIO(N, 4) GPIO_ACTIVE_HIGH>;
717		enable-active-high;
718		gpio-open-drain;
719		vin-supply = <&vdd_5v0_sys>;
720	};
721
722	vdd_usb3_vbus: regulator-usb3 {
723		compatible = "regulator-fixed";
724		regulator-name = "+5V_USB_SS";
725		regulator-min-microvolt = <5000000>;
726		regulator-max-microvolt = <5000000>;
727		gpio = <&gpio TEGRA_GPIO(N, 5) GPIO_ACTIVE_HIGH>;
728		enable-active-high;
729		gpio-open-drain;
730		vin-supply = <&vdd_5v0_sys>;
731	};
732
733	vdd_3v3_panel: regulator-panel {
734		compatible = "regulator-fixed";
735		regulator-name = "+3.3V_PANEL";
736		regulator-min-microvolt = <3300000>;
737		regulator-max-microvolt = <3300000>;
738		gpio = <&pmic 4 GPIO_ACTIVE_HIGH>;
739		enable-active-high;
740		vin-supply = <&vdd_3v3_run>;
741	};
742
743	vdd_3v3_lp0: regulator-lp0 {
744		compatible = "regulator-fixed";
745		regulator-name = "+3.3V_LP0";
746		regulator-min-microvolt = <3300000>;
747		regulator-max-microvolt = <3300000>;
748		/*
749		 * TODO: find a way to wire this up with the USB EHCI
750		 * controllers so that it can be enabled on demand.
751		 */
752		regulator-always-on;
753		gpio = <&pmic 2 GPIO_ACTIVE_HIGH>;
754		enable-active-high;
755		vin-supply = <&vdd_3v3_sys>;
756	};
757
758	vdd_hdmi_pll: regulator-hdmipll {
759		compatible = "regulator-fixed";
760		regulator-name = "+1.05V_RUN_AVDD_HDMI_PLL";
761		regulator-min-microvolt = <1050000>;
762		regulator-max-microvolt = <1050000>;
763		gpio = <&gpio TEGRA_GPIO(H, 7) GPIO_ACTIVE_LOW>;
764		vin-supply = <&vdd_1v05_run>;
765	};
766
767	vdd_5v0_hdmi: regulator-hdmicon {
768		compatible = "regulator-fixed";
769		regulator-name = "+5V_HDMI_CON";
770		regulator-min-microvolt = <5000000>;
771		regulator-max-microvolt = <5000000>;
772		gpio = <&gpio TEGRA_GPIO(K, 6) GPIO_ACTIVE_HIGH>;
773		enable-active-high;
774		vin-supply = <&vdd_5v0_sys>;
775	};
776
777	sound {
778		nvidia,audio-routing =
779			"Headphones", "HPR",
780			"Headphones", "HPL",
781			"Speakers", "SPKR",
782			"Speakers", "SPKL",
783			"Mic Jack", "MICBIAS",
784			"DMICL", "Int Mic",
785			"DMICR", "Int Mic",
786			"IN34", "Mic Jack";
787
788		nvidia,i2s-controller = <&tegra_i2s1>;
789		nvidia,audio-codec = <&acodec>;
790
791		clocks = <&tegra_car TEGRA124_CLK_PLL_A>,
792			 <&tegra_car TEGRA124_CLK_PLL_A_OUT0>,
793			 <&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
794		clock-names = "pll_a", "pll_a_out0", "mclk";
795
796		assigned-clocks = <&tegra_car TEGRA124_CLK_EXTERN1>,
797				  <&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
798
799		assigned-clock-parents = <&tegra_car TEGRA124_CLK_PLL_A_OUT0>,
800					 <&tegra_car TEGRA124_CLK_EXTERN1>;
801
802		nvidia,hp-det-gpios = <&gpio TEGRA_GPIO(I, 7) GPIO_ACTIVE_HIGH>;
803		nvidia,mic-det-gpios =
804				<&gpio TEGRA_GPIO(R, 7) GPIO_ACTIVE_HIGH>;
805	};
806
807	thermal-zones {
808		cpu-skin-thermal {
809			polling-delay-passive = <1000>; /* milliseconds */
810			polling-delay = <5000>; /* milliseconds */
811
812			thermal-sensors = <&tmp451 0>;
813
814			trips {
815				cpu_passive_trip: cpu-alert0 {
816					/* throttle at 70C until temperature drops to 69.8C */
817					temperature = <70000>;
818					hysteresis = <200>;
819					type = "passive";
820				};
821			};
822
823			cooling-maps {
824				map0 {
825					trip = <&cpu_passive_trip>;
826					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
827							 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
828							 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
829							 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
830				};
831			};
832		};
833	};
834};
835
836#include "../cros-ec-keyboard.dtsi"
837