Linux Audio

Check our new training course

Real-Time Linux with PREEMPT_RT training

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