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