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