Loading...
Note: File does not exist in v6.2.
1// SPDX-License-Identifier: GPL-2.0
2/dts-v1/;
3
4#include <dt-bindings/input/atmel-maxtouch.h>
5#include <dt-bindings/input/gpio-keys.h>
6#include <dt-bindings/input/input.h>
7#include <dt-bindings/thermal/thermal.h>
8
9#include "tegra20.dtsi"
10#include "tegra20-cpu-opp.dtsi"
11#include "tegra20-cpu-opp-microvolt.dtsi"
12
13/ {
14 model = "Acer Iconia Tab A500";
15 compatible = "acer,picasso", "nvidia,tegra20";
16
17 aliases {
18 mmc0 = &sdmmc4; /* eMMC */
19 mmc1 = &sdmmc3; /* MicroSD */
20 mmc2 = &sdmmc1; /* WiFi */
21
22 rtc0 = &pmic;
23 rtc1 = "/rtc@7000e000";
24
25 serial0 = &uartd; /* Docking station */
26 serial1 = &uartc; /* Bluetooth */
27 serial2 = &uartb; /* GPS */
28 };
29
30 /*
31 * The decompressor and also some bootloaders rely on a
32 * pre-existing /chosen node to be available to insert the
33 * command line and merge other ATAGS info.
34 */
35 chosen {};
36
37 memory@0 {
38 reg = <0x00000000 0x40000000>;
39 };
40
41 reserved-memory {
42 #address-cells = <1>;
43 #size-cells = <1>;
44 ranges;
45
46 ramoops@2ffe0000 {
47 compatible = "ramoops";
48 reg = <0x2ffe0000 0x10000>; /* 64kB */
49 console-size = <0x8000>; /* 32kB */
50 record-size = <0x400>; /* 1kB */
51 ecc-size = <16>;
52 };
53
54 linux,cma@30000000 {
55 compatible = "shared-dma-pool";
56 alloc-ranges = <0x30000000 0x10000000>;
57 size = <0x10000000>; /* 256MiB */
58 linux,cma-default;
59 reusable;
60 };
61 };
62
63 host1x@50000000 {
64 dc@54200000 {
65 rgb {
66 status = "okay";
67
68 port {
69 lcd_output: endpoint {
70 remote-endpoint = <&lvds_encoder_input>;
71 bus-width = <18>;
72 };
73 };
74 };
75 };
76
77 hdmi@54280000 {
78 status = "okay";
79
80 vdd-supply = <&hdmi_vdd_reg>;
81 pll-supply = <&hdmi_pll_reg>;
82 hdmi-supply = <&vdd_5v0_sys>;
83
84 nvidia,ddc-i2c-bus = <&hdmi_ddc>;
85 nvidia,hpd-gpio = <&gpio TEGRA_GPIO(N, 7)
86 GPIO_ACTIVE_HIGH>;
87 };
88 };
89
90 pinmux@70000014 {
91 pinctrl-names = "default";
92 pinctrl-0 = <&state_default>;
93
94 state_default: pinmux {
95 ata {
96 nvidia,pins = "ata";
97 nvidia,function = "ide";
98 };
99 atb {
100 nvidia,pins = "atb", "gma", "gme";
101 nvidia,function = "sdio4";
102 };
103 atc {
104 nvidia,pins = "atc";
105 nvidia,function = "nand";
106 };
107 atd {
108 nvidia,pins = "atd", "ate", "gmb", "spia",
109 "spib", "spic";
110 nvidia,function = "gmi";
111 };
112 cdev1 {
113 nvidia,pins = "cdev1";
114 nvidia,function = "plla_out";
115 };
116 cdev2 {
117 nvidia,pins = "cdev2";
118 nvidia,function = "pllp_out4";
119 };
120 crtp {
121 nvidia,pins = "crtp", "lm1";
122 nvidia,function = "crt";
123 };
124 csus {
125 nvidia,pins = "csus";
126 nvidia,function = "vi_sensor_clk";
127 };
128 dap1 {
129 nvidia,pins = "dap1";
130 nvidia,function = "dap1";
131 };
132 dap2 {
133 nvidia,pins = "dap2";
134 nvidia,function = "dap2";
135 };
136 dap3 {
137 nvidia,pins = "dap3";
138 nvidia,function = "dap3";
139 };
140 dap4 {
141 nvidia,pins = "dap4";
142 nvidia,function = "dap4";
143 };
144 dta {
145 nvidia,pins = "dta", "dtb", "dtc", "dtd", "dte";
146 nvidia,function = "vi";
147 };
148 dtf {
149 nvidia,pins = "dtf";
150 nvidia,function = "i2c3";
151 };
152 gmc {
153 nvidia,pins = "gmc";
154 nvidia,function = "uartd";
155 };
156 gmd {
157 nvidia,pins = "gmd";
158 nvidia,function = "sflash";
159 };
160 gpu {
161 nvidia,pins = "gpu";
162 nvidia,function = "pwm";
163 };
164 gpu7 {
165 nvidia,pins = "gpu7";
166 nvidia,function = "rtck";
167 };
168 gpv {
169 nvidia,pins = "gpv", "slxa";
170 nvidia,function = "pcie";
171 };
172 hdint {
173 nvidia,pins = "hdint";
174 nvidia,function = "hdmi";
175 };
176 i2cp {
177 nvidia,pins = "i2cp";
178 nvidia,function = "i2cp";
179 };
180 irrx {
181 nvidia,pins = "irrx", "irtx";
182 nvidia,function = "uartb";
183 };
184 kbca {
185 nvidia,pins = "kbca", "kbcb", "kbcc", "kbcd",
186 "kbce", "kbcf";
187 nvidia,function = "kbc";
188 };
189 lcsn {
190 nvidia,pins = "lcsn", "ldc", "lm0", "lpw1",
191 "lsdi", "lvp0";
192 nvidia,function = "rsvd4";
193 };
194 ld0 {
195 nvidia,pins = "ld0", "ld1", "ld2", "ld3", "ld4",
196 "ld5", "ld6", "ld7", "ld8", "ld9",
197 "ld10", "ld11", "ld12", "ld13", "ld14",
198 "ld15", "ld16", "ld17", "ldi", "lhp0",
199 "lhp1", "lhp2", "lhs", "lpp", "lsc0",
200 "lsc1", "lsck", "lsda", "lspi", "lvp1",
201 "lvs";
202 nvidia,function = "displaya";
203 };
204 owc {
205 nvidia,pins = "owc", "spdi", "spdo", "uac";
206 nvidia,function = "rsvd2";
207 };
208 pmc {
209 nvidia,pins = "pmc";
210 nvidia,function = "pwr_on";
211 };
212 rm {
213 nvidia,pins = "rm";
214 nvidia,function = "i2c1";
215 };
216 sdb {
217 nvidia,pins = "sdb", "sdc", "sdd", "slxc", "slxk";
218 nvidia,function = "sdio3";
219 };
220 sdio1 {
221 nvidia,pins = "sdio1";
222 nvidia,function = "sdio1";
223 };
224 slxd {
225 nvidia,pins = "slxd";
226 nvidia,function = "spdif";
227 };
228 spid {
229 nvidia,pins = "spid", "spie", "spif";
230 nvidia,function = "spi1";
231 };
232 spig {
233 nvidia,pins = "spig", "spih";
234 nvidia,function = "spi2_alt";
235 };
236 uaa {
237 nvidia,pins = "uaa", "uab", "uda";
238 nvidia,function = "ulpi";
239 };
240 uad {
241 nvidia,pins = "uad";
242 nvidia,function = "irda";
243 };
244 uca {
245 nvidia,pins = "uca", "ucb";
246 nvidia,function = "uartc";
247 };
248 conf_ata {
249 nvidia,pins = "ata", "atb", "atc", "atd",
250 "cdev1", "cdev2", "csus", "dap1",
251 "dap4", "dte", "dtf", "gma", "gmc",
252 "gme", "gpu", "gpu7", "gpv", "i2cp",
253 "irrx", "irtx", "pta", "rm",
254 "sdc", "sdd", "slxc", "slxd", "slxk",
255 "spdi", "spdo", "uac", "uad", "uda";
256 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
257 nvidia,tristate = <TEGRA_PIN_DISABLE>;
258 };
259 conf_ate {
260 nvidia,pins = "ate", "dap2", "dap3",
261 "gmd", "owc", "spia", "spib", "spic",
262 "spid", "spie";
263 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
264 nvidia,tristate = <TEGRA_PIN_ENABLE>;
265 };
266 conf_ck32 {
267 nvidia,pins = "ck32", "ddrc", "pmca", "pmcb",
268 "pmcc", "pmcd", "pmce", "xm2c", "xm2d";
269 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
270 };
271 conf_crtp {
272 nvidia,pins = "crtp", "gmb", "slxa", "spig",
273 "spih";
274 nvidia,pull = <TEGRA_PIN_PULL_UP>;
275 nvidia,tristate = <TEGRA_PIN_ENABLE>;
276 };
277 conf_dta {
278 nvidia,pins = "dta", "dtb", "dtc", "dtd", "kbcb";
279 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
280 nvidia,tristate = <TEGRA_PIN_DISABLE>;
281 };
282 conf_dte {
283 nvidia,pins = "spif";
284 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
285 nvidia,tristate = <TEGRA_PIN_ENABLE>;
286 };
287 conf_hdint {
288 nvidia,pins = "hdint", "lcsn", "ldc", "lm1",
289 "lpw1", "lsck", "lsda", "lsdi",
290 "lvp0";
291 nvidia,tristate = <TEGRA_PIN_ENABLE>;
292 };
293 conf_kbca {
294 nvidia,pins = "kbca", "kbcc", "kbcd",
295 "kbce", "kbcf", "sdio1", "uaa",
296 "uab", "uca", "ucb";
297 nvidia,pull = <TEGRA_PIN_PULL_UP>;
298 nvidia,tristate = <TEGRA_PIN_DISABLE>;
299 };
300 conf_lc {
301 nvidia,pins = "lc", "ls";
302 nvidia,pull = <TEGRA_PIN_PULL_UP>;
303 };
304 conf_ld0 {
305 nvidia,pins = "ld0", "ld1", "ld2", "ld3", "ld4",
306 "ld5", "ld6", "ld7", "ld8", "ld9",
307 "ld10", "ld11", "ld12", "ld13", "ld14",
308 "ld15", "ld16", "ld17", "ldi", "lhp0",
309 "lhp1", "lhp2", "lhs", "lm0", "lpp",
310 "lpw0", "lpw2", "lsc0", "lsc1", "lspi",
311 "lvp1", "lvs", "pmc", "sdb";
312 nvidia,tristate = <TEGRA_PIN_DISABLE>;
313 };
314 conf_ld17_0 {
315 nvidia,pins = "ld17_0";
316 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
317 };
318 drive_ddc {
319 nvidia,pins = "drive_ddc",
320 "drive_vi1",
321 "drive_sdio1";
322 nvidia,pull-up-strength = <31>;
323 nvidia,pull-down-strength = <31>;
324 nvidia,schmitt = <TEGRA_PIN_ENABLE>;
325 nvidia,high-speed-mode = <TEGRA_PIN_DISABLE>;
326 nvidia,low-power-mode = <TEGRA_PIN_LP_DRIVE_DIV_1>;
327 nvidia,slew-rate-rising = <TEGRA_PIN_SLEW_RATE_SLOWEST>;
328 nvidia,slew-rate-falling = <TEGRA_PIN_SLEW_RATE_SLOWEST>;
329 };
330 drive_dbg {
331 nvidia,pins = "drive_dbg",
332 "drive_vi2",
333 "drive_at1",
334 "drive_ao1";
335 nvidia,pull-up-strength = <31>;
336 nvidia,pull-down-strength = <31>;
337 nvidia,schmitt = <TEGRA_PIN_ENABLE>;
338 nvidia,high-speed-mode = <TEGRA_PIN_DISABLE>;
339 nvidia,low-power-mode = <TEGRA_PIN_LP_DRIVE_DIV_1>;
340 nvidia,slew-rate-rising = <TEGRA_PIN_SLEW_RATE_FASTEST>;
341 nvidia,slew-rate-falling = <TEGRA_PIN_SLEW_RATE_FASTEST>;
342 };
343 };
344
345 state_i2cmux_ddc: pinmux-i2cmux-ddc {
346 ddc {
347 nvidia,pins = "ddc";
348 nvidia,function = "i2c2";
349 };
350
351 pta {
352 nvidia,pins = "pta";
353 nvidia,function = "rsvd4";
354 };
355 };
356
357 state_i2cmux_idle: pinmux-i2cmux-idle {
358 ddc {
359 nvidia,pins = "ddc";
360 nvidia,function = "rsvd4";
361 };
362
363 pta {
364 nvidia,pins = "pta";
365 nvidia,function = "rsvd4";
366 };
367 };
368
369 state_i2cmux_pta: pinmux-i2cmux-pta {
370 ddc {
371 nvidia,pins = "ddc";
372 nvidia,function = "rsvd4";
373 };
374
375 pta {
376 nvidia,pins = "pta";
377 nvidia,function = "i2c2";
378 };
379 };
380 };
381
382 tegra_spdif: spdif@70002400 {
383 status = "okay";
384
385 nvidia,fixed-parent-rate;
386 };
387
388 tegra_i2s1: i2s@70002800 {
389 status = "okay";
390
391 nvidia,fixed-parent-rate;
392 };
393
394 uartb: serial@70006040 {
395 compatible = "nvidia,tegra20-hsuart";
396 reset-names = "serial";
397 /delete-property/ reg-shift;
398 /* GPS BCM4751 */
399 };
400
401 uartc: serial@70006200 {
402 compatible = "nvidia,tegra20-hsuart";
403 reset-names = "serial";
404 /delete-property/ reg-shift;
405 status = "okay";
406
407 /* Azurewave AW-NH665 BCM4329B1 */
408 bluetooth {
409 compatible = "brcm,bcm4329-bt";
410
411 interrupt-parent = <&gpio>;
412 interrupts = <TEGRA_GPIO(U, 6) IRQ_TYPE_EDGE_RISING>;
413 interrupt-names = "host-wakeup";
414
415 /* PLLP 216MHz / 16 / 4 */
416 max-speed = <3375000>;
417
418 clocks = <&rtc_32k_wifi>;
419 clock-names = "txco";
420
421 vbat-supply = <&vdd_3v3_sys>;
422 vddio-supply = <&vdd_1v8_sys>;
423
424 device-wakeup-gpios = <&gpio TEGRA_GPIO(U, 1) GPIO_ACTIVE_HIGH>;
425 shutdown-gpios = <&gpio TEGRA_GPIO(U, 0) GPIO_ACTIVE_HIGH>;
426 };
427 };
428
429 uartd: serial@70006300 {
430 /* Docking station */
431 };
432
433 pwm: pwm@7000a000 {
434 status = "okay";
435 };
436
437 i2c@7000c000 {
438 clock-frequency = <400000>;
439 status = "okay";
440
441 wm8903: audio-codec@1a {
442 compatible = "wlf,wm8903";
443 reg = <0x1a>;
444
445 interrupt-parent = <&gpio>;
446 interrupts = <TEGRA_GPIO(X, 3) IRQ_TYPE_EDGE_BOTH>;
447
448 gpio-controller;
449 #gpio-cells = <2>;
450
451 micdet-cfg = <0>;
452 micdet-delay = <100>;
453
454 gpio-cfg = <
455 0x0000 /* MIC_LR_OUT# GPIO, output, low */
456 0x0000 /* FM2018-enable GPIO, output, low */
457 0x0000 /* Speaker-enable GPIO, output, low */
458 0x0200 /* Interrupt, output */
459 0x01a0 /* BCLK, input, active high */
460 >;
461
462 AVDD-supply = <&vdd_1v8_sys>;
463 CPVDD-supply = <&vdd_1v8_sys>;
464 DBVDD-supply = <&vdd_1v8_sys>;
465 DCVDD-supply = <&vdd_1v8_sys>;
466 };
467
468 touchscreen@4c {
469 compatible = "atmel,maxtouch";
470 reg = <0x4c>;
471
472 interrupt-parent = <&gpio>;
473 interrupts = <TEGRA_GPIO(V, 6) IRQ_TYPE_LEVEL_LOW>;
474
475 reset-gpios = <&gpio TEGRA_GPIO(Q, 7) GPIO_ACTIVE_LOW>;
476
477 vdda-supply = <&vdd_3v3_sys>;
478 vdd-supply = <&vdd_3v3_sys>;
479
480 atmel,wakeup-method = <ATMEL_MXT_WAKEUP_I2C_SCL>;
481 };
482
483 gyroscope@68 {
484 compatible = "invensense,mpu3050";
485 reg = <0x68>;
486
487 interrupt-parent = <&gpio>;
488 interrupts = <TEGRA_GPIO(Z, 4) IRQ_TYPE_EDGE_RISING>;
489
490 vdd-supply = <&vdd_3v3_sys>;
491 vlogic-supply = <&vdd_1v8_sys>;
492
493 mount-matrix = "0", "1", "0",
494 "1", "0", "0",
495 "0", "0", "-1";
496
497 i2c-gate {
498 #address-cells = <1>;
499 #size-cells = <0>;
500
501 accelerometer@f {
502 compatible = "kionix,kxtf9";
503 reg = <0x0f>;
504
505 interrupt-parent = <&gpio>;
506 interrupts = <TEGRA_GPIO(S, 7) IRQ_TYPE_EDGE_RISING>;
507
508 vdd-supply = <&vdd_1v8_sys>;
509 vddio-supply = <&vdd_1v8_sys>;
510
511 mount-matrix = "0", "1", "0",
512 "1", "0", "0",
513 "0", "0", "-1";
514 };
515 };
516 };
517 };
518
519 i2c@7000c400 {
520 clock-frequency = <10000>;
521 status = "okay";
522 };
523
524 i2c@7000d000 {
525 clock-frequency = <100000>;
526 status = "okay";
527
528 magnetometer@c {
529 compatible = "asahi-kasei,ak8975";
530 reg = <0x0c>;
531
532 interrupt-parent = <&gpio>;
533 interrupts = <TEGRA_GPIO(N, 5) IRQ_TYPE_EDGE_RISING>;
534
535 vdd-supply = <&vdd_3v3_sys>;
536 vid-supply = <&vdd_1v8_sys>;
537
538 mount-matrix = "1", "0", "0",
539 "0", "-1", "0",
540 "0", "0", "-1";
541 };
542
543 pmic: pmic@34 {
544 compatible = "ti,tps6586x";
545 reg = <0x34>;
546
547 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
548
549 #gpio-cells = <2>;
550 gpio-controller;
551
552 sys-supply = <&vdd_5v0_sys>;
553 vin-sm0-supply = <&sys_reg>;
554 vin-sm1-supply = <&sys_reg>;
555 vin-sm2-supply = <&sys_reg>;
556 vinldo01-supply = <&sm2_reg>;
557 vinldo23-supply = <&sm2_reg>;
558 vinldo4-supply = <&sm2_reg>;
559 vinldo678-supply = <&sm2_reg>;
560 vinldo9-supply = <&sm2_reg>;
561
562 regulators {
563 sys_reg: sys {
564 regulator-name = "vdd_sys";
565 regulator-always-on;
566 };
567
568 vdd_core: sm0 {
569 regulator-name = "vdd_sm0,vdd_core";
570 regulator-min-microvolt = <950000>;
571 regulator-max-microvolt = <1300000>;
572 regulator-coupled-with = <&rtc_vdd &vdd_cpu>;
573 regulator-coupled-max-spread = <170000 550000>;
574 regulator-always-on;
575 regulator-boot-on;
576
577 nvidia,tegra-core-regulator;
578 };
579
580 vdd_cpu: sm1 {
581 regulator-name = "vdd_sm1,vdd_cpu";
582 regulator-min-microvolt = <750000>;
583 regulator-max-microvolt = <1125000>;
584 regulator-coupled-with = <&vdd_core &rtc_vdd>;
585 regulator-coupled-max-spread = <550000 550000>;
586 regulator-always-on;
587 regulator-boot-on;
588
589 nvidia,tegra-cpu-regulator;
590 };
591
592 sm2_reg: sm2 {
593 regulator-name = "vdd_sm2,vin_ldo*";
594 regulator-min-microvolt = <3700000>;
595 regulator-max-microvolt = <3700000>;
596 regulator-always-on;
597 };
598
599 /* LDO0 is not connected to anything */
600
601 ldo1 {
602 regulator-name = "vdd_ldo1,avdd_pll*";
603 regulator-min-microvolt = <1100000>;
604 regulator-max-microvolt = <1100000>;
605 regulator-always-on;
606 regulator-boot-on;
607 };
608
609 rtc_vdd: ldo2 {
610 regulator-name = "vdd_ldo2,vdd_rtc";
611 regulator-min-microvolt = <950000>;
612 regulator-max-microvolt = <1300000>;
613 regulator-coupled-with = <&vdd_core &vdd_cpu>;
614 regulator-coupled-max-spread = <170000 550000>;
615 regulator-always-on;
616 regulator-boot-on;
617
618 nvidia,tegra-rtc-regulator;
619 };
620
621 ldo3 {
622 regulator-name = "vdd_ldo3,avdd_usb*";
623 regulator-min-microvolt = <3300000>;
624 regulator-max-microvolt = <3300000>;
625 regulator-always-on;
626 };
627
628 ldo4 {
629 regulator-name = "vdd_ldo4,avdd_osc,vddio_sys";
630 regulator-min-microvolt = <1800000>;
631 regulator-max-microvolt = <1800000>;
632 regulator-always-on;
633 regulator-boot-on;
634 };
635
636 vcore_emmc: ldo5 {
637 regulator-name = "vdd_ldo5,vcore_mmc";
638 regulator-min-microvolt = <2850000>;
639 regulator-max-microvolt = <2850000>;
640 regulator-always-on;
641 };
642
643 avdd_vdac_reg: ldo6 {
644 regulator-name = "vdd_ldo6,avdd_vdac";
645 regulator-min-microvolt = <2850000>;
646 regulator-max-microvolt = <2850000>;
647 };
648
649 hdmi_vdd_reg: ldo7 {
650 regulator-name = "vdd_ldo7,avdd_hdmi";
651 regulator-min-microvolt = <3300000>;
652 regulator-max-microvolt = <3300000>;
653 };
654
655 hdmi_pll_reg: ldo8 {
656 regulator-name = "vdd_ldo8,avdd_hdmi_pll";
657 regulator-min-microvolt = <1800000>;
658 regulator-max-microvolt = <1800000>;
659 };
660
661 ldo9 {
662 regulator-name = "vdd_ldo9,avdd_2v85,vdd_ddr_rx";
663 regulator-min-microvolt = <2850000>;
664 regulator-max-microvolt = <2850000>;
665 regulator-always-on;
666 regulator-boot-on;
667 };
668
669 ldo_rtc {
670 regulator-name = "vdd_rtc_out,vdd_cell";
671 regulator-min-microvolt = <3300000>;
672 regulator-max-microvolt = <3300000>;
673 regulator-always-on;
674 regulator-boot-on;
675 };
676 };
677 };
678
679 nct1008: temperature-sensor@4c {
680 compatible = "onnn,nct1008";
681 reg = <0x4c>;
682 vcc-supply = <&vdd_3v3_sys>;
683
684 interrupt-parent = <&gpio>;
685 interrupts = <TEGRA_GPIO(N, 6) IRQ_TYPE_EDGE_FALLING>;
686
687 #thermal-sensor-cells = <1>;
688 };
689 };
690
691 pmc@7000e400 {
692 nvidia,invert-interrupt;
693 nvidia,suspend-mode = <1>;
694 nvidia,cpu-pwr-good-time = <2000>;
695 nvidia,cpu-pwr-off-time = <100>;
696 nvidia,core-pwr-good-time = <3845 3845>;
697 nvidia,core-pwr-off-time = <458>;
698 nvidia,sys-clock-req-active-high;
699 core-supply = <&vdd_core>;
700 };
701
702 memory-controller@7000f400 {
703 nvidia,use-ram-code;
704
705 emc-tables@0 {
706 nvidia,ram-code = <0>; /* elpida-8gb */
707 reg = <0>;
708
709 #address-cells = <1>;
710 #size-cells = <0>;
711
712 emc-table@25000 {
713 reg = <25000>;
714 compatible = "nvidia,tegra20-emc-table";
715 clock-frequency = <25000>;
716 nvidia,emc-registers = <0x00000002 0x00000006
717 0x00000003 0x00000003 0x00000006 0x00000004
718 0x00000002 0x00000009 0x00000003 0x00000003
719 0x00000002 0x00000002 0x00000002 0x00000004
720 0x00000003 0x00000008 0x0000000b 0x0000004d
721 0x00000000 0x00000003 0x00000003 0x00000003
722 0x00000008 0x00000001 0x0000000a 0x00000004
723 0x00000003 0x00000008 0x00000004 0x00000006
724 0x00000002 0x00000068 0x00000000 0x00000003
725 0x00000000 0x00000000 0x00000282 0xa0ae04ae
726 0x00070000 0x00000000 0x00000000 0x00000003
727 0x00000000 0x00000000 0x00000000 0x00000000>;
728 };
729
730 emc-table@50000 {
731 reg = <50000>;
732 compatible = "nvidia,tegra20-emc-table";
733 clock-frequency = <50000>;
734 nvidia,emc-registers = <0x00000003 0x00000007
735 0x00000003 0x00000003 0x00000006 0x00000004
736 0x00000002 0x00000009 0x00000003 0x00000003
737 0x00000002 0x00000002 0x00000002 0x00000005
738 0x00000003 0x00000008 0x0000000b 0x0000009f
739 0x00000000 0x00000003 0x00000003 0x00000003
740 0x00000008 0x00000001 0x0000000a 0x00000007
741 0x00000003 0x00000008 0x00000004 0x00000006
742 0x00000002 0x000000d0 0x00000000 0x00000000
743 0x00000000 0x00000000 0x00000282 0xa0ae04ae
744 0x00070000 0x00000000 0x00000000 0x00000005
745 0x00000000 0x00000000 0x00000000 0x00000000>;
746 };
747
748 emc-table@75000 {
749 reg = <75000>;
750 compatible = "nvidia,tegra20-emc-table";
751 clock-frequency = <75000>;
752 nvidia,emc-registers = <0x00000005 0x0000000a
753 0x00000004 0x00000003 0x00000006 0x00000004
754 0x00000002 0x00000009 0x00000003 0x00000003
755 0x00000002 0x00000002 0x00000002 0x00000005
756 0x00000003 0x00000008 0x0000000b 0x000000ff
757 0x00000000 0x00000003 0x00000003 0x00000003
758 0x00000008 0x00000001 0x0000000a 0x0000000b
759 0x00000003 0x00000008 0x00000004 0x00000006
760 0x00000002 0x00000138 0x00000000 0x00000000
761 0x00000000 0x00000000 0x00000282 0xa0ae04ae
762 0x00070000 0x00000000 0x00000000 0x00000007
763 0x00000000 0x00000000 0x00000000 0x00000000>;
764 };
765
766 emc-table@150000 {
767 reg = <150000>;
768 compatible = "nvidia,tegra20-emc-table";
769 clock-frequency = <150000>;
770 nvidia,emc-registers = <0x00000009 0x00000014
771 0x00000007 0x00000003 0x00000006 0x00000004
772 0x00000002 0x00000009 0x00000003 0x00000003
773 0x00000002 0x00000002 0x00000002 0x00000005
774 0x00000003 0x00000008 0x0000000b 0x0000021f
775 0x00000000 0x00000003 0x00000003 0x00000003
776 0x00000008 0x00000001 0x0000000a 0x00000015
777 0x00000003 0x00000008 0x00000004 0x00000006
778 0x00000002 0x00000270 0x00000000 0x00000001
779 0x00000000 0x00000000 0x00000282 0xa07c04ae
780 0x007dd510 0x00000000 0x00000000 0x0000000e
781 0x00000000 0x00000000 0x00000000 0x00000000>;
782 };
783
784 emc-table@300000 {
785 reg = <300000>;
786 compatible = "nvidia,tegra20-emc-table";
787 clock-frequency = <300000>;
788 nvidia,emc-registers = <0x00000012 0x00000027
789 0x0000000d 0x00000006 0x00000007 0x00000005
790 0x00000003 0x00000009 0x00000006 0x00000006
791 0x00000003 0x00000003 0x00000002 0x00000006
792 0x00000003 0x00000009 0x0000000c 0x0000045f
793 0x00000000 0x00000004 0x00000004 0x00000006
794 0x00000008 0x00000001 0x0000000e 0x0000002a
795 0x00000003 0x0000000f 0x00000007 0x00000005
796 0x00000002 0x000004e1 0x00000005 0x00000002
797 0x00000000 0x00000000 0x00000282 0xe059048b
798 0x007e1510 0x00000000 0x00000000 0x0000001b
799 0x00000000 0x00000000 0x00000000 0x00000000>;
800 };
801 };
802
803 emc-tables@1 {
804 nvidia,ram-code = <1>; /* elpida-4gb */
805 reg = <1>;
806
807 #address-cells = <1>;
808 #size-cells = <0>;
809
810 emc-table@25000 {
811 reg = <25000>;
812 compatible = "nvidia,tegra20-emc-table";
813 clock-frequency = <25000>;
814 nvidia,emc-registers = <0x00000002 0x00000006
815 0x00000003 0x00000003 0x00000006 0x00000004
816 0x00000002 0x00000009 0x00000003 0x00000003
817 0x00000002 0x00000002 0x00000002 0x00000004
818 0x00000003 0x00000008 0x0000000b 0x0000004d
819 0x00000000 0x00000003 0x00000003 0x00000003
820 0x00000008 0x00000001 0x0000000a 0x00000004
821 0x00000003 0x00000008 0x00000004 0x00000006
822 0x00000002 0x00000068 0x00000000 0x00000003
823 0x00000000 0x00000000 0x00000282 0xa0ae04ae
824 0x0007c000 0x00000000 0x00000000 0x00000003
825 0x00000000 0x00000000 0x00000000 0x00000000>;
826 };
827
828 emc-table@50000 {
829 reg = <50000>;
830 compatible = "nvidia,tegra20-emc-table";
831 clock-frequency = <50000>;
832 nvidia,emc-registers = <0x00000003 0x00000007
833 0x00000003 0x00000003 0x00000006 0x00000004
834 0x00000002 0x00000009 0x00000003 0x00000003
835 0x00000002 0x00000002 0x00000002 0x00000005
836 0x00000003 0x00000008 0x0000000b 0x0000009f
837 0x00000000 0x00000003 0x00000003 0x00000003
838 0x00000008 0x00000001 0x0000000a 0x00000007
839 0x00000003 0x00000008 0x00000004 0x00000006
840 0x00000002 0x000000d0 0x00000000 0x00000000
841 0x00000000 0x00000000 0x00000282 0xa0ae04ae
842 0x0007c000 0x00000000 0x00000000 0x00000005
843 0x00000000 0x00000000 0x00000000 0x00000000>;
844 };
845
846 emc-table@75000 {
847 reg = <75000>;
848 compatible = "nvidia,tegra20-emc-table";
849 clock-frequency = <75000>;
850 nvidia,emc-registers = <0x00000005 0x0000000a
851 0x00000004 0x00000003 0x00000006 0x00000004
852 0x00000002 0x00000009 0x00000003 0x00000003
853 0x00000002 0x00000002 0x00000002 0x00000005
854 0x00000003 0x00000008 0x0000000b 0x000000ff
855 0x00000000 0x00000003 0x00000003 0x00000003
856 0x00000008 0x00000001 0x0000000a 0x0000000b
857 0x00000003 0x00000008 0x00000004 0x00000006
858 0x00000002 0x00000138 0x00000000 0x00000000
859 0x00000000 0x00000000 0x00000282 0xa0ae04ae
860 0x0007c000 0x00000000 0x00000000 0x00000007
861 0x00000000 0x00000000 0x00000000 0x00000000>;
862 };
863
864 emc-table@150000 {
865 reg = <150000>;
866 compatible = "nvidia,tegra20-emc-table";
867 clock-frequency = <150000>;
868 nvidia,emc-registers = <0x00000009 0x00000014
869 0x00000007 0x00000003 0x00000006 0x00000004
870 0x00000002 0x00000009 0x00000003 0x00000003
871 0x00000002 0x00000002 0x00000002 0x00000005
872 0x00000003 0x00000008 0x0000000b 0x0000021f
873 0x00000000 0x00000003 0x00000003 0x00000003
874 0x00000008 0x00000001 0x0000000a 0x00000015
875 0x00000003 0x00000008 0x00000004 0x00000006
876 0x00000002 0x00000270 0x00000000 0x00000001
877 0x00000000 0x00000000 0x00000282 0xa07c04ae
878 0x007e4010 0x00000000 0x00000000 0x0000000e
879 0x00000000 0x00000000 0x00000000 0x00000000>;
880 };
881
882 emc-table@300000 {
883 reg = <300000>;
884 compatible = "nvidia,tegra20-emc-table";
885 clock-frequency = <300000>;
886 nvidia,emc-registers = <0x00000012 0x00000027
887 0x0000000d 0x00000006 0x00000007 0x00000005
888 0x00000003 0x00000009 0x00000006 0x00000006
889 0x00000003 0x00000003 0x00000002 0x00000006
890 0x00000003 0x00000009 0x0000000c 0x0000045f
891 0x00000000 0x00000004 0x00000004 0x00000006
892 0x00000008 0x00000001 0x0000000e 0x0000002a
893 0x00000003 0x0000000f 0x00000007 0x00000005
894 0x00000002 0x000004e1 0x00000005 0x00000002
895 0x00000000 0x00000000 0x00000282 0xe059048b
896 0x007e0010 0x00000000 0x00000000 0x0000001b
897 0x00000000 0x00000000 0x00000000 0x00000000>;
898 };
899 };
900
901 emc-tables@2 {
902 nvidia,ram-code = <2>; /* hynix-8gb */
903 reg = <2>;
904
905 #address-cells = <1>;
906 #size-cells = <0>;
907
908 emc-table@25000 {
909 reg = <25000>;
910 compatible = "nvidia,tegra20-emc-table";
911 clock-frequency = <25000>;
912 nvidia,emc-registers = <0x00000002 0x00000006
913 0x00000003 0x00000003 0x00000006 0x00000004
914 0x00000002 0x00000009 0x00000003 0x00000003
915 0x00000002 0x00000002 0x00000002 0x00000004
916 0x00000003 0x00000008 0x0000000b 0x0000004d
917 0x00000000 0x00000003 0x00000003 0x00000003
918 0x00000008 0x00000001 0x0000000a 0x00000004
919 0x00000003 0x00000008 0x00000004 0x00000006
920 0x00000002 0x00000068 0x00000000 0x00000003
921 0x00000000 0x00000000 0x00000282 0xa0ae04ae
922 0x00070000 0x00000000 0x00000000 0x00000003
923 0x00000000 0x00000000 0x00000000 0x00000000>;
924 };
925
926 emc-table@50000 {
927 reg = <50000>;
928 compatible = "nvidia,tegra20-emc-table";
929 clock-frequency = <50000>;
930 nvidia,emc-registers = <0x00000003 0x00000007
931 0x00000003 0x00000003 0x00000006 0x00000004
932 0x00000002 0x00000009 0x00000003 0x00000003
933 0x00000002 0x00000002 0x00000002 0x00000005
934 0x00000003 0x00000008 0x0000000b 0x0000009f
935 0x00000000 0x00000003 0x00000003 0x00000003
936 0x00000008 0x00000001 0x0000000a 0x00000007
937 0x00000003 0x00000008 0x00000004 0x00000006
938 0x00000002 0x000000d0 0x00000000 0x00000000
939 0x00000000 0x00000000 0x00000282 0xa0ae04ae
940 0x00070000 0x00000000 0x00000000 0x00000005
941 0x00000000 0x00000000 0x00000000 0x00000000>;
942 };
943
944 emc-table@75000 {
945 reg = <75000>;
946 compatible = "nvidia,tegra20-emc-table";
947 clock-frequency = <75000>;
948 nvidia,emc-registers = <0x00000005 0x0000000a
949 0x00000004 0x00000003 0x00000006 0x00000004
950 0x00000002 0x00000009 0x00000003 0x00000003
951 0x00000002 0x00000002 0x00000002 0x00000005
952 0x00000003 0x00000008 0x0000000b 0x000000ff
953 0x00000000 0x00000003 0x00000003 0x00000003
954 0x00000008 0x00000001 0x0000000a 0x0000000b
955 0x00000003 0x00000008 0x00000004 0x00000006
956 0x00000002 0x00000138 0x00000000 0x00000000
957 0x00000000 0x00000000 0x00000282 0xa0ae04ae
958 0x00070000 0x00000000 0x00000000 0x00000007
959 0x00000000 0x00000000 0x00000000 0x00000000>;
960 };
961
962 emc-table@150000 {
963 reg = <150000>;
964 compatible = "nvidia,tegra20-emc-table";
965 clock-frequency = <150000>;
966 nvidia,emc-registers = <0x00000009 0x00000014
967 0x00000007 0x00000003 0x00000006 0x00000004
968 0x00000002 0x00000009 0x00000003 0x00000003
969 0x00000002 0x00000002 0x00000002 0x00000005
970 0x00000003 0x00000008 0x0000000b 0x0000021f
971 0x00000000 0x00000003 0x00000003 0x00000003
972 0x00000008 0x00000001 0x0000000a 0x00000015
973 0x00000003 0x00000008 0x00000004 0x00000006
974 0x00000002 0x00000270 0x00000000 0x00000001
975 0x00000000 0x00000000 0x00000282 0xa07c04ae
976 0x007dd010 0x00000000 0x00000000 0x0000000e
977 0x00000000 0x00000000 0x00000000 0x00000000>;
978 };
979
980 emc-table@300000 {
981 reg = <300000>;
982 compatible = "nvidia,tegra20-emc-table";
983 clock-frequency = <300000>;
984 nvidia,emc-registers = <0x00000012 0x00000027
985 0x0000000d 0x00000006 0x00000007 0x00000005
986 0x00000003 0x00000009 0x00000006 0x00000006
987 0x00000003 0x00000003 0x00000002 0x00000006
988 0x00000003 0x00000009 0x0000000c 0x0000045f
989 0x00000000 0x00000004 0x00000004 0x00000006
990 0x00000008 0x00000001 0x0000000e 0x0000002a
991 0x00000003 0x0000000f 0x00000007 0x00000005
992 0x00000002 0x000004e1 0x00000005 0x00000002
993 0x00000000 0x00000000 0x00000282 0xe059048b
994 0x007e2010 0x00000000 0x00000000 0x0000001b
995 0x00000000 0x00000000 0x00000000 0x00000000>;
996 };
997 };
998
999 emc-tables@3 {
1000 nvidia,ram-code = <3>; /* hynix-4gb */
1001 reg = <3>;
1002
1003 #address-cells = <1>;
1004 #size-cells = <0>;
1005
1006 emc-table@25000 {
1007 reg = <25000>;
1008 compatible = "nvidia,tegra20-emc-table";
1009 clock-frequency = <25000>;
1010 nvidia,emc-registers = <0x00000002 0x00000006
1011 0x00000003 0x00000003 0x00000006 0x00000004
1012 0x00000002 0x00000009 0x00000003 0x00000003
1013 0x00000002 0x00000002 0x00000002 0x00000004
1014 0x00000003 0x00000008 0x0000000b 0x0000004d
1015 0x00000000 0x00000003 0x00000003 0x00000003
1016 0x00000008 0x00000001 0x0000000a 0x00000004
1017 0x00000003 0x00000008 0x00000004 0x00000006
1018 0x00000002 0x00000068 0x00000000 0x00000003
1019 0x00000000 0x00000000 0x00000282 0xa0ae04ae
1020 0x0007c000 0x00000000 0x00000000 0x00000003
1021 0x00000000 0x00000000 0x00000000 0x00000000>;
1022 };
1023
1024 emc-table@50000 {
1025 reg = <50000>;
1026 compatible = "nvidia,tegra20-emc-table";
1027 clock-frequency = <50000>;
1028 nvidia,emc-registers = <0x00000003 0x00000007
1029 0x00000003 0x00000003 0x00000006 0x00000004
1030 0x00000002 0x00000009 0x00000003 0x00000003
1031 0x00000002 0x00000002 0x00000002 0x00000005
1032 0x00000003 0x00000008 0x0000000b 0x0000009f
1033 0x00000000 0x00000003 0x00000003 0x00000003
1034 0x00000008 0x00000001 0x0000000a 0x00000007
1035 0x00000003 0x00000008 0x00000004 0x00000006
1036 0x00000002 0x000000d0 0x00000000 0x00000000
1037 0x00000000 0x00000000 0x00000282 0xa0ae04ae
1038 0x0007c000 0x00078000 0x00000000 0x00000005
1039 0x00000000 0x00000000 0x00000000 0x00000000>;
1040 };
1041
1042 emc-table@75000 {
1043 reg = <75000>;
1044 compatible = "nvidia,tegra20-emc-table";
1045 clock-frequency = <75000>;
1046 nvidia,emc-registers = <0x00000005 0x0000000a
1047 0x00000004 0x00000003 0x00000006 0x00000004
1048 0x00000002 0x00000009 0x00000003 0x00000003
1049 0x00000002 0x00000002 0x00000002 0x00000005
1050 0x00000003 0x00000008 0x0000000b 0x000000ff
1051 0x00000000 0x00000003 0x00000003 0x00000003
1052 0x00000008 0x00000001 0x0000000a 0x0000000b
1053 0x00000003 0x00000008 0x00000004 0x00000006
1054 0x00000002 0x00000138 0x00000000 0x00000000
1055 0x00000000 0x00000000 0x00000282 0xa0ae04ae
1056 0x0007c000 0x00000000 0x00000000 0x00000007
1057 0x00000000 0x00000000 0x00000000 0x00000000>;
1058 };
1059
1060 emc-table@150000 {
1061 reg = <150000>;
1062 compatible = "nvidia,tegra20-emc-table";
1063 clock-frequency = <150000>;
1064 nvidia,emc-registers = <0x00000009 0x00000014
1065 0x00000007 0x00000003 0x00000006 0x00000004
1066 0x00000002 0x00000009 0x00000003 0x00000003
1067 0x00000002 0x00000002 0x00000002 0x00000005
1068 0x00000003 0x00000008 0x0000000b 0x0000021f
1069 0x00000000 0x00000003 0x00000003 0x00000003
1070 0x00000008 0x00000001 0x0000000a 0x00000015
1071 0x00000003 0x00000008 0x00000004 0x00000006
1072 0x00000002 0x00000270 0x00000000 0x00000001
1073 0x00000000 0x00000000 0x00000282 0xa07c04ae
1074 0x007e4010 0x00000000 0x00000000 0x0000000e
1075 0x00000000 0x00000000 0x00000000 0x00000000>;
1076 };
1077
1078 emc-table@300000 {
1079 reg = <300000>;
1080 compatible = "nvidia,tegra20-emc-table";
1081 clock-frequency = <300000>;
1082 nvidia,emc-registers = <0x00000012 0x00000027
1083 0x0000000d 0x00000006 0x00000007 0x00000005
1084 0x00000003 0x00000009 0x00000006 0x00000006
1085 0x00000003 0x00000003 0x00000002 0x00000006
1086 0x00000003 0x00000009 0x0000000c 0x0000045f
1087 0x00000000 0x00000004 0x00000004 0x00000006
1088 0x00000008 0x00000001 0x0000000e 0x0000002a
1089 0x00000003 0x0000000f 0x00000007 0x00000005
1090 0x00000002 0x000004e1 0x00000005 0x00000002
1091 0x00000000 0x00000000 0x00000282 0xe059048b
1092 0x007e0010 0x00000000 0x00000000 0x0000001b
1093 0x00000000 0x00000000 0x00000000 0x00000000>;
1094 };
1095 };
1096 };
1097
1098 usb@c5000000 {
1099 compatible = "nvidia,tegra20-udc";
1100 status = "okay";
1101 dr_mode = "peripheral";
1102 };
1103
1104 usb-phy@c5000000 {
1105 status = "okay";
1106 dr_mode = "peripheral";
1107 nvidia,xcvr-setup-use-fuses;
1108 nvidia,xcvr-lsfslew = <2>;
1109 nvidia,xcvr-lsrslew = <2>;
1110 };
1111
1112 usb@c5008000 {
1113 status = "okay";
1114 };
1115
1116 usb-phy@c5008000 {
1117 status = "okay";
1118 nvidia,xcvr-setup-use-fuses;
1119 nvidia,xcvr-lsfslew = <2>;
1120 nvidia,xcvr-lsrslew = <2>;
1121 vbus-supply = <&vdd_5v0_sys>;
1122 };
1123
1124 sdmmc1: mmc@c8000000 {
1125 status = "okay";
1126
1127 #address-cells = <1>;
1128 #size-cells = <0>;
1129
1130 assigned-clocks = <&tegra_car TEGRA20_CLK_SDMMC1>;
1131 assigned-clock-parents = <&tegra_car TEGRA20_CLK_PLL_C>;
1132 assigned-clock-rates = <50000000>;
1133
1134 max-frequency = <50000000>;
1135 keep-power-in-suspend;
1136 bus-width = <4>;
1137 non-removable;
1138
1139 mmc-pwrseq = <&brcm_wifi_pwrseq>;
1140 vmmc-supply = <&vdd_3v3_sys>;
1141 vqmmc-supply = <&vdd_1v8_sys>;
1142
1143 /* Azurewave AW-NH611 BCM4329 */
1144 wifi@1 {
1145 reg = <1>;
1146 compatible = "brcm,bcm4329-fmac";
1147 interrupt-parent = <&gpio>;
1148 interrupts = <TEGRA_GPIO(S, 0) IRQ_TYPE_LEVEL_HIGH>;
1149 interrupt-names = "host-wake";
1150 };
1151 };
1152
1153 sdmmc3: mmc@c8000400 {
1154 status = "okay";
1155 bus-width = <4>;
1156 cd-gpios = <&gpio TEGRA_GPIO(I, 5) GPIO_ACTIVE_LOW>;
1157 power-gpios = <&gpio TEGRA_GPIO(I, 6) GPIO_ACTIVE_HIGH>;
1158 vmmc-supply = <&vdd_3v3_sys>;
1159 vqmmc-supply = <&vdd_3v3_sys>;
1160 };
1161
1162 sdmmc4: mmc@c8000600 {
1163 status = "okay";
1164 bus-width = <8>;
1165 vmmc-supply = <&vcore_emmc>;
1166 vqmmc-supply = <&vdd_3v3_sys>;
1167 non-removable;
1168 };
1169
1170 mains: ac-adapter-detect {
1171 compatible = "gpio-charger";
1172 charger-type = "mains";
1173 gpios = <&gpio TEGRA_GPIO(V, 3) GPIO_ACTIVE_LOW>;
1174 };
1175
1176 backlight: backlight {
1177 compatible = "pwm-backlight";
1178
1179 enable-gpios = <&gpio TEGRA_GPIO(D, 4) GPIO_ACTIVE_HIGH>;
1180 power-supply = <&vdd_3v3_sys>;
1181 pwms = <&pwm 2 41667>;
1182
1183 brightness-levels = <7 255>;
1184 num-interpolated-steps = <248>;
1185 default-brightness-level = <20>;
1186 };
1187
1188 bat1010: battery-2s1p {
1189 compatible = "simple-battery";
1190 charge-full-design-microamp-hours = <3260000>;
1191 energy-full-design-microwatt-hours = <24000000>;
1192 operating-range-celsius = <0 40>;
1193 };
1194
1195 /* PMIC has a built-in 32KHz oscillator which is used by PMC */
1196 clk32k_in: clock-32k-in {
1197 compatible = "fixed-clock";
1198 #clock-cells = <0>;
1199 clock-frequency = <32768>;
1200 clock-output-names = "tps658621-out32k";
1201 };
1202
1203 /*
1204 * This standalone onboard fixed-clock always-ON 32KHz
1205 * oscillator is used as a reference clock-source by the
1206 * Azurewave WiFi/BT module.
1207 */
1208 rtc_32k_wifi: clock-32k-wifi {
1209 compatible = "fixed-clock";
1210 #clock-cells = <0>;
1211 clock-frequency = <32768>;
1212 clock-output-names = "kk3270032";
1213 };
1214
1215 cpus {
1216 cpu0: cpu@0 {
1217 cpu-supply = <&vdd_cpu>;
1218 operating-points-v2 = <&cpu0_opp_table>;
1219 #cooling-cells = <2>;
1220 };
1221
1222 cpu1: cpu@1 {
1223 cpu-supply = <&vdd_cpu>;
1224 operating-points-v2 = <&cpu0_opp_table>;
1225 #cooling-cells = <2>;
1226 };
1227 };
1228
1229 display-panel {
1230 compatible = "auo,b101ew05", "panel-lvds";
1231
1232 ddc-i2c-bus = <&panel_ddc>;
1233 power-supply = <&vdd_pnl>;
1234 backlight = <&backlight>;
1235
1236 width-mm = <218>;
1237 height-mm = <135>;
1238
1239 data-mapping = "jeida-18";
1240
1241 panel-timing {
1242 clock-frequency = <71200000>;
1243 hactive = <1280>;
1244 vactive = <800>;
1245 hfront-porch = <8>;
1246 hback-porch = <18>;
1247 hsync-len = <184>;
1248 vsync-len = <3>;
1249 vfront-porch = <4>;
1250 vback-porch = <8>;
1251 };
1252
1253 port {
1254 panel_input: endpoint {
1255 remote-endpoint = <&lvds_encoder_output>;
1256 };
1257 };
1258 };
1259
1260 gpio-keys {
1261 compatible = "gpio-keys";
1262
1263 key-power {
1264 label = "Power";
1265 gpios = <&gpio TEGRA_GPIO(I, 3) GPIO_ACTIVE_HIGH>;
1266 linux,code = <KEY_POWER>;
1267 debounce-interval = <10>;
1268 wakeup-event-action = <EV_ACT_ASSERTED>;
1269 wakeup-source;
1270 };
1271
1272 key-rotation-lock {
1273 label = "Rotate-lock";
1274 gpios = <&gpio TEGRA_GPIO(Q, 2) GPIO_ACTIVE_HIGH>;
1275 linux,code = <SW_ROTATE_LOCK>;
1276 linux,input-type = <EV_SW>;
1277 debounce-interval = <10>;
1278 };
1279
1280 key-volume-down {
1281 label = "Volume Down";
1282 gpios = <&gpio TEGRA_GPIO(Q, 5) GPIO_ACTIVE_LOW>;
1283 linux,code = <KEY_VOLUMEDOWN>;
1284 debounce-interval = <10>;
1285 wakeup-event-action = <EV_ACT_ASSERTED>;
1286 wakeup-source;
1287 };
1288
1289 key-volume-up {
1290 label = "Volume Up";
1291 gpios = <&gpio TEGRA_GPIO(Q, 4) GPIO_ACTIVE_LOW>;
1292 linux,code = <KEY_VOLUMEUP>;
1293 debounce-interval = <10>;
1294 wakeup-event-action = <EV_ACT_ASSERTED>;
1295 wakeup-source;
1296 };
1297 };
1298
1299 haptic-feedback {
1300 compatible = "gpio-vibrator";
1301 enable-gpios = <&gpio TEGRA_GPIO(V, 5) GPIO_ACTIVE_HIGH>;
1302 vcc-supply = <&vdd_3v3_sys>;
1303 };
1304
1305 i2cmux {
1306 compatible = "i2c-mux-pinctrl";
1307 #address-cells = <1>;
1308 #size-cells = <0>;
1309
1310 i2c-parent = <&{/i2c@7000c400}>;
1311
1312 pinctrl-names = "ddc", "pta", "idle";
1313 pinctrl-0 = <&state_i2cmux_ddc>;
1314 pinctrl-1 = <&state_i2cmux_pta>;
1315 pinctrl-2 = <&state_i2cmux_idle>;
1316
1317 hdmi_ddc: i2c@0 {
1318 reg = <0>;
1319 #address-cells = <1>;
1320 #size-cells = <0>;
1321 };
1322
1323 panel_ddc: i2c@1 {
1324 reg = <1>;
1325 #address-cells = <1>;
1326 #size-cells = <0>;
1327
1328 embedded-controller@58 {
1329 compatible = "acer,a500-iconia-ec", "ene,kb930";
1330 reg = <0x58>;
1331
1332 system-power-controller;
1333
1334 monitored-battery = <&bat1010>;
1335 power-supplies = <&mains>;
1336 };
1337 };
1338 };
1339
1340 lvds-encoder {
1341 compatible = "ti,sn75lvds83", "lvds-encoder";
1342
1343 powerdown-gpios = <&gpio TEGRA_GPIO(B, 2) GPIO_ACTIVE_LOW>;
1344 power-supply = <&vdd_3v3_sys>;
1345
1346 ports {
1347 #address-cells = <1>;
1348 #size-cells = <0>;
1349
1350 port@0 {
1351 reg = <0>;
1352
1353 lvds_encoder_input: endpoint {
1354 remote-endpoint = <&lcd_output>;
1355 };
1356 };
1357
1358 port@1 {
1359 reg = <1>;
1360
1361 lvds_encoder_output: endpoint {
1362 remote-endpoint = <&panel_input>;
1363 };
1364 };
1365 };
1366 };
1367
1368 opp-table-emc {
1369 /delete-node/ opp-666000000;
1370 /delete-node/ opp-760000000;
1371 };
1372
1373 vdd_5v0_sys: regulator-5v0 {
1374 compatible = "regulator-fixed";
1375 regulator-name = "vdd_5v0";
1376 regulator-min-microvolt = <5000000>;
1377 regulator-max-microvolt = <5000000>;
1378 regulator-always-on;
1379 };
1380
1381 vdd_3v3_sys: regulator-3v3 {
1382 compatible = "regulator-fixed";
1383 regulator-name = "vdd_3v3_vs";
1384 regulator-min-microvolt = <3300000>;
1385 regulator-max-microvolt = <3300000>;
1386 regulator-always-on;
1387 vin-supply = <&vdd_5v0_sys>;
1388 };
1389
1390 vdd_1v8_sys: regulator-1v8 {
1391 compatible = "regulator-fixed";
1392 regulator-name = "vdd_1v8_vs";
1393 regulator-min-microvolt = <1800000>;
1394 regulator-max-microvolt = <1800000>;
1395 regulator-always-on;
1396 vin-supply = <&vdd_5v0_sys>;
1397 };
1398
1399 vdd_pnl: regulator-panel {
1400 compatible = "regulator-fixed";
1401 regulator-name = "vdd_panel";
1402 regulator-min-microvolt = <3300000>;
1403 regulator-max-microvolt = <3300000>;
1404 regulator-enable-ramp-delay = <300000>;
1405 gpio = <&gpio TEGRA_GPIO(C, 6) GPIO_ACTIVE_HIGH>;
1406 enable-active-high;
1407 vin-supply = <&vdd_5v0_sys>;
1408 };
1409
1410 sound {
1411 compatible = "nvidia,tegra-audio-wm8903-picasso",
1412 "nvidia,tegra-audio-wm8903";
1413 nvidia,model = "Acer Iconia Tab A500 WM8903";
1414
1415 nvidia,audio-routing =
1416 "Headphone Jack", "HPOUTR",
1417 "Headphone Jack", "HPOUTL",
1418 "Int Spk", "LINEOUTL",
1419 "Int Spk", "LINEOUTR",
1420 "Mic Jack", "MICBIAS",
1421 "IN2L", "Mic Jack",
1422 "IN2R", "Mic Jack",
1423 "IN1L", "Int Mic",
1424 "IN1R", "Int Mic";
1425
1426 nvidia,i2s-controller = <&tegra_i2s1>;
1427 nvidia,audio-codec = <&wm8903>;
1428
1429 nvidia,spkr-en-gpios = <&wm8903 2 GPIO_ACTIVE_HIGH>;
1430 nvidia,hp-det-gpios = <&gpio TEGRA_GPIO(W, 2) GPIO_ACTIVE_LOW>;
1431 nvidia,int-mic-en-gpios = <&wm8903 1 GPIO_ACTIVE_HIGH>;
1432 nvidia,headset;
1433
1434 clocks = <&tegra_car TEGRA20_CLK_PLL_A>,
1435 <&tegra_car TEGRA20_CLK_PLL_A_OUT0>,
1436 <&tegra_car TEGRA20_CLK_CDEV1>;
1437 clock-names = "pll_a", "pll_a_out0", "mclk";
1438 };
1439
1440 thermal-zones {
1441 /*
1442 * NCT1008 has two sensors:
1443 *
1444 * 0: internal that monitors ambient/skin temperature
1445 * 1: external that is connected to the CPU's diode
1446 *
1447 * Ideally we should use userspace thermal governor,
1448 * but it's a much more complex solution. The "skin"
1449 * zone is a simpler solution which prevents A500 from
1450 * getting too hot from a user's tactile perspective.
1451 * The CPU zone is intended to protect silicon from damage.
1452 */
1453
1454 skin-thermal {
1455 polling-delay-passive = <1000>; /* milliseconds */
1456 polling-delay = <5000>; /* milliseconds */
1457
1458 thermal-sensors = <&nct1008 0>;
1459
1460 trips {
1461 trip0: skin-alert {
1462 /* start throttling at 60C */
1463 temperature = <60000>;
1464 hysteresis = <200>;
1465 type = "passive";
1466 };
1467
1468 trip1: skin-crit {
1469 /* shut down at 70C */
1470 temperature = <70000>;
1471 hysteresis = <2000>;
1472 type = "critical";
1473 };
1474 };
1475
1476 cooling-maps {
1477 map0 {
1478 trip = <&trip0>;
1479 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1480 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1481 };
1482 };
1483 };
1484
1485 cpu-thermal {
1486 polling-delay-passive = <1000>; /* milliseconds */
1487 polling-delay = <5000>; /* milliseconds */
1488
1489 thermal-sensors = <&nct1008 1>;
1490
1491 trips {
1492 trip2: cpu-alert {
1493 /* throttle at 85C until temperature drops to 84.8C */
1494 temperature = <85000>;
1495 hysteresis = <200>;
1496 type = "passive";
1497 };
1498
1499 trip3: cpu-crit {
1500 /* shut down at 90C */
1501 temperature = <90000>;
1502 hysteresis = <2000>;
1503 type = "critical";
1504 };
1505 };
1506
1507 cooling-maps {
1508 map1 {
1509 trip = <&trip2>;
1510 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1511 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1512 };
1513 };
1514 };
1515 };
1516
1517 brcm_wifi_pwrseq: wifi-pwrseq {
1518 compatible = "mmc-pwrseq-simple";
1519
1520 clocks = <&rtc_32k_wifi>;
1521 clock-names = "ext_clock";
1522
1523 reset-gpios = <&gpio TEGRA_GPIO(K, 6) GPIO_ACTIVE_LOW>;
1524 post-power-on-delay-ms = <300>;
1525 power-off-delay-us = <300>;
1526 };
1527};