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