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