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