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-tamonten.dtsi
1 #include "tegra20.dtsi"
2
3 / {
4         model = "Avionic Design Tamonten SOM";
5         compatible = "ad,tamonten", "nvidia,tegra20";
6
7         aliases {
8                 rtc0 = "/i2c@7000d000/tps6586x@34";
9                 rtc1 = "/rtc@7000e000";
10                 serial0 = &uartd;
11         };
12
13         memory {
14                 reg = <0x00000000 0x20000000>;
15         };
16
17         host1x@50000000 {
18                 hdmi@54280000 {
19                         vdd-supply = <&hdmi_vdd_reg>;
20                         pll-supply = <&hdmi_pll_reg>;
21
22                         nvidia,ddc-i2c-bus = <&hdmi_ddc>;
23                         nvidia,hpd-gpio = <&gpio TEGRA_GPIO(N, 7)
24                                 GPIO_ACTIVE_HIGH>;
25                 };
26         };
27
28         pinmux@70000014 {
29                 pinctrl-names = "default";
30                 pinctrl-0 = <&state_default>;
31
32                 state_default: pinmux {
33                         ata {
34                                 nvidia,pins = "ata";
35                                 nvidia,function = "ide";
36                         };
37                         atb {
38                                 nvidia,pins = "atb", "gma", "gme";
39                                 nvidia,function = "sdio4";
40                         };
41                         atc {
42                                 nvidia,pins = "atc";
43                                 nvidia,function = "nand";
44                         };
45                         atd {
46                                 nvidia,pins = "atd", "ate", "gmb", "gmd", "gpu",
47                                         "spia", "spib", "spic";
48                                 nvidia,function = "gmi";
49                         };
50                         cdev1 {
51                                 nvidia,pins = "cdev1";
52                                 nvidia,function = "plla_out";
53                         };
54                         cdev2 {
55                                 nvidia,pins = "cdev2";
56                                 nvidia,function = "pllp_out4";
57                         };
58                         crtp {
59                                 nvidia,pins = "crtp";
60                                 nvidia,function = "crt";
61                         };
62                         csus {
63                                 nvidia,pins = "csus";
64                                 nvidia,function = "vi_sensor_clk";
65                         };
66                         dap1 {
67                                 nvidia,pins = "dap1";
68                                 nvidia,function = "dap1";
69                         };
70                         dap2 {
71                                 nvidia,pins = "dap2";
72                                 nvidia,function = "dap2";
73                         };
74                         dap3 {
75                                 nvidia,pins = "dap3";
76                                 nvidia,function = "dap3";
77                         };
78                         dap4 {
79                                 nvidia,pins = "dap4";
80                                 nvidia,function = "dap4";
81                         };
82                         dta {
83                                 nvidia,pins = "dta", "dtd";
84                                 nvidia,function = "sdio2";
85                         };
86                         dtb {
87                                 nvidia,pins = "dtb", "dtc", "dte";
88                                 nvidia,function = "rsvd1";
89                         };
90                         dtf {
91                                 nvidia,pins = "dtf";
92                                 nvidia,function = "i2c3";
93                         };
94                         gmc {
95                                 nvidia,pins = "gmc";
96                                 nvidia,function = "uartd";
97                         };
98                         gpu7 {
99                                 nvidia,pins = "gpu7";
100                                 nvidia,function = "rtck";
101                         };
102                         gpv {
103                                 nvidia,pins = "gpv", "slxa", "slxk";
104                                 nvidia,function = "pcie";
105                         };
106                         hdint {
107                                 nvidia,pins = "hdint";
108                                 nvidia,function = "hdmi";
109                         };
110                         i2cp {
111                                 nvidia,pins = "i2cp";
112                                 nvidia,function = "i2cp";
113                         };
114                         irrx {
115                                 nvidia,pins = "irrx", "irtx";
116                                 nvidia,function = "uarta";
117                         };
118                         kbca {
119                                 nvidia,pins = "kbca", "kbcb", "kbcc", "kbcd",
120                                         "kbce", "kbcf";
121                                 nvidia,function = "kbc";
122                         };
123                         lcsn {
124                                 nvidia,pins = "lcsn", "ld0", "ld1", "ld2",
125                                         "ld3", "ld4", "ld5", "ld6", "ld7",
126                                         "ld8", "ld9", "ld10", "ld11", "ld12",
127                                         "ld13", "ld14", "ld15", "ld16", "ld17",
128                                         "ldc", "ldi", "lhp0", "lhp1", "lhp2",
129                                         "lhs", "lm0", "lm1", "lpp", "lpw0",
130                                         "lpw1", "lpw2", "lsc0", "lsc1", "lsck",
131                                         "lsda", "lsdi", "lspi", "lvp0", "lvp1",
132                                         "lvs";
133                                 nvidia,function = "displaya";
134                         };
135                         owc {
136                                 nvidia,pins = "owc", "spdi", "spdo", "uac";
137                                 nvidia,function = "rsvd2";
138                         };
139                         pmc {
140                                 nvidia,pins = "pmc";
141                                 nvidia,function = "pwr_on";
142                         };
143                         rm {
144                                 nvidia,pins = "rm";
145                                 nvidia,function = "i2c1";
146                         };
147                         sdb {
148                                 nvidia,pins = "sdb", "sdc", "sdd";
149                                 nvidia,function = "pwm";
150                         };
151                         sdio1 {
152                                 nvidia,pins = "sdio1";
153                                 nvidia,function = "sdio1";
154                         };
155                         slxc {
156                                 nvidia,pins = "slxc", "slxd";
157                                 nvidia,function = "spdif";
158                         };
159                         spid {
160                                 nvidia,pins = "spid", "spie", "spif";
161                                 nvidia,function = "spi1";
162                         };
163                         spig {
164                                 nvidia,pins = "spig", "spih";
165                                 nvidia,function = "spi2_alt";
166                         };
167                         uaa {
168                                 nvidia,pins = "uaa", "uab", "uda";
169                                 nvidia,function = "ulpi";
170                         };
171                         uad {
172                                 nvidia,pins = "uad";
173                                 nvidia,function = "irda";
174                         };
175                         uca {
176                                 nvidia,pins = "uca", "ucb";
177                                 nvidia,function = "uartc";
178                         };
179                         conf_ata {
180                                 nvidia,pins = "ata", "atb", "atc", "atd", "ate",
181                                         "cdev1", "cdev2", "dap1", "dtb", "gma",
182                                         "gmb", "gmc", "gmd", "gme", "gpu7",
183                                         "gpv", "i2cp", "pta", "rm", "slxa",
184                                         "slxk", "spia", "spib", "uac";
185                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
186                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
187                         };
188                         conf_ck32 {
189                                 nvidia,pins = "ck32", "ddrc", "pmca", "pmcb",
190                                         "pmcc", "pmcd", "pmce", "xm2c", "xm2d";
191                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
192                         };
193                         conf_csus {
194                                 nvidia,pins = "csus", "spid", "spif";
195                                 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
196                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
197                         };
198                         conf_crtp {
199                                 nvidia,pins = "crtp", "dap2", "dap3", "dap4",
200                                         "dtc", "dte", "dtf", "gpu", "sdio1",
201                                         "slxc", "slxd", "spdi", "spdo", "spig",
202                                         "uda";
203                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
204                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
205                         };
206                         conf_ddc {
207                                 nvidia,pins = "ddc", "dta", "dtd", "kbca",
208                                         "kbcb", "kbcc", "kbcd", "kbce", "kbcf",
209                                         "sdc";
210                                 nvidia,pull = <TEGRA_PIN_PULL_UP>;
211                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
212                         };
213                         conf_hdint {
214                                 nvidia,pins = "hdint", "lcsn", "ldc", "lm1",
215                                         "lpw1", "lsc1", "lsck", "lsda", "lsdi",
216                                         "lvp0", "owc", "sdb";
217                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
218                         };
219                         conf_irrx {
220                                 nvidia,pins = "irrx", "irtx", "sdd", "spic",
221                                         "spie", "spih", "uaa", "uab", "uad",
222                                         "uca", "ucb";
223                                 nvidia,pull = <TEGRA_PIN_PULL_UP>;
224                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
225                         };
226                         conf_lc {
227                                 nvidia,pins = "lc", "ls";
228                                 nvidia,pull = <TEGRA_PIN_PULL_UP>;
229                         };
230                         conf_ld0 {
231                                 nvidia,pins = "ld0", "ld1", "ld2", "ld3", "ld4",
232                                         "ld5", "ld6", "ld7", "ld8", "ld9",
233                                         "ld10", "ld11", "ld12", "ld13", "ld14",
234                                         "ld15", "ld16", "ld17", "ldi", "lhp0",
235                                         "lhp1", "lhp2", "lhs", "lm0", "lpp",
236                                         "lpw0", "lpw2", "lsc0", "lspi", "lvp1",
237                                         "lvs", "pmc";
238                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
239                         };
240                         conf_ld17_0 {
241                                 nvidia,pins = "ld17_0", "ld19_18", "ld21_20",
242                                         "ld23_22";
243                                 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
244                         };
245                 };
246
247                 state_i2cmux_ddc: pinmux_i2cmux_ddc {
248                         ddc {
249                                 nvidia,pins = "ddc";
250                                 nvidia,function = "i2c2";
251                         };
252                         pta {
253                                 nvidia,pins = "pta";
254                                 nvidia,function = "rsvd4";
255                         };
256                 };
257
258                 state_i2cmux_pta: pinmux_i2cmux_pta {
259                         ddc {
260                                 nvidia,pins = "ddc";
261                                 nvidia,function = "rsvd4";
262                         };
263                         pta {
264                                 nvidia,pins = "pta";
265                                 nvidia,function = "i2c2";
266                         };
267                 };
268
269                 state_i2cmux_idle: pinmux_i2cmux_idle {
270                         ddc {
271                                 nvidia,pins = "ddc";
272                                 nvidia,function = "rsvd4";
273                         };
274                         pta {
275                                 nvidia,pins = "pta";
276                                 nvidia,function = "rsvd4";
277                         };
278                 };
279         };
280
281         i2s@70002800 {
282                 status = "okay";
283         };
284
285         serial@70006300 {
286                 status = "okay";
287         };
288
289         i2c@7000c000 {
290                 clock-frequency = <400000>;
291                 status = "okay";
292         };
293
294         i2c@7000c400 {
295                 clock-frequency = <100000>;
296                 status = "okay";
297         };
298
299         i2cmux {
300                 compatible = "i2c-mux-pinctrl";
301                 #address-cells = <1>;
302                 #size-cells = <0>;
303
304                 i2c-parent = <&{/i2c@7000c400}>;
305
306                 pinctrl-names = "ddc", "pta", "idle";
307                 pinctrl-0 = <&state_i2cmux_ddc>;
308                 pinctrl-1 = <&state_i2cmux_pta>;
309                 pinctrl-2 = <&state_i2cmux_idle>;
310
311                 hdmi_ddc: i2c@0 {
312                         reg = <0>;
313                         #address-cells = <1>;
314                         #size-cells = <0>;
315                 };
316
317                 i2c@1 {
318                         reg = <1>;
319                         #address-cells = <1>;
320                         #size-cells = <0>;
321                 };
322         };
323
324         i2c@7000d000 {
325                 clock-frequency = <400000>;
326                 status = "okay";
327
328                 pmic: tps6586x@34 {
329                         compatible = "ti,tps6586x";
330                         reg = <0x34>;
331                         interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
332
333                         ti,system-power-controller;
334
335                         #gpio-cells = <2>;
336                         gpio-controller;
337
338                         /* vdd_5v0_reg must be provided by the base board */
339                         sys-supply = <&vdd_5v0_reg>;
340                         vin-sm0-supply = <&sys_reg>;
341                         vin-sm1-supply = <&sys_reg>;
342                         vin-sm2-supply = <&sys_reg>;
343                         vinldo01-supply = <&sm2_reg>;
344                         vinldo23-supply = <&sm2_reg>;
345                         vinldo4-supply = <&sm2_reg>;
346                         vinldo678-supply = <&sm2_reg>;
347                         vinldo9-supply = <&sm2_reg>;
348
349                         regulators {
350                                 sys_reg: sys {
351                                         regulator-name = "vdd_sys";
352                                         regulator-always-on;
353                                 };
354
355                                 sm0 {
356                                         regulator-name = "vdd_sys_sm0,vdd_core";
357                                         regulator-min-microvolt = <1200000>;
358                                         regulator-max-microvolt = <1200000>;
359                                         regulator-always-on;
360                                 };
361
362                                 sm1 {
363                                         regulator-name = "vdd_sys_sm1,vdd_cpu";
364                                         regulator-min-microvolt = <1000000>;
365                                         regulator-max-microvolt = <1000000>;
366                                         regulator-always-on;
367                                 };
368
369                                 sm2_reg: sm2 {
370                                         regulator-name = "vdd_sys_sm2,vin_ldo*";
371                                         regulator-min-microvolt = <3700000>;
372                                         regulator-max-microvolt = <3700000>;
373                                         regulator-always-on;
374                                 };
375
376                                 pci_clk_reg: ldo0 {
377                                         regulator-name = "vdd_ldo0,vddio_pex_clk";
378                                         regulator-min-microvolt = <3300000>;
379                                         regulator-max-microvolt = <3300000>;
380                                 };
381
382                                 ldo1 {
383                                         regulator-name = "vdd_ldo1,avdd_pll*";
384                                         regulator-min-microvolt = <1100000>;
385                                         regulator-max-microvolt = <1100000>;
386                                         regulator-always-on;
387                                 };
388
389                                 ldo2 {
390                                         regulator-name = "vdd_ldo2,vdd_rtc";
391                                         regulator-min-microvolt = <1200000>;
392                                         regulator-max-microvolt = <1200000>;
393                                 };
394
395                                 ldo3 {
396                                         regulator-name = "vdd_ldo3,avdd_usb*";
397                                         regulator-min-microvolt = <3300000>;
398                                         regulator-max-microvolt = <3300000>;
399                                         regulator-always-on;
400                                 };
401
402                                 ldo4 {
403                                         regulator-name = "vdd_ldo4,avdd_osc,vddio_sys";
404                                         regulator-min-microvolt = <1800000>;
405                                         regulator-max-microvolt = <1800000>;
406                                         regulator-always-on;
407                                 };
408
409                                 ldo5 {
410                                         regulator-name = "vdd_ldo5,vcore_mmc";
411                                         regulator-min-microvolt = <2850000>;
412                                         regulator-max-microvolt = <2850000>;
413                                 };
414
415                                 ldo6 {
416                                         regulator-name = "vdd_ldo6,avdd_vdac";
417                                         /*
418                                          * According to the Tegra 2 Automotive
419                                          * DataSheet, a typical value for this
420                                          * would be 2.8V, but the PMIC only
421                                          * supports 2.85V.
422                                          */
423                                         regulator-min-microvolt = <2850000>;
424                                         regulator-max-microvolt = <2850000>;
425                                 };
426
427                                 hdmi_vdd_reg: ldo7 {
428                                         regulator-name = "vdd_ldo7,avdd_hdmi";
429                                         regulator-min-microvolt = <3300000>;
430                                         regulator-max-microvolt = <3300000>;
431                                 };
432
433                                 hdmi_pll_reg: ldo8 {
434                                         regulator-name = "vdd_ldo8,avdd_hdmi_pll";
435                                         regulator-min-microvolt = <1800000>;
436                                         regulator-max-microvolt = <1800000>;
437                                 };
438
439                                 ldo9 {
440                                         regulator-name = "vdd_ldo9,vdd_ddr_rx,avdd_cam";
441                                         /*
442                                          * According to the Tegra 2 Automotive
443                                          * DataSheet, a typical value for this
444                                          * would be 2.8V, but the PMIC only
445                                          * supports 2.85V.
446                                          */
447                                         regulator-min-microvolt = <2850000>;
448                                         regulator-max-microvolt = <2850000>;
449                                         regulator-always-on;
450                                 };
451
452                                 ldo_rtc {
453                                         regulator-name = "vdd_rtc_out";
454                                         regulator-min-microvolt = <3300000>;
455                                         regulator-max-microvolt = <3300000>;
456                                         regulator-always-on;
457                                 };
458                         };
459                 };
460
461                 temperature-sensor@4c {
462                         compatible = "onnn,nct1008";
463                         reg = <0x4c>;
464                 };
465         };
466
467         pmc@7000e400 {
468                 nvidia,invert-interrupt;
469                 nvidia,suspend-mode = <1>;
470                 nvidia,cpu-pwr-good-time = <5000>;
471                 nvidia,cpu-pwr-off-time = <5000>;
472                 nvidia,core-pwr-good-time = <3845 3845>;
473                 nvidia,core-pwr-off-time = <3875>;
474                 nvidia,sys-clock-req-active-high;
475         };
476
477         pcie-controller@80003000 {
478                 avdd-pex-supply = <&pci_vdd_reg>;
479                 vdd-pex-supply = <&pci_vdd_reg>;
480                 avdd-pex-pll-supply = <&pci_vdd_reg>;
481                 avdd-plle-supply = <&pci_vdd_reg>;
482                 vddio-pex-clk-supply = <&pci_clk_reg>;
483         };
484
485         usb@c5008000 {
486                 status = "okay";
487         };
488
489         usb-phy@c5008000 {
490                 status = "okay";
491         };
492
493         sdhci@c8000600 {
494                 cd-gpios = <&gpio TEGRA_GPIO(H, 2) GPIO_ACTIVE_LOW>;
495                 wp-gpios = <&gpio TEGRA_GPIO(H, 3) GPIO_ACTIVE_HIGH>;
496                 bus-width = <4>;
497                 status = "okay";
498         };
499
500         clocks {
501                 compatible = "simple-bus";
502                 #address-cells = <1>;
503                 #size-cells = <0>;
504
505                 clk32k_in: clock@0 {
506                         compatible = "fixed-clock";
507                         reg=<0>;
508                         #clock-cells = <0>;
509                         clock-frequency = <32768>;
510                 };
511         };
512
513         regulators {
514                 compatible = "simple-bus";
515
516                 #address-cells = <1>;
517                 #size-cells = <0>;
518
519                 pci_vdd_reg: regulator@1 {
520                         compatible = "regulator-fixed";
521                         reg = <1>;
522                         regulator-name = "vdd_1v05";
523                         regulator-min-microvolt = <1050000>;
524                         regulator-max-microvolt = <1050000>;
525                         gpio = <&pmic 2 0>;
526                         enable-active-high;
527                 };
528         };
529 };