Linux Audio

Check our new training course

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