tegra: dts: Sync tegra20 device tree files with Linux
[oweals/u-boot.git] / arch / arm / dts / tegra20-seaboard.dts
1 /dts-v1/;
2
3 #include <dt-bindings/input/input.h>
4 #include "tegra20.dtsi"
5
6 / {
7         model = "NVIDIA Seaboard";
8         compatible = "nvidia,seaboard", "nvidia,tegra20";
9
10         aliases {
11                 /* This defines the order of our ports */
12                 usb0 = "/usb@c5008000";
13                 usb1 = "/usb@c5000000";
14                 i2c0 = "/i2c@7000d000";
15                 i2c1 = "/i2c@7000c000";
16                 i2c2 = "/i2c@7000c400";
17                 i2c3 = "/i2c@7000c500";
18                 rtc0 = "/i2c@7000d000/tps6586x@34";
19                 rtc1 = "/rtc@7000e000";
20                 serial0 = &uartd;
21                 sdhci0 = "/sdhci@c8000600";
22                 sdhci1 = "/sdhci@c8000400";
23         };
24
25         chosen {
26                 bootargs = "vmalloc=192M video=tegrafb console=ttyS0,115200n8 root=/dev/mmcblk1p3 rw rootwait";
27         };
28
29         chosen {
30                 stdout-path = &uartd;
31         };
32
33         memory {
34                 reg = <0x00000000 0x40000000>;
35         };
36
37         host1x@50000000 {
38                 status = "okay";
39                 dc@54200000 {
40                         status = "okay";
41                         rgb {
42                                 status = "okay";
43
44                                 nvidia,panel = <&panel>;
45                         };
46                 };
47
48                 hdmi@54280000 {
49                         status = "okay";
50
51                         vdd-supply = <&hdmi_vdd_reg>;
52                         pll-supply = <&hdmi_pll_reg>;
53                         hdmi-supply = <&vdd_hdmi>;
54
55                         nvidia,ddc-i2c-bus = <&hdmi_ddc>;
56                         nvidia,hpd-gpio = <&gpio TEGRA_GPIO(N, 7)
57                                 GPIO_ACTIVE_HIGH>;
58                 };
59         };
60
61         pinmux@70000014 {
62                 pinctrl-names = "default";
63                 pinctrl-0 = <&state_default>;
64
65                 state_default: pinmux {
66                         ata {
67                                 nvidia,pins = "ata";
68                                 nvidia,function = "ide";
69                         };
70                         atb {
71                                 nvidia,pins = "atb", "gma", "gme";
72                                 nvidia,function = "sdio4";
73                         };
74                         atc {
75                                 nvidia,pins = "atc";
76                                 nvidia,function = "nand";
77                         };
78                         atd {
79                                 nvidia,pins = "atd", "ate", "gmb", "spia",
80                                         "spib", "spic";
81                                 nvidia,function = "gmi";
82                         };
83                         cdev1 {
84                                 nvidia,pins = "cdev1";
85                                 nvidia,function = "plla_out";
86                         };
87                         cdev2 {
88                                 nvidia,pins = "cdev2";
89                                 nvidia,function = "pllp_out4";
90                         };
91                         crtp {
92                                 nvidia,pins = "crtp", "lm1";
93                                 nvidia,function = "crt";
94                         };
95                         csus {
96                                 nvidia,pins = "csus";
97                                 nvidia,function = "vi_sensor_clk";
98                         };
99                         dap1 {
100                                 nvidia,pins = "dap1";
101                                 nvidia,function = "dap1";
102                         };
103                         dap2 {
104                                 nvidia,pins = "dap2";
105                                 nvidia,function = "dap2";
106                         };
107                         dap3 {
108                                 nvidia,pins = "dap3";
109                                 nvidia,function = "dap3";
110                         };
111                         dap4 {
112                                 nvidia,pins = "dap4";
113                                 nvidia,function = "dap4";
114                         };
115                         dta {
116                                 nvidia,pins = "dta", "dtb", "dtc", "dtd", "dte";
117                                 nvidia,function = "vi";
118                         };
119                         dtf {
120                                 nvidia,pins = "dtf";
121                                 nvidia,function = "i2c3";
122                         };
123                         gmc {
124                                 nvidia,pins = "gmc";
125                                 nvidia,function = "uartd";
126                         };
127                         gmd {
128                                 nvidia,pins = "gmd";
129                                 nvidia,function = "sflash";
130                         };
131                         gpu {
132                                 nvidia,pins = "gpu";
133                                 nvidia,function = "pwm";
134                         };
135                         gpu7 {
136                                 nvidia,pins = "gpu7";
137                                 nvidia,function = "rtck";
138                         };
139                         gpv {
140                                 nvidia,pins = "gpv", "slxa", "slxk";
141                                 nvidia,function = "pcie";
142                         };
143                         hdint {
144                                 nvidia,pins = "hdint", "lpw0", "lpw2", "lsc1",
145                                         "lsck", "lsda";
146                                 nvidia,function = "hdmi";
147                         };
148                         i2cp {
149                                 nvidia,pins = "i2cp";
150                                 nvidia,function = "i2cp";
151                         };
152                         irrx {
153                                 nvidia,pins = "irrx", "irtx";
154                                 nvidia,function = "uartb";
155                         };
156                         kbca {
157                                 nvidia,pins = "kbca", "kbcb", "kbcc", "kbcd",
158                                         "kbce", "kbcf";
159                                 nvidia,function = "kbc";
160                         };
161                         lcsn {
162                                 nvidia,pins = "lcsn", "ldc", "lm0", "lpw1",
163                                         "lsdi", "lvp0";
164                                 nvidia,function = "rsvd4";
165                         };
166                         ld0 {
167                                 nvidia,pins = "ld0", "ld1", "ld2", "ld3", "ld4",
168                                         "ld5", "ld6", "ld7", "ld8", "ld9",
169                                         "ld10", "ld11", "ld12", "ld13", "ld14",
170                                         "ld15", "ld16", "ld17", "ldi", "lhp0",
171                                         "lhp1", "lhp2", "lhs", "lpp", "lsc0",
172                                         "lspi", "lvp1", "lvs";
173                                 nvidia,function = "displaya";
174                         };
175                         owc {
176                                 nvidia,pins = "owc", "spdi", "spdo", "uac";
177                                 nvidia,function = "rsvd2";
178                         };
179                         pmc {
180                                 nvidia,pins = "pmc";
181                                 nvidia,function = "pwr_on";
182                         };
183                         rm {
184                                 nvidia,pins = "rm";
185                                 nvidia,function = "i2c1";
186                         };
187                         sdb {
188                                 nvidia,pins = "sdb", "sdc", "sdd";
189                                 nvidia,function = "sdio3";
190                         };
191                         sdio1 {
192                                 nvidia,pins = "sdio1";
193                                 nvidia,function = "sdio1";
194                         };
195                         slxc {
196                                 nvidia,pins = "slxc", "slxd";
197                                 nvidia,function = "spdif";
198                         };
199                         spid {
200                                 nvidia,pins = "spid", "spie", "spif";
201                                 nvidia,function = "spi1";
202                         };
203                         spig {
204                                 nvidia,pins = "spig", "spih";
205                                 nvidia,function = "spi2_alt";
206                         };
207                         uaa {
208                                 nvidia,pins = "uaa", "uab", "uda";
209                                 nvidia,function = "ulpi";
210                         };
211                         uad {
212                                 nvidia,pins = "uad";
213                                 nvidia,function = "irda";
214                         };
215                         uca {
216                                 nvidia,pins = "uca", "ucb";
217                                 nvidia,function = "uartc";
218                         };
219                         conf_ata {
220                                 nvidia,pins = "ata", "atb", "atc", "atd",
221                                         "cdev1", "cdev2", "dap1", "dap2",
222                                         "dap4", "ddc", "dtf", "gma", "gmc", "gmd",
223                                         "gme", "gpu", "gpu7", "i2cp", "irrx",
224                                         "irtx", "pta", "rm", "sdc", "sdd",
225                                         "slxd", "slxk", "spdi", "spdo", "uac",
226                                         "uad", "uca", "ucb", "uda";
227                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
228                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
229                         };
230                         conf_ate {
231                                 nvidia,pins = "ate", "csus", "dap3",
232                                         "gpv", "owc", "slxc", "spib", "spid",
233                                         "spie";
234                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
235                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
236                         };
237                         conf_ck32 {
238                                 nvidia,pins = "ck32", "ddrc", "pmca", "pmcb",
239                                         "pmcc", "pmcd", "pmce", "xm2c", "xm2d";
240                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
241                         };
242                         conf_crtp {
243                                 nvidia,pins = "crtp", "gmb", "slxa", "spia",
244                                         "spig", "spih";
245                                 nvidia,pull = <TEGRA_PIN_PULL_UP>;
246                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
247                         };
248                         conf_dta {
249                                 nvidia,pins = "dta", "dtb", "dtc", "dtd";
250                                 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
251                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
252                         };
253                         conf_dte {
254                                 nvidia,pins = "dte", "spif";
255                                 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
256                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
257                         };
258                         conf_hdint {
259                                 nvidia,pins = "hdint", "lcsn", "ldc", "lm1",
260                                         "lpw1", "lsc1", "lsck", "lsda", "lsdi",
261                                         "lvp0";
262                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
263                         };
264                         conf_kbca {
265                                 nvidia,pins = "kbca", "kbcb", "kbcc", "kbcd",
266                                         "kbce", "kbcf", "sdio1", "spic", "uaa",
267                                         "uab";
268                                 nvidia,pull = <TEGRA_PIN_PULL_UP>;
269                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
270                         };
271                         conf_lc {
272                                 nvidia,pins = "lc", "ls";
273                                 nvidia,pull = <TEGRA_PIN_PULL_UP>;
274                         };
275                         conf_ld0 {
276                                 nvidia,pins = "ld0", "ld1", "ld2", "ld3", "ld4",
277                                         "ld5", "ld6", "ld7", "ld8", "ld9",
278                                         "ld10", "ld11", "ld12", "ld13", "ld14",
279                                         "ld15", "ld16", "ld17", "ldi", "lhp0",
280                                         "lhp1", "lhp2", "lhs", "lm0", "lpp",
281                                         "lpw0", "lpw2", "lsc0", "lspi", "lvp1",
282                                         "lvs", "pmc", "sdb";
283                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
284                         };
285                         conf_ld17_0 {
286                                 nvidia,pins = "ld17_0", "ld19_18", "ld21_20",
287                                         "ld23_22";
288                                 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
289                         };
290                         drive_sdio1 {
291                                 nvidia,pins = "drive_sdio1";
292                                 nvidia,high-speed-mode = <TEGRA_PIN_DISABLE>;
293                                 nvidia,schmitt = <TEGRA_PIN_DISABLE>;
294                                 nvidia,low-power-mode = <TEGRA_PIN_LP_DRIVE_DIV_1>;
295                                 nvidia,pull-down-strength = <31>;
296                                 nvidia,pull-up-strength = <31>;
297                                 nvidia,slew-rate-rising = <TEGRA_PIN_SLEW_RATE_SLOWEST>;
298                                 nvidia,slew-rate-falling = <TEGRA_PIN_SLEW_RATE_SLOWEST>;
299                         };
300                 };
301
302                 state_i2cmux_ddc: pinmux_i2cmux_ddc {
303                         ddc {
304                                 nvidia,pins = "ddc";
305                                 nvidia,function = "i2c2";
306                         };
307                         pta {
308                                 nvidia,pins = "pta";
309                                 nvidia,function = "rsvd4";
310                         };
311                 };
312
313                 state_i2cmux_pta: pinmux_i2cmux_pta {
314                         ddc {
315                                 nvidia,pins = "ddc";
316                                 nvidia,function = "rsvd4";
317                         };
318                         pta {
319                                 nvidia,pins = "pta";
320                                 nvidia,function = "i2c2";
321                         };
322                 };
323
324                 state_i2cmux_idle: pinmux_i2cmux_idle {
325                         ddc {
326                                 nvidia,pins = "ddc";
327                                 nvidia,function = "rsvd4";
328                         };
329                         pta {
330                                 nvidia,pins = "pta";
331                                 nvidia,function = "rsvd4";
332                         };
333                 };
334         };
335
336         i2s@70002800 {
337                 status = "okay";
338         };
339
340         serial@70006300 {
341                 status = "okay";
342                 clock-frequency = < 216000000 >;
343         };
344
345         nand-controller@70008000 {
346                 nvidia,wp-gpios = <&gpio TEGRA_GPIO(H, 3) GPIO_ACTIVE_HIGH>;
347                 nvidia,width = <8>;
348                 nvidia,timing = <26 100 20 80 20 10 12 10 70>;
349                 nand@0 {
350                         reg = <0>;
351                         compatible = "hynix,hy27uf4g2b", "nand-flash";
352                 };
353         };
354
355         pwm: pwm@7000a000 {
356                 status = "okay";
357         };
358
359         i2c@7000c000 {
360                 status = "okay";
361                 clock-frequency = <400000>;
362
363                 wm8903: wm8903@1a {
364                         compatible = "wlf,wm8903";
365                         reg = <0x1a>;
366                         interrupt-parent = <&gpio>;
367                         interrupts = <TEGRA_GPIO(X, 3) IRQ_TYPE_LEVEL_HIGH>;
368
369                         gpio-controller;
370                         #gpio-cells = <2>;
371
372                         micdet-cfg = <0>;
373                         micdet-delay = <100>;
374                         gpio-cfg = <0xffffffff 0xffffffff 0 0xffffffff 0xffffffff>;
375                 };
376
377                 /* ALS and proximity sensor */
378                 isl29018@44 {
379                         compatible = "isil,isl29018";
380                         reg = <0x44>;
381                         interrupt-parent = <&gpio>;
382                         interrupts = <TEGRA_GPIO(Z, 2) IRQ_TYPE_LEVEL_HIGH>;
383                 };
384
385                 gyrometer@68 {
386                         compatible = "invn,mpu3050";
387                         reg = <0x68>;
388                         interrupt-parent = <&gpio>;
389                         interrupts = <TEGRA_GPIO(Z, 4) IRQ_TYPE_LEVEL_HIGH>;
390                 };
391         };
392
393         i2c@7000c400 {
394                 status = "okay";
395                 clock-frequency = <100000>;
396         };
397
398         i2cmux {
399                 compatible = "i2c-mux-pinctrl";
400                 #address-cells = <1>;
401                 #size-cells = <0>;
402
403                 i2c-parent = <&{/i2c@7000c400}>;
404
405                 pinctrl-names = "ddc", "pta", "idle";
406                 pinctrl-0 = <&state_i2cmux_ddc>;
407                 pinctrl-1 = <&state_i2cmux_pta>;
408                 pinctrl-2 = <&state_i2cmux_idle>;
409
410                 hdmi_ddc: i2c@0 {
411                         reg = <0>;
412                         #address-cells = <1>;
413                         #size-cells = <0>;
414                 };
415
416                 lvds_ddc: i2c@1 {
417                         reg = <1>;
418                         #address-cells = <1>;
419                         #size-cells = <0>;
420
421                         smart-battery@b {
422                                 compatible = "ti,bq20z75", "smart-battery-1.1";
423                                 reg = <0xb>;
424                                 ti,i2c-retry-count = <2>;
425                                 ti,poll-retry-count = <10>;
426                         };
427                 };
428         };
429
430         i2c@7000c500 {
431                 status = "okay";
432                 clock-frequency = <400000>;
433         };
434
435         i2c@7000d000 {
436                 status = "okay";
437                 clock-frequency = <400000>;
438
439                 magnetometer@c {
440                         compatible = "asahi-kasei,ak8975";
441                         reg = <0xc>;
442                         interrupt-parent = <&gpio>;
443                         interrupts = <TEGRA_GPIO(N, 5) IRQ_TYPE_LEVEL_HIGH>;
444                 };
445
446                 pmic: tps6586x@34 {
447                         compatible = "ti,tps6586x";
448                         reg = <0x34>;
449                         interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
450
451                         ti,system-power-controller;
452
453                         #gpio-cells = <2>;
454                         gpio-controller;
455
456                         sys-supply = <&vdd_5v0_reg>;
457                         vin-sm0-supply = <&sys_reg>;
458                         vin-sm1-supply = <&sys_reg>;
459                         vin-sm2-supply = <&sys_reg>;
460                         vinldo01-supply = <&sm2_reg>;
461                         vinldo23-supply = <&sm2_reg>;
462                         vinldo4-supply = <&sm2_reg>;
463                         vinldo678-supply = <&sm2_reg>;
464                         vinldo9-supply = <&sm2_reg>;
465
466                         regulators {
467                                 sys_reg: sys {
468                                         regulator-name = "vdd_sys";
469                                         regulator-always-on;
470                                 };
471
472                                 sm0 {
473                                         regulator-name = "vdd_sm0,vdd_core";
474                                         regulator-min-microvolt = <1300000>;
475                                         regulator-max-microvolt = <1300000>;
476                                         regulator-always-on;
477                                 };
478
479                                 sm1 {
480                                         regulator-name = "vdd_sm1,vdd_cpu";
481                                         regulator-min-microvolt = <1125000>;
482                                         regulator-max-microvolt = <1125000>;
483                                         regulator-always-on;
484                                 };
485
486                                 sm2_reg: sm2 {
487                                         regulator-name = "vdd_sm2,vin_ldo*";
488                                         regulator-min-microvolt = <3700000>;
489                                         regulator-max-microvolt = <3700000>;
490                                         regulator-always-on;
491                                 };
492
493                                 /* LDO0 is not connected to anything */
494
495                                 ldo1 {
496                                         regulator-name = "vdd_ldo1,avdd_pll*";
497                                         regulator-min-microvolt = <1100000>;
498                                         regulator-max-microvolt = <1100000>;
499                                         regulator-always-on;
500                                 };
501
502                                 ldo2 {
503                                         regulator-name = "vdd_ldo2,vdd_rtc";
504                                         regulator-min-microvolt = <1200000>;
505                                         regulator-max-microvolt = <1200000>;
506                                 };
507
508                                 ldo3 {
509                                         regulator-name = "vdd_ldo3,avdd_usb*";
510                                         regulator-min-microvolt = <3300000>;
511                                         regulator-max-microvolt = <3300000>;
512                                         regulator-always-on;
513                                 };
514
515                                 ldo4 {
516                                         regulator-name = "vdd_ldo4,avdd_osc,vddio_sys";
517                                         regulator-min-microvolt = <1800000>;
518                                         regulator-max-microvolt = <1800000>;
519                                         regulator-always-on;
520                                 };
521
522                                 ldo5 {
523                                         regulator-name = "vdd_ldo5,vcore_mmc";
524                                         regulator-min-microvolt = <2850000>;
525                                         regulator-max-microvolt = <2850000>;
526                                         regulator-always-on;
527                                 };
528
529                                 ldo6 {
530                                         regulator-name = "vdd_ldo6,avdd_vdac,vddio_vi,vddio_cam";
531                                         regulator-min-microvolt = <1800000>;
532                                         regulator-max-microvolt = <1800000>;
533                                 };
534
535                                 hdmi_vdd_reg: ldo7 {
536                                         regulator-name = "vdd_ldo7,avdd_hdmi,vdd_fuse";
537                                         regulator-min-microvolt = <3300000>;
538                                         regulator-max-microvolt = <3300000>;
539                                 };
540
541                                 hdmi_pll_reg: ldo8 {
542                                         regulator-name = "vdd_ldo8,avdd_hdmi_pll";
543                                         regulator-min-microvolt = <1800000>;
544                                         regulator-max-microvolt = <1800000>;
545                                 };
546
547                                 ldo9 {
548                                         regulator-name = "vdd_ldo9,avdd_2v85,vdd_ddr_rx";
549                                         regulator-min-microvolt = <2850000>;
550                                         regulator-max-microvolt = <2850000>;
551                                         regulator-always-on;
552                                 };
553
554                                 ldo_rtc {
555                                         regulator-name = "vdd_rtc_out,vdd_cell";
556                                         regulator-min-microvolt = <3300000>;
557                                         regulator-max-microvolt = <3300000>;
558                                         regulator-always-on;
559                                 };
560                         };
561                 };
562
563                 temperature-sensor@4c {
564                         compatible = "onnn,nct1008";
565                         reg = <0x4c>;
566                 };
567         };
568
569         kbc@7000e200 {
570                 status = "okay";
571                 nvidia,debounce-delay-ms = <32>;
572                 nvidia,repeat-delay-ms = <160>;
573                 nvidia,ghost-filter;
574                 nvidia,kbc-row-pins = <0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15>;
575                 nvidia,kbc-col-pins = <16 17 18 19 20 21 22 23>;
576                 linux,keymap = <MATRIX_KEY(0x00, 0x02, KEY_W)
577                                 MATRIX_KEY(0x00, 0x03, KEY_S)
578                                 MATRIX_KEY(0x00, 0x04, KEY_A)
579                                 MATRIX_KEY(0x00, 0x05, KEY_Z)
580                                 MATRIX_KEY(0x00, 0x07, KEY_FN)
581
582                                 MATRIX_KEY(0x01, 0x07, KEY_LEFTMETA)
583                                 MATRIX_KEY(0x02, 0x06, KEY_RIGHTALT)
584                                 MATRIX_KEY(0x02, 0x07, KEY_LEFTALT)
585
586                                 MATRIX_KEY(0x03, 0x00, KEY_5)
587                                 MATRIX_KEY(0x03, 0x01, KEY_4)
588                                 MATRIX_KEY(0x03, 0x02, KEY_R)
589                                 MATRIX_KEY(0x03, 0x03, KEY_E)
590                                 MATRIX_KEY(0x03, 0x04, KEY_F)
591                                 MATRIX_KEY(0x03, 0x05, KEY_D)
592                                 MATRIX_KEY(0x03, 0x06, KEY_X)
593
594                                 MATRIX_KEY(0x04, 0x00, KEY_7)
595                                 MATRIX_KEY(0x04, 0x01, KEY_6)
596                                 MATRIX_KEY(0x04, 0x02, KEY_T)
597                                 MATRIX_KEY(0x04, 0x03, KEY_H)
598                                 MATRIX_KEY(0x04, 0x04, KEY_G)
599                                 MATRIX_KEY(0x04, 0x05, KEY_V)
600                                 MATRIX_KEY(0x04, 0x06, KEY_C)
601                                 MATRIX_KEY(0x04, 0x07, KEY_SPACE)
602
603                                 MATRIX_KEY(0x05, 0x00, KEY_9)
604                                 MATRIX_KEY(0x05, 0x01, KEY_8)
605                                 MATRIX_KEY(0x05, 0x02, KEY_U)
606                                 MATRIX_KEY(0x05, 0x03, KEY_Y)
607                                 MATRIX_KEY(0x05, 0x04, KEY_J)
608                                 MATRIX_KEY(0x05, 0x05, KEY_N)
609                                 MATRIX_KEY(0x05, 0x06, KEY_B)
610                                 MATRIX_KEY(0x05, 0x07, KEY_BACKSLASH)
611
612                                 MATRIX_KEY(0x06, 0x00, KEY_MINUS)
613                                 MATRIX_KEY(0x06, 0x01, KEY_0)
614                                 MATRIX_KEY(0x06, 0x02, KEY_O)
615                                 MATRIX_KEY(0x06, 0x03, KEY_I)
616                                 MATRIX_KEY(0x06, 0x04, KEY_L)
617                                 MATRIX_KEY(0x06, 0x05, KEY_K)
618                                 MATRIX_KEY(0x06, 0x06, KEY_COMMA)
619                                 MATRIX_KEY(0x06, 0x07, KEY_M)
620
621                                 MATRIX_KEY(0x07, 0x01, KEY_EQUAL)
622                                 MATRIX_KEY(0x07, 0x02, KEY_RIGHTBRACE)
623                                 MATRIX_KEY(0x07, 0x03, KEY_ENTER)
624                                 MATRIX_KEY(0x07, 0x07, KEY_MENU)
625
626                                 MATRIX_KEY(0x08, 0x04, KEY_RIGHTSHIFT)
627                                 MATRIX_KEY(0x08, 0x05, KEY_LEFTSHIFT)
628
629                                 MATRIX_KEY(0x09, 0x05, KEY_RIGHTCTRL)
630                                 MATRIX_KEY(0x09, 0x07, KEY_LEFTCTRL)
631
632                                 MATRIX_KEY(0x0B, 0x00, KEY_LEFTBRACE)
633                                 MATRIX_KEY(0x0B, 0x01, KEY_P)
634                                 MATRIX_KEY(0x0B, 0x02, KEY_APOSTROPHE)
635                                 MATRIX_KEY(0x0B, 0x03, KEY_SEMICOLON)
636                                 MATRIX_KEY(0x0B, 0x04, KEY_SLASH)
637                                 MATRIX_KEY(0x0B, 0x05, KEY_DOT)
638
639                                 MATRIX_KEY(0x0C, 0x00, KEY_F10)
640                                 MATRIX_KEY(0x0C, 0x01, KEY_F9)
641                                 MATRIX_KEY(0x0C, 0x02, KEY_BACKSPACE)
642                                 MATRIX_KEY(0x0C, 0x03, KEY_3)
643                                 MATRIX_KEY(0x0C, 0x04, KEY_2)
644                                 MATRIX_KEY(0x0C, 0x05, KEY_UP)
645                                 MATRIX_KEY(0x0C, 0x06, KEY_PRINT)
646                                 MATRIX_KEY(0x0C, 0x07, KEY_PAUSE)
647
648                                 MATRIX_KEY(0x0D, 0x00, KEY_INSERT)
649                                 MATRIX_KEY(0x0D, 0x01, KEY_DELETE)
650                                 MATRIX_KEY(0x0D, 0x03, KEY_PAGEUP )
651                                 MATRIX_KEY(0x0D, 0x04, KEY_PAGEDOWN)
652                                 MATRIX_KEY(0x0D, 0x05, KEY_RIGHT)
653                                 MATRIX_KEY(0x0D, 0x06, KEY_DOWN)
654                                 MATRIX_KEY(0x0D, 0x07, KEY_LEFT)
655
656                                 MATRIX_KEY(0x0E, 0x00, KEY_F11)
657                                 MATRIX_KEY(0x0E, 0x01, KEY_F12)
658                                 MATRIX_KEY(0x0E, 0x02, KEY_F8)
659                                 MATRIX_KEY(0x0E, 0x03, KEY_Q)
660                                 MATRIX_KEY(0x0E, 0x04, KEY_F4)
661                                 MATRIX_KEY(0x0E, 0x05, KEY_F3)
662                                 MATRIX_KEY(0x0E, 0x06, KEY_1)
663                                 MATRIX_KEY(0x0E, 0x07, KEY_F7)
664
665                                 MATRIX_KEY(0x0F, 0x00, KEY_ESC)
666                                 MATRIX_KEY(0x0F, 0x01, KEY_GRAVE)
667                                 MATRIX_KEY(0x0F, 0x02, KEY_F5)
668                                 MATRIX_KEY(0x0F, 0x03, KEY_TAB)
669                                 MATRIX_KEY(0x0F, 0x04, KEY_F1)
670                                 MATRIX_KEY(0x0F, 0x05, KEY_F2)
671                                 MATRIX_KEY(0x0F, 0x06, KEY_CAPSLOCK)
672                                 MATRIX_KEY(0x0F, 0x07, KEY_F6)
673
674                                 /* Software Handled Function Keys */
675                                 MATRIX_KEY(0x14, 0x00, KEY_KP7)
676
677                                 MATRIX_KEY(0x15, 0x00, KEY_KP9)
678                                 MATRIX_KEY(0x15, 0x01, KEY_KP8)
679                                 MATRIX_KEY(0x15, 0x02, KEY_KP4)
680                                 MATRIX_KEY(0x15, 0x04, KEY_KP1)
681
682                                 MATRIX_KEY(0x16, 0x01, KEY_KPSLASH)
683                                 MATRIX_KEY(0x16, 0x02, KEY_KP6)
684                                 MATRIX_KEY(0x16, 0x03, KEY_KP5)
685                                 MATRIX_KEY(0x16, 0x04, KEY_KP3)
686                                 MATRIX_KEY(0x16, 0x05, KEY_KP2)
687                                 MATRIX_KEY(0x16, 0x07, KEY_KP0)
688
689                                 MATRIX_KEY(0x1B, 0x01, KEY_KPASTERISK)
690                                 MATRIX_KEY(0x1B, 0x03, KEY_KPMINUS)
691                                 MATRIX_KEY(0x1B, 0x04, KEY_KPPLUS)
692                                 MATRIX_KEY(0x1B, 0x05, KEY_KPDOT)
693
694                                 MATRIX_KEY(0x1C, 0x05, KEY_VOLUMEUP)
695
696                                 MATRIX_KEY(0x1D, 0x03, KEY_HOME)
697                                 MATRIX_KEY(0x1D, 0x04, KEY_END)
698                                 MATRIX_KEY(0x1D, 0x05, KEY_BRIGHTNESSDOWN)
699                                 MATRIX_KEY(0x1D, 0x06, KEY_VOLUMEDOWN)
700                                 MATRIX_KEY(0x1D, 0x07, KEY_BRIGHTNESSUP)
701
702                                 MATRIX_KEY(0x1E, 0x00, KEY_NUMLOCK)
703                                 MATRIX_KEY(0x1E, 0x01, KEY_SCROLLLOCK)
704                                 MATRIX_KEY(0x1E, 0x02, KEY_MUTE)
705
706                                 MATRIX_KEY(0x1F, 0x04, KEY_HELP)>;
707         };
708
709         pmc@7000e400 {
710                 nvidia,invert-interrupt;
711                 nvidia,suspend-mode = <1>;
712                 nvidia,cpu-pwr-good-time = <5000>;
713                 nvidia,cpu-pwr-off-time = <5000>;
714                 nvidia,core-pwr-good-time = <3845 3845>;
715                 nvidia,core-pwr-off-time = <3875>;
716                 nvidia,sys-clock-req-active-high;
717         };
718
719         memory-controller@7000f400 {
720                 emc-table@190000 {
721                         reg = <190000>;
722                         compatible = "nvidia,tegra20-emc-table";
723                         clock-frequency = <190000>;
724                         nvidia,emc-registers = <0x0000000c 0x00000026
725                                 0x00000009 0x00000003 0x00000004 0x00000004
726                                 0x00000002 0x0000000c 0x00000003 0x00000003
727                                 0x00000002 0x00000001 0x00000004 0x00000005
728                                 0x00000004 0x00000009 0x0000000d 0x0000059f
729                                 0x00000000 0x00000003 0x00000003 0x00000003
730                                 0x00000003 0x00000001 0x0000000b 0x000000c8
731                                 0x00000003 0x00000007 0x00000004 0x0000000f
732                                 0x00000002 0x00000000 0x00000000 0x00000002
733                                 0x00000000 0x00000000 0x00000083 0xa06204ae
734                                 0x007dc010 0x00000000 0x00000000 0x00000000
735                                 0x00000000 0x00000000 0x00000000 0x00000000>;
736                 };
737
738                 emc-table@380000 {
739                         reg = <380000>;
740                         compatible = "nvidia,tegra20-emc-table";
741                         clock-frequency = <380000>;
742                         nvidia,emc-registers = <0x00000017 0x0000004b
743                                 0x00000012 0x00000006 0x00000004 0x00000005
744                                 0x00000003 0x0000000c 0x00000006 0x00000006
745                                 0x00000003 0x00000001 0x00000004 0x00000005
746                                 0x00000004 0x00000009 0x0000000d 0x00000b5f
747                                 0x00000000 0x00000003 0x00000003 0x00000006
748                                 0x00000006 0x00000001 0x00000011 0x000000c8
749                                 0x00000003 0x0000000e 0x00000007 0x0000000f
750                                 0x00000002 0x00000000 0x00000000 0x00000002
751                                 0x00000000 0x00000000 0x00000083 0xe044048b
752                                 0x007d8010 0x00000000 0x00000000 0x00000000
753                                 0x00000000 0x00000000 0x00000000 0x00000000>;
754                 };
755         };
756
757         usb@c5000000 {
758                 status = "okay";
759                 nvidia,vbus-gpio = <&gpio TEGRA_GPIO(D, 0) GPIO_ACTIVE_HIGH>;
760                 dr_mode = "otg";
761         };
762
763         usb-phy@c5000000 {
764                 status = "okay";
765                 vbus-supply = <&vbus_reg>;
766                 dr_mode = "otg";
767         };
768
769         usb@c5004000 {
770                 status = "disabled";
771                 nvidia,phy-reset-gpio = <&gpio TEGRA_GPIO(V, 1)
772                         GPIO_ACTIVE_LOW>;
773         };
774
775         usb-phy@c5004000 {
776                 status = "okay";
777                 nvidia,phy-reset-gpio = <&gpio TEGRA_GPIO(V, 1)
778                         GPIO_ACTIVE_LOW>;
779         };
780
781         usb@c5008000 {
782                 status = "okay";
783         };
784
785         usb-phy@c5008000 {
786                 status = "okay";
787         };
788
789         sdhci@c8000000 {
790                 status = "okay";
791                 power-gpios = <&gpio TEGRA_GPIO(K, 6) GPIO_ACTIVE_HIGH>;
792                 bus-width = <4>;
793                 keep-power-in-suspend;
794         };
795
796         sdhci@c8000400 {
797                 status = "okay";
798                 cd-gpios = <&gpio TEGRA_GPIO(I, 5) GPIO_ACTIVE_LOW>;
799                 wp-gpios = <&gpio TEGRA_GPIO(H, 1) GPIO_ACTIVE_HIGH>;
800                 power-gpios = <&gpio TEGRA_GPIO(I, 6) GPIO_ACTIVE_HIGH>;
801                 bus-width = <4>;
802         };
803
804         sdhci@c8000600 {
805                 status = "okay";
806                 bus-width = <8>;
807                 non-removable;
808         };
809
810         backlight: backlight {
811                 compatible = "pwm-backlight";
812
813                 enable-gpios = <&gpio TEGRA_GPIO(D, 4) GPIO_ACTIVE_HIGH>;
814                 power-supply = <&vdd_bl_reg>;
815                 pwms = <&pwm 2 5000000>;
816
817                 brightness-levels = <0 4 8 16 32 64 128 255>;
818                 default-brightness-level = <6>;
819         };
820
821         clocks {
822                 compatible = "simple-bus";
823                 #address-cells = <1>;
824                 #size-cells = <0>;
825
826                 clk32k_in: clock@0 {
827                         compatible = "fixed-clock";
828                         reg=<0>;
829                         #clock-cells = <0>;
830                         clock-frequency = <32768>;
831                 };
832         };
833
834         gpio-keys {
835                 compatible = "gpio-keys";
836
837                 power {
838                         label = "Power";
839                         gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_LOW>;
840                         linux,code = <KEY_POWER>;
841                         gpio-key,wakeup;
842                 };
843
844                 lid {
845                         label = "Lid";
846                         gpios = <&gpio TEGRA_GPIO(C, 7) GPIO_ACTIVE_HIGH>;
847                         linux,input-type = <5>; /* EV_SW */
848                         linux,code = <0>; /* SW_LID */
849                         debounce-interval = <1>;
850                         gpio-key,wakeup;
851                 };
852         };
853
854         panel: panel {
855                 /* Seaboard has 1366x768 */
856                 clock = <70600000>;
857                 xres = <1366>;
858                 yres = <768>;
859                 left-margin = <58>;
860                 right-margin = <58>;
861                 hsync-len = <58>;
862                 lower-margin = <4>;
863                 upper-margin = <4>;
864                 vsync-len = <4>;
865                 hsync-active-high;
866                 nvidia,bits-per-pixel = <16>;
867                 nvidia,pwm = <&pwm 2 0>;
868                 nvidia,backlight-enable-gpios = <&gpio TEGRA_GPIO(D, 4)
869                                                         GPIO_ACTIVE_HIGH>;
870                 nvidia,lvds-shutdown-gpios = <&gpio TEGRA_GPIO(B, 2)
871                                                         GPIO_ACTIVE_HIGH>;
872                 nvidia,backlight-vdd-gpios = <&gpio TEGRA_GPIO(W, 0)
873                                                         GPIO_ACTIVE_HIGH>;
874                 nvidia,panel-vdd-gpios = <&gpio TEGRA_GPIO(C, 6)
875                                                         GPIO_ACTIVE_HIGH>;
876                 nvidia,panel-timings = <400 4 203 17 15>;
877         };
878
879         regulators {
880                 compatible = "simple-bus";
881                 #address-cells = <1>;
882                 #size-cells = <0>;
883
884                 vdd_5v0_reg: regulator@0 {
885                         compatible = "regulator-fixed";
886                         reg = <0>;
887                         regulator-name = "vdd_5v0";
888                         regulator-min-microvolt = <5000000>;
889                         regulator-max-microvolt = <5000000>;
890                         regulator-always-on;
891                 };
892
893                 regulator@1 {
894                         compatible = "regulator-fixed";
895                         reg = <1>;
896                         regulator-name = "vdd_1v5";
897                         regulator-min-microvolt = <1500000>;
898                         regulator-max-microvolt = <1500000>;
899                         gpio = <&pmic 0 GPIO_ACTIVE_HIGH>;
900                 };
901
902                 regulator@2 {
903                         compatible = "regulator-fixed";
904                         reg = <2>;
905                         regulator-name = "vdd_1v2";
906                         regulator-min-microvolt = <1200000>;
907                         regulator-max-microvolt = <1200000>;
908                         gpio = <&pmic 1 GPIO_ACTIVE_HIGH>;
909                         enable-active-high;
910                 };
911
912                 vbus_reg: regulator@3 {
913                         compatible = "regulator-fixed";
914                         reg = <3>;
915                         regulator-name = "vdd_vbus_wup1";
916                         regulator-min-microvolt = <5000000>;
917                         regulator-max-microvolt = <5000000>;
918                         enable-active-high;
919                         gpio = <&gpio TEGRA_GPIO(D, 0) 0>;
920                         regulator-always-on;
921                         regulator-boot-on;
922                 };
923
924                 vdd_pnl_reg: regulator@4 {
925                         compatible = "regulator-fixed";
926                         reg = <4>;
927                         regulator-name = "vdd_pnl";
928                         regulator-min-microvolt = <2800000>;
929                         regulator-max-microvolt = <2800000>;
930                         gpio = <&gpio TEGRA_GPIO(C, 6) GPIO_ACTIVE_HIGH>;
931                         enable-active-high;
932                 };
933
934                 vdd_bl_reg: regulator@5 {
935                         compatible = "regulator-fixed";
936                         reg = <5>;
937                         regulator-name = "vdd_bl";
938                         regulator-min-microvolt = <2800000>;
939                         regulator-max-microvolt = <2800000>;
940                         gpio = <&gpio TEGRA_GPIO(W, 0) GPIO_ACTIVE_HIGH>;
941                         enable-active-high;
942                 };
943
944                 vdd_hdmi: regulator@6 {
945                         compatible = "regulator-fixed";
946                         reg = <6>;
947                         regulator-name = "VDDIO_HDMI";
948                         regulator-min-microvolt = <5000000>;
949                         regulator-max-microvolt = <5000000>;
950                         gpio = <&gpio TEGRA_GPIO(V, 5) GPIO_ACTIVE_HIGH>;
951                         enable-active-high;
952                         vin-supply = <&vdd_5v0_reg>;
953                 };
954         };
955
956         sound {
957                 compatible = "nvidia,tegra-audio-wm8903-seaboard",
958                              "nvidia,tegra-audio-wm8903";
959                 nvidia,model = "NVIDIA Tegra Seaboard";
960
961                 nvidia,audio-routing =
962                         "Headphone Jack", "HPOUTR",
963                         "Headphone Jack", "HPOUTL",
964                         "Int Spk", "ROP",
965                         "Int Spk", "RON",
966                         "Int Spk", "LOP",
967                         "Int Spk", "LON",
968                         "Mic Jack", "MICBIAS",
969                         "IN1R", "Mic Jack";
970
971                 nvidia,i2s-controller = <&tegra_i2s1>;
972                 nvidia,audio-codec = <&wm8903>;
973
974                 nvidia,spkr-en-gpios = <&wm8903 2 GPIO_ACTIVE_HIGH>;
975                 nvidia,hp-det-gpios = <&gpio TEGRA_GPIO(X, 1) GPIO_ACTIVE_HIGH>;
976
977                 clocks = <&tegra_car TEGRA20_CLK_PLL_A>,
978                          <&tegra_car TEGRA20_CLK_PLL_A_OUT0>,
979                          <&tegra_car TEGRA20_CLK_CDEV1>;
980                 clock-names = "pll_a", "pll_a_out0", "mclk";
981         };
982 };