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