Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux...
[firefly-linux-kernel-4.4.55.git] / arch / arm / boot / dts / tegra20-whistler.dts
1 /dts-v1/;
2
3 #include <dt-bindings/input/input.h>
4 #include "tegra20.dtsi"
5
6 / {
7         model = "NVIDIA Tegra20 Whistler evaluation board";
8         compatible = "nvidia,whistler", "nvidia,tegra20";
9
10         aliases {
11                 rtc0 = "/i2c@7000d000/max8907@3c";
12                 rtc1 = "/rtc@7000e000";
13                 serial0 = &uarta;
14         };
15
16         memory {
17                 reg = <0x00000000 0x20000000>;
18         };
19
20         host1x@50000000 {
21                 hdmi@54280000 {
22                         status = "okay";
23
24                         vdd-supply = <&hdmi_vdd_reg>;
25                         pll-supply = <&hdmi_pll_reg>;
26
27                         nvidia,ddc-i2c-bus = <&hdmi_ddc>;
28                         nvidia,hpd-gpio = <&gpio TEGRA_GPIO(N, 7)
29                                 GPIO_ACTIVE_HIGH>;
30                 };
31         };
32
33         pinmux@70000014 {
34                 pinctrl-names = "default";
35                 pinctrl-0 = <&state_default>;
36
37                 state_default: pinmux {
38                         ata {
39                                 nvidia,pins = "ata", "atb", "ate", "gma", "gmb",
40                                         "gmc", "gmd", "gpu";
41                                 nvidia,function = "gmi";
42                         };
43                         atc {
44                                 nvidia,pins = "atc", "atd";
45                                 nvidia,function = "sdio4";
46                         };
47                         cdev1 {
48                                 nvidia,pins = "cdev1";
49                                 nvidia,function = "plla_out";
50                         };
51                         cdev2 {
52                                 nvidia,pins = "cdev2";
53                                 nvidia,function = "osc";
54                         };
55                         crtp {
56                                 nvidia,pins = "crtp";
57                                 nvidia,function = "crt";
58                         };
59                         csus {
60                                 nvidia,pins = "csus";
61                                 nvidia,function = "vi_sensor_clk";
62                         };
63                         dap1 {
64                                 nvidia,pins = "dap1";
65                                 nvidia,function = "dap1";
66                         };
67                         dap2 {
68                                 nvidia,pins = "dap2";
69                                 nvidia,function = "dap2";
70                         };
71                         dap3 {
72                                 nvidia,pins = "dap3";
73                                 nvidia,function = "dap3";
74                         };
75                         dap4 {
76                                 nvidia,pins = "dap4";
77                                 nvidia,function = "dap4";
78                         };
79                         ddc {
80                                 nvidia,pins = "ddc";
81                                 nvidia,function = "i2c2";
82                         };
83                         dta {
84                                 nvidia,pins = "dta", "dtb", "dtc", "dtd";
85                                 nvidia,function = "vi";
86                         };
87                         dte {
88                                 nvidia,pins = "dte";
89                                 nvidia,function = "rsvd1";
90                         };
91                         dtf {
92                                 nvidia,pins = "dtf";
93                                 nvidia,function = "i2c3";
94                         };
95                         gme {
96                                 nvidia,pins = "gme";
97                                 nvidia,function = "dap5";
98                         };
99                         gpu7 {
100                                 nvidia,pins = "gpu7";
101                                 nvidia,function = "rtck";
102                         };
103                         gpv {
104                                 nvidia,pins = "gpv";
105                                 nvidia,function = "pcie";
106                         };
107                         hdint {
108                                 nvidia,pins = "hdint", "pta";
109                                 nvidia,function = "hdmi";
110                         };
111                         i2cp {
112                                 nvidia,pins = "i2cp";
113                                 nvidia,function = "i2cp";
114                         };
115                         irrx {
116                                 nvidia,pins = "irrx", "irtx";
117                                 nvidia,function = "uartb";
118                         };
119                         kbca {
120                                 nvidia,pins = "kbca", "kbcc", "kbce", "kbcf";
121                                 nvidia,function = "kbc";
122                         };
123                         kbcb {
124                                 nvidia,pins = "kbcb", "kbcd";
125                                 nvidia,function = "sdio2";
126                         };
127                         lcsn {
128                                 nvidia,pins = "lcsn", "lsck", "lsda", "lsdi",
129                                         "spia", "spib", "spic";
130                                 nvidia,function = "spi3";
131                         };
132                         ld0 {
133                                 nvidia,pins = "ld0", "ld1", "ld2", "ld3", "ld4",
134                                         "ld5", "ld6", "ld7", "ld8", "ld9",
135                                         "ld10", "ld11", "ld12", "ld13", "ld14",
136                                         "ld15", "ld16", "ld17", "ldc", "ldi",
137                                         "lhp0", "lhp1", "lhp2", "lhs", "lm0",
138                                         "lm1", "lpp", "lpw0", "lpw1", "lpw2",
139                                         "lsc0", "lsc1", "lspi", "lvp0", "lvp1",
140                                         "lvs";
141                                 nvidia,function = "displaya";
142                         };
143                         owc {
144                                 nvidia,pins = "owc", "uac";
145                                 nvidia,function = "owr";
146                         };
147                         pmc {
148                                 nvidia,pins = "pmc";
149                                 nvidia,function = "pwr_on";
150                         };
151                         rm {
152                                 nvidia,pins = "rm";
153                                 nvidia,function = "i2c1";
154                         };
155                         sdb {
156                                 nvidia,pins = "sdb", "sdc", "sdd", "slxa",
157                                         "slxc", "slxd", "slxk";
158                                 nvidia,function = "sdio3";
159                         };
160                         sdio1 {
161                                 nvidia,pins = "sdio1";
162                                 nvidia,function = "sdio1";
163                         };
164                         spdi {
165                                 nvidia,pins = "spdi", "spdo";
166                                 nvidia,function = "rsvd2";
167                         };
168                         spid {
169                                 nvidia,pins = "spid", "spie", "spig", "spih";
170                                 nvidia,function = "spi2_alt";
171                         };
172                         spif {
173                                 nvidia,pins = "spif";
174                                 nvidia,function = "spi2";
175                         };
176                         uaa {
177                                 nvidia,pins = "uaa", "uab";
178                                 nvidia,function = "uarta";
179                         };
180                         uad {
181                                 nvidia,pins = "uad";
182                                 nvidia,function = "irda";
183                         };
184                         uca {
185                                 nvidia,pins = "uca", "ucb";
186                                 nvidia,function = "uartc";
187                         };
188                         uda {
189                                 nvidia,pins = "uda";
190                                 nvidia,function = "spi1";
191                         };
192                         conf_ata {
193                                 nvidia,pins = "ata", "atb", "atc", "ddc", "gma",
194                                         "gmb", "gmc", "gmd", "irrx", "irtx",
195                                         "kbca", "kbcb", "kbcc", "kbcd", "kbce",
196                                         "kbcf", "sdc", "sdd", "spie", "spig",
197                                         "spih", "uaa", "uab", "uad", "uca",
198                                         "ucb";
199                                 nvidia,pull = <TEGRA_PIN_PULL_UP>;
200                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
201                         };
202                         conf_atd {
203                                 nvidia,pins = "atd", "ate", "cdev1", "csus",
204                                         "dap1", "dap2", "dap3", "dap4", "dte",
205                                         "dtf", "gpu", "gpu7", "gpv", "i2cp",
206                                         "rm", "sdio1", "slxa", "slxc", "slxd",
207                                         "slxk", "spdi", "spdo", "uac", "uda";
208                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
209                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
210                         };
211                         conf_cdev2 {
212                                 nvidia,pins = "cdev2", "spia", "spib";
213                                 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
214                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
215                         };
216                         conf_ck32 {
217                                 nvidia,pins = "ck32", "ddrc", "lc", "pmca",
218                                         "pmcb", "pmcc", "pmcd", "xm2c",
219                                         "xm2d";
220                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
221                         };
222                         conf_crtp {
223                                 nvidia,pins = "crtp";
224                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
225                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
226                         };
227                         conf_dta {
228                                 nvidia,pins = "dta", "dtb", "dtc", "dtd",
229                                         "spid", "spif";
230                                 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
231                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
232                         };
233                         conf_gme {
234                                 nvidia,pins = "gme", "owc", "pta", "spic";
235                                 nvidia,pull = <TEGRA_PIN_PULL_UP>;
236                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
237                         };
238                         conf_ld17_0 {
239                                 nvidia,pins = "ld17_0", "ld19_18", "ld21_20",
240                                         "ld23_22";
241                                 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
242                         };
243                         conf_ls {
244                                 nvidia,pins = "ls", "pmce";
245                                 nvidia,pull = <TEGRA_PIN_PULL_UP>;
246                         };
247                         drive_dap1 {
248                                 nvidia,pins = "drive_dap1";
249                                 nvidia,high-speed-mode = <TEGRA_PIN_DISABLE>;
250                                 nvidia,schmitt = <TEGRA_PIN_ENABLE>;
251                                 nvidia,low-power-mode = <TEGRA_PIN_LP_DRIVE_DIV_8>;
252                                 nvidia,pull-down-strength = <0>;
253                                 nvidia,pull-up-strength = <0>;
254                                 nvidia,slew-rate-rising = <TEGRA_PIN_SLEW_RATE_FASTEST>;
255                                 nvidia,slew-rate-falling = <TEGRA_PIN_SLEW_RATE_FASTEST>;
256                         };
257                 };
258         };
259
260         i2s@70002800 {
261                 status = "okay";
262         };
263
264         serial@70006000 {
265                 status = "okay";
266         };
267
268         hdmi_ddc: i2c@7000c400 {
269                 status = "okay";
270                 clock-frequency = <100000>;
271         };
272
273         i2c@7000d000 {
274                 status = "okay";
275                 clock-frequency = <100000>;
276
277                 codec: codec@1a {
278                         compatible = "wlf,wm8753";
279                         reg = <0x1a>;
280                 };
281
282                 tca6416: gpio@20 {
283                         compatible = "ti,tca6416";
284                         reg = <0x20>;
285                         gpio-controller;
286                         #gpio-cells = <2>;
287                 };
288
289                 max8907@3c {
290                         compatible = "maxim,max8907";
291                         reg = <0x3c>;
292                         interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
293
294                         maxim,system-power-controller;
295
296                         mbatt-supply = <&usb0_vbus_reg>;
297                         in-v1-supply = <&mbatt_reg>;
298                         in-v2-supply = <&mbatt_reg>;
299                         in-v3-supply = <&mbatt_reg>;
300                         in1-supply = <&mbatt_reg>;
301                         in2-supply = <&nvvdd_sv3_reg>;
302                         in3-supply = <&mbatt_reg>;
303                         in4-supply = <&mbatt_reg>;
304                         in5-supply = <&mbatt_reg>;
305                         in6-supply = <&mbatt_reg>;
306                         in7-supply = <&mbatt_reg>;
307                         in8-supply = <&mbatt_reg>;
308                         in9-supply = <&mbatt_reg>;
309                         in10-supply = <&mbatt_reg>;
310                         in11-supply = <&mbatt_reg>;
311                         in12-supply = <&mbatt_reg>;
312                         in13-supply = <&mbatt_reg>;
313                         in14-supply = <&mbatt_reg>;
314                         in15-supply = <&mbatt_reg>;
315                         in16-supply = <&mbatt_reg>;
316                         in17-supply = <&nvvdd_sv3_reg>;
317                         in18-supply = <&nvvdd_sv3_reg>;
318                         in19-supply = <&mbatt_reg>;
319                         in20-supply = <&mbatt_reg>;
320
321                         regulators {
322                                 mbatt_reg: mbatt {
323                                         regulator-name = "vbat_pmu";
324                                         regulator-always-on;
325                                 };
326
327                                 sd1 {
328                                         regulator-name = "nvvdd_sv1,vdd_cpu_pmu";
329                                         regulator-min-microvolt = <1000000>;
330                                         regulator-max-microvolt = <1000000>;
331                                         regulator-always-on;
332                                 };
333
334                                 sd2 {
335                                         regulator-name = "nvvdd_sv2,vdd_core";
336                                         regulator-min-microvolt = <1200000>;
337                                         regulator-max-microvolt = <1200000>;
338                                         regulator-always-on;
339                                 };
340
341                                 nvvdd_sv3_reg: sd3 {
342                                         regulator-name = "nvvdd_sv3";
343                                         regulator-min-microvolt = <1800000>;
344                                         regulator-max-microvolt = <1800000>;
345                                         regulator-always-on;
346                                 };
347
348                                 ldo1 {
349                                         regulator-name = "nvvdd_ldo1,vddio_rx_ddr,vcore_acc";
350                                         regulator-min-microvolt = <3300000>;
351                                         regulator-max-microvolt = <3300000>;
352                                         regulator-always-on;
353                                 };
354
355                                 ldo2 {
356                                         regulator-name = "nvvdd_ldo2,avdd_pll*";
357                                         regulator-min-microvolt = <1100000>;
358                                         regulator-max-microvolt = <1100000>;
359                                         regulator-always-on;
360                                 };
361
362                                 ldo3 {
363                                         regulator-name = "nvvdd_ldo3,vcom_1v8b";
364                                         regulator-min-microvolt = <1800000>;
365                                         regulator-max-microvolt = <1800000>;
366                                         regulator-always-on;
367                                 };
368
369                                 ldo4 {
370                                         regulator-name = "nvvdd_ldo4,avdd_usb*";
371                                         regulator-min-microvolt = <3300000>;
372                                         regulator-max-microvolt = <3300000>;
373                                         regulator-always-on;
374                                 };
375
376                                 ldo5 {
377                                         regulator-name = "nvvdd_ldo5,vcore_mmc,avdd_lcd1,vddio_1wire";
378                                         regulator-min-microvolt = <2800000>;
379                                         regulator-max-microvolt = <2800000>;
380                                         regulator-always-on;
381                                 };
382
383                                 hdmi_pll_reg: ldo6 {
384                                         regulator-name = "nvvdd_ldo6,avdd_hdmi_pll";
385                                         regulator-min-microvolt = <1800000>;
386                                         regulator-max-microvolt = <1800000>;
387                                 };
388
389                                 ldo7 {
390                                         regulator-name = "nvvdd_ldo7,avddio_audio";
391                                         regulator-min-microvolt = <2800000>;
392                                         regulator-max-microvolt = <2800000>;
393                                         regulator-always-on;
394                                 };
395
396                                 ldo8 {
397                                         regulator-name = "nvvdd_ldo8,vcom_3v0,vcore_cmps";
398                                         regulator-min-microvolt = <3000000>;
399                                         regulator-max-microvolt = <3000000>;
400                                 };
401
402                                 ldo9 {
403                                         regulator-name = "nvvdd_ldo9,avdd_cam*";
404                                         regulator-min-microvolt = <2800000>;
405                                         regulator-max-microvolt = <2800000>;
406                                 };
407
408                                 ldo10 {
409                                         regulator-name = "nvvdd_ldo10,avdd_usb_ic_3v0";
410                                         regulator-min-microvolt = <3000000>;
411                                         regulator-max-microvolt = <3000000>;
412                                         regulator-always-on;
413                                 };
414
415                                 hdmi_vdd_reg: ldo11 {
416                                         regulator-name = "nvvdd_ldo11,vddio_pex_clk,vcom_33,avdd_hdmi";
417                                         regulator-min-microvolt = <3300000>;
418                                         regulator-max-microvolt = <3300000>;
419                                 };
420
421                                 ldo12 {
422                                         regulator-name = "nvvdd_ldo12,vddio_sdio";
423                                         regulator-min-microvolt = <2800000>;
424                                         regulator-max-microvolt = <2800000>;
425                                         regulator-always-on;
426                                 };
427
428                                 ldo13 {
429                                         regulator-name = "nvvdd_ldo13,vcore_phtn,vdd_af";
430                                         regulator-min-microvolt = <2800000>;
431                                         regulator-max-microvolt = <2800000>;
432                                 };
433
434                                 ldo14 {
435                                         regulator-name = "nvvdd_ldo14,avdd_vdac";
436                                         regulator-min-microvolt = <2800000>;
437                                         regulator-max-microvolt = <2800000>;
438                                 };
439
440                                 ldo15 {
441                                         regulator-name = "nvvdd_ldo15,vcore_temp,vddio_hdcp";
442                                         regulator-min-microvolt = <3300000>;
443                                         regulator-max-microvolt = <3300000>;
444                                 };
445
446                                 ldo16 {
447                                         regulator-name = "nvvdd_ldo16,vdd_dbrtr";
448                                         regulator-min-microvolt = <1300000>;
449                                         regulator-max-microvolt = <1300000>;
450                                 };
451
452                                 ldo17 {
453                                         regulator-name = "nvvdd_ldo17,vddio_mipi";
454                                         regulator-min-microvolt = <1200000>;
455                                         regulator-max-microvolt = <1200000>;
456                                 };
457
458                                 ldo18 {
459                                         regulator-name = "nvvdd_ldo18,vddio_vi,vcore_cam*";
460                                         regulator-min-microvolt = <1800000>;
461                                         regulator-max-microvolt = <1800000>;
462                                 };
463
464                                 ldo19 {
465                                         regulator-name = "nvvdd_ldo19,avdd_lcd2,vddio_lx";
466                                         regulator-min-microvolt = <2800000>;
467                                         regulator-max-microvolt = <2800000>;
468                                 };
469
470                                 ldo20 {
471                                         regulator-name = "nvvdd_ldo20,vddio_ddr_1v2,vddio_hsic,vcom_1v2";
472                                         regulator-min-microvolt = <1200000>;
473                                         regulator-max-microvolt = <1200000>;
474                                         regulator-always-on;
475                                 };
476
477                                 out5v {
478                                         regulator-name = "usb0_vbus_reg";
479                                 };
480
481                                 out33v {
482                                         regulator-name = "pmu_out3v3";
483                                 };
484
485                                 bbat {
486                                         regulator-name = "pmu_bbat";
487                                         regulator-min-microvolt = <2400000>;
488                                         regulator-max-microvolt = <2400000>;
489                                         regulator-always-on;
490                                 };
491
492                                 sdby {
493                                         regulator-name = "vdd_aon";
494                                         regulator-always-on;
495                                 };
496
497                                 vrtc {
498                                         regulator-name = "vrtc,pmu_vccadc";
499                                         regulator-always-on;
500                                 };
501                         };
502                 };
503         };
504
505         kbc@7000e200 {
506                 status = "okay";
507                 nvidia,debounce-delay-ms = <20>;
508                 nvidia,repeat-delay-ms = <160>;
509                 nvidia,kbc-row-pins = <0 1 2>;
510                 nvidia,kbc-col-pins = <16 17>;
511                 nvidia,wakeup-source;
512                 linux,keymap = <MATRIX_KEY(0x00, 0x00, KEY_POWER)
513                                 MATRIX_KEY(0x01, 0x00, KEY_HOME)
514                                 MATRIX_KEY(0x01, 0x01, KEY_BACK)
515                                 MATRIX_KEY(0x02, 0x01, KEY_MENU)>;
516         };
517
518         pmc@7000e400 {
519                 nvidia,invert-interrupt;
520                 nvidia,suspend-mode = <1>;
521                 nvidia,cpu-pwr-good-time = <2000>;
522                 nvidia,cpu-pwr-off-time = <1000>;
523                 nvidia,core-pwr-good-time = <0 3845>;
524                 nvidia,core-pwr-off-time = <93727>;
525                 nvidia,core-power-req-active-high;
526                 nvidia,sys-clock-req-active-high;
527                 nvidia,combined-power-req;
528         };
529
530         usb@c5000000 {
531                 status = "okay";
532         };
533
534         usb-phy@c5000000 {
535                 status = "okay";
536                 vbus-supply = <&vbus1_reg>;
537         };
538
539         usb@c5008000 {
540                 status = "okay";
541         };
542
543         usb-phy@c5008000 {
544                 status = "okay";
545                 vbus-supply = <&vbus3_reg>;
546         };
547
548         sdhci@c8000400 {
549                 status = "okay";
550                 cd-gpios = <&gpio TEGRA_GPIO(I, 5) GPIO_ACTIVE_LOW>;
551                 wp-gpios = <&gpio TEGRA_GPIO(V, 5) GPIO_ACTIVE_HIGH>;
552                 bus-width = <8>;
553         };
554
555         sdhci@c8000600 {
556                 status = "okay";
557                 bus-width = <8>;
558                 non-removable;
559         };
560
561         clocks {
562                 compatible = "simple-bus";
563                 #address-cells = <1>;
564                 #size-cells = <0>;
565
566                 clk32k_in: clock@0 {
567                         compatible = "fixed-clock";
568                         reg=<0>;
569                         #clock-cells = <0>;
570                         clock-frequency = <32768>;
571                 };
572         };
573
574         regulators {
575                 compatible = "simple-bus";
576                 #address-cells = <1>;
577                 #size-cells = <0>;
578
579                 usb0_vbus_reg: regulator@0 {
580                         compatible = "regulator-fixed";
581                         reg = <0>;
582                         regulator-name = "usb0_vbus";
583                         regulator-min-microvolt = <5000000>;
584                         regulator-max-microvolt = <5000000>;
585                         regulator-always-on;
586                 };
587
588                 vbus1_reg: regulator@2 {
589                         compatible = "regulator-fixed";
590                         reg = <2>;
591                         regulator-name = "vbus1";
592                         regulator-min-microvolt = <5000000>;
593                         regulator-max-microvolt = <5000000>;
594                         enable-active-high;
595                         gpio = <&tca6416 0 0>; /* GPIO_PMU0 */
596                         regulator-always-on;
597                         regulator-boot-on;
598                 };
599
600                 vbus3_reg: regulator@3 {
601                         compatible = "regulator-fixed";
602                         reg = <3>;
603                         regulator-name = "vbus3";
604                         regulator-min-microvolt = <5000000>;
605                         regulator-max-microvolt = <5000000>;
606                         enable-active-high;
607                         gpio = <&tca6416 1 0>; /* GPIO_PMU1 */
608                         regulator-always-on;
609                         regulator-boot-on;
610                 };
611         };
612
613         sound {
614                 compatible = "nvidia,tegra-audio-wm8753-whistler",
615                              "nvidia,tegra-audio-wm8753";
616                 nvidia,model = "NVIDIA Tegra Whistler";
617
618                 nvidia,audio-routing =
619                         "Headphone Jack", "LOUT1",
620                         "Headphone Jack", "ROUT1",
621                         "MIC2", "Mic Jack",
622                         "MIC2N", "Mic Jack";
623
624                 nvidia,i2s-controller = <&tegra_i2s1>;
625                 nvidia,audio-codec = <&codec>;
626
627                 clocks = <&tegra_car TEGRA20_CLK_PLL_A>,
628                          <&tegra_car TEGRA20_CLK_PLL_A_OUT0>,
629                          <&tegra_car TEGRA20_CLK_CDEV1>;
630                 clock-names = "pll_a", "pll_a_out0", "mclk";
631         };
632 };