Loading...
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"
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"