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