0001 // SPDX-License-Identifier: GPL-2.0
0002 /dts-v1/;
0003
0004 #include <dt-bindings/input/input.h>
0005 #include "tegra20.dtsi"
0006
0007 / {
0008 model = "NVIDIA Seaboard";
0009 compatible = "nvidia,seaboard", "nvidia,tegra20";
0010
0011 aliases {
0012 rtc0 = "/i2c@7000d000/tps6586x@34";
0013 rtc1 = "/rtc@7000e000";
0014 serial0 = &uartd;
0015 };
0016
0017 chosen {
0018 stdout-path = "serial0:115200n8";
0019 };
0020
0021 memory@0 {
0022 reg = <0x00000000 0x40000000>;
0023 };
0024
0025 host1x@50000000 {
0026 dc@54200000 {
0027 rgb {
0028 status = "okay";
0029
0030 nvidia,panel = <&panel>;
0031 };
0032 };
0033
0034 hdmi@54280000 {
0035 status = "okay";
0036
0037 vdd-supply = <&hdmi_vdd_reg>;
0038 pll-supply = <&hdmi_pll_reg>;
0039 hdmi-supply = <&vdd_hdmi>;
0040
0041 nvidia,ddc-i2c-bus = <&hdmi_ddc>;
0042 nvidia,hpd-gpio = <&gpio TEGRA_GPIO(N, 7)
0043 GPIO_ACTIVE_HIGH>;
0044 };
0045 };
0046
0047 pinmux@70000014 {
0048 pinctrl-names = "default";
0049 pinctrl-0 = <&state_default>;
0050
0051 state_default: pinmux {
0052 ata {
0053 nvidia,pins = "ata";
0054 nvidia,function = "ide";
0055 };
0056 atb {
0057 nvidia,pins = "atb", "gma", "gme";
0058 nvidia,function = "sdio4";
0059 };
0060 atc {
0061 nvidia,pins = "atc";
0062 nvidia,function = "nand";
0063 };
0064 atd {
0065 nvidia,pins = "atd", "ate", "gmb", "spia",
0066 "spib", "spic";
0067 nvidia,function = "gmi";
0068 };
0069 cdev1 {
0070 nvidia,pins = "cdev1";
0071 nvidia,function = "plla_out";
0072 };
0073 cdev2 {
0074 nvidia,pins = "cdev2";
0075 nvidia,function = "pllp_out4";
0076 };
0077 crtp {
0078 nvidia,pins = "crtp", "lm1";
0079 nvidia,function = "crt";
0080 };
0081 csus {
0082 nvidia,pins = "csus";
0083 nvidia,function = "vi_sensor_clk";
0084 };
0085 dap1 {
0086 nvidia,pins = "dap1";
0087 nvidia,function = "dap1";
0088 };
0089 dap2 {
0090 nvidia,pins = "dap2";
0091 nvidia,function = "dap2";
0092 };
0093 dap3 {
0094 nvidia,pins = "dap3";
0095 nvidia,function = "dap3";
0096 };
0097 dap4 {
0098 nvidia,pins = "dap4";
0099 nvidia,function = "dap4";
0100 };
0101 dta {
0102 nvidia,pins = "dta", "dtb", "dtc", "dtd", "dte";
0103 nvidia,function = "vi";
0104 };
0105 dtf {
0106 nvidia,pins = "dtf";
0107 nvidia,function = "i2c3";
0108 };
0109 gmc {
0110 nvidia,pins = "gmc";
0111 nvidia,function = "uartd";
0112 };
0113 gmd {
0114 nvidia,pins = "gmd";
0115 nvidia,function = "sflash";
0116 };
0117 gpu {
0118 nvidia,pins = "gpu";
0119 nvidia,function = "pwm";
0120 };
0121 gpu7 {
0122 nvidia,pins = "gpu7";
0123 nvidia,function = "rtck";
0124 };
0125 gpv {
0126 nvidia,pins = "gpv", "slxa", "slxk";
0127 nvidia,function = "pcie";
0128 };
0129 hdint {
0130 nvidia,pins = "hdint", "lpw0", "lpw2", "lsc1",
0131 "lsck", "lsda";
0132 nvidia,function = "hdmi";
0133 };
0134 i2cp {
0135 nvidia,pins = "i2cp";
0136 nvidia,function = "i2cp";
0137 };
0138 irrx {
0139 nvidia,pins = "irrx", "irtx";
0140 nvidia,function = "uartb";
0141 };
0142 kbca {
0143 nvidia,pins = "kbca", "kbcb", "kbcc", "kbcd",
0144 "kbce", "kbcf";
0145 nvidia,function = "kbc";
0146 };
0147 lcsn {
0148 nvidia,pins = "lcsn", "ldc", "lm0", "lpw1",
0149 "lsdi", "lvp0";
0150 nvidia,function = "rsvd4";
0151 };
0152 ld0 {
0153 nvidia,pins = "ld0", "ld1", "ld2", "ld3", "ld4",
0154 "ld5", "ld6", "ld7", "ld8", "ld9",
0155 "ld10", "ld11", "ld12", "ld13", "ld14",
0156 "ld15", "ld16", "ld17", "ldi", "lhp0",
0157 "lhp1", "lhp2", "lhs", "lpp", "lsc0",
0158 "lspi", "lvp1", "lvs";
0159 nvidia,function = "displaya";
0160 };
0161 owc {
0162 nvidia,pins = "owc", "spdi", "spdo", "uac";
0163 nvidia,function = "rsvd2";
0164 };
0165 pmc {
0166 nvidia,pins = "pmc";
0167 nvidia,function = "pwr_on";
0168 };
0169 rm {
0170 nvidia,pins = "rm";
0171 nvidia,function = "i2c1";
0172 };
0173 sdb {
0174 nvidia,pins = "sdb", "sdc", "sdd";
0175 nvidia,function = "sdio3";
0176 };
0177 sdio1 {
0178 nvidia,pins = "sdio1";
0179 nvidia,function = "sdio1";
0180 };
0181 slxc {
0182 nvidia,pins = "slxc", "slxd";
0183 nvidia,function = "spdif";
0184 };
0185 spid {
0186 nvidia,pins = "spid", "spie", "spif";
0187 nvidia,function = "spi1";
0188 };
0189 spig {
0190 nvidia,pins = "spig", "spih";
0191 nvidia,function = "spi2_alt";
0192 };
0193 uaa {
0194 nvidia,pins = "uaa", "uab", "uda";
0195 nvidia,function = "ulpi";
0196 };
0197 uad {
0198 nvidia,pins = "uad";
0199 nvidia,function = "irda";
0200 };
0201 uca {
0202 nvidia,pins = "uca", "ucb";
0203 nvidia,function = "uartc";
0204 };
0205 conf_ata {
0206 nvidia,pins = "ata", "atb", "atc", "atd",
0207 "cdev1", "cdev2", "dap1", "dap2",
0208 "dap4", "ddc", "dtf", "gma", "gmc", "gmd",
0209 "gme", "gpu", "gpu7", "i2cp", "irrx",
0210 "irtx", "pta", "rm", "sdc", "sdd",
0211 "slxd", "slxk", "spdi", "spdo", "uac",
0212 "uad", "uca", "ucb", "uda";
0213 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0214 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0215 };
0216 conf_ate {
0217 nvidia,pins = "ate", "csus", "dap3",
0218 "gpv", "owc", "slxc", "spib", "spid",
0219 "spie";
0220 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0221 nvidia,tristate = <TEGRA_PIN_ENABLE>;
0222 };
0223 conf_ck32 {
0224 nvidia,pins = "ck32", "ddrc", "pmca", "pmcb",
0225 "pmcc", "pmcd", "pmce", "xm2c", "xm2d";
0226 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0227 };
0228 conf_crtp {
0229 nvidia,pins = "crtp", "gmb", "slxa", "spia",
0230 "spig", "spih";
0231 nvidia,pull = <TEGRA_PIN_PULL_UP>;
0232 nvidia,tristate = <TEGRA_PIN_ENABLE>;
0233 };
0234 conf_dta {
0235 nvidia,pins = "dta", "dtb", "dtc", "dtd";
0236 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
0237 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0238 };
0239 conf_dte {
0240 nvidia,pins = "dte", "spif";
0241 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
0242 nvidia,tristate = <TEGRA_PIN_ENABLE>;
0243 };
0244 conf_hdint {
0245 nvidia,pins = "hdint", "lcsn", "ldc", "lm1",
0246 "lpw1", "lsc1", "lsck", "lsda", "lsdi",
0247 "lvp0";
0248 nvidia,tristate = <TEGRA_PIN_ENABLE>;
0249 };
0250 conf_kbca {
0251 nvidia,pins = "kbca", "kbcb", "kbcc", "kbcd",
0252 "kbce", "kbcf", "sdio1", "spic", "uaa",
0253 "uab";
0254 nvidia,pull = <TEGRA_PIN_PULL_UP>;
0255 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0256 };
0257 conf_lc {
0258 nvidia,pins = "lc", "ls";
0259 nvidia,pull = <TEGRA_PIN_PULL_UP>;
0260 };
0261 conf_ld0 {
0262 nvidia,pins = "ld0", "ld1", "ld2", "ld3", "ld4",
0263 "ld5", "ld6", "ld7", "ld8", "ld9",
0264 "ld10", "ld11", "ld12", "ld13", "ld14",
0265 "ld15", "ld16", "ld17", "ldi", "lhp0",
0266 "lhp1", "lhp2", "lhs", "lm0", "lpp",
0267 "lpw0", "lpw2", "lsc0", "lspi", "lvp1",
0268 "lvs", "pmc", "sdb";
0269 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0270 };
0271 conf_ld17_0 {
0272 nvidia,pins = "ld17_0", "ld19_18", "ld21_20",
0273 "ld23_22";
0274 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
0275 };
0276 drive_sdio1 {
0277 nvidia,pins = "drive_sdio1";
0278 nvidia,high-speed-mode = <TEGRA_PIN_DISABLE>;
0279 nvidia,schmitt = <TEGRA_PIN_DISABLE>;
0280 nvidia,low-power-mode = <TEGRA_PIN_LP_DRIVE_DIV_1>;
0281 nvidia,pull-down-strength = <31>;
0282 nvidia,pull-up-strength = <31>;
0283 nvidia,slew-rate-rising = <TEGRA_PIN_SLEW_RATE_SLOWEST>;
0284 nvidia,slew-rate-falling = <TEGRA_PIN_SLEW_RATE_SLOWEST>;
0285 };
0286 };
0287
0288 state_i2cmux_ddc: pinmux_i2cmux_ddc {
0289 ddc {
0290 nvidia,pins = "ddc";
0291 nvidia,function = "i2c2";
0292 };
0293 pta {
0294 nvidia,pins = "pta";
0295 nvidia,function = "rsvd4";
0296 };
0297 };
0298
0299 state_i2cmux_pta: pinmux_i2cmux_pta {
0300 ddc {
0301 nvidia,pins = "ddc";
0302 nvidia,function = "rsvd4";
0303 };
0304 pta {
0305 nvidia,pins = "pta";
0306 nvidia,function = "i2c2";
0307 };
0308 };
0309
0310 state_i2cmux_idle: pinmux_i2cmux_idle {
0311 ddc {
0312 nvidia,pins = "ddc";
0313 nvidia,function = "rsvd4";
0314 };
0315 pta {
0316 nvidia,pins = "pta";
0317 nvidia,function = "rsvd4";
0318 };
0319 };
0320 };
0321
0322 i2s@70002800 {
0323 status = "okay";
0324 };
0325
0326 serial@70006300 {
0327 status = "okay";
0328 };
0329
0330 pwm: pwm@7000a000 {
0331 status = "okay";
0332 };
0333
0334 i2c@7000c000 {
0335 status = "okay";
0336 clock-frequency = <400000>;
0337
0338 wm8903: wm8903@1a {
0339 compatible = "wlf,wm8903";
0340 reg = <0x1a>;
0341 interrupt-parent = <&gpio>;
0342 interrupts = <TEGRA_GPIO(X, 3) IRQ_TYPE_LEVEL_HIGH>;
0343
0344 gpio-controller;
0345 #gpio-cells = <2>;
0346
0347 micdet-cfg = <0>;
0348 micdet-delay = <100>;
0349 gpio-cfg = <0xffffffff 0xffffffff 0 0xffffffff 0xffffffff>;
0350 };
0351
0352 /* ALS and proximity sensor */
0353 isl29018@44 {
0354 compatible = "isil,isl29018";
0355 reg = <0x44>;
0356 interrupt-parent = <&gpio>;
0357 interrupts = <TEGRA_GPIO(Z, 2) IRQ_TYPE_LEVEL_HIGH>;
0358 };
0359
0360 gyrometer@68 {
0361 compatible = "invensense,mpu3050";
0362 reg = <0x68>;
0363 interrupt-parent = <&gpio>;
0364 interrupts = <TEGRA_GPIO(Z, 4) IRQ_TYPE_LEVEL_HIGH>;
0365 };
0366 };
0367
0368 i2c@7000c400 {
0369 status = "okay";
0370 clock-frequency = <100000>;
0371 };
0372
0373 i2cmux {
0374 compatible = "i2c-mux-pinctrl";
0375 #address-cells = <1>;
0376 #size-cells = <0>;
0377
0378 i2c-parent = <&{/i2c@7000c400}>;
0379
0380 pinctrl-names = "ddc", "pta", "idle";
0381 pinctrl-0 = <&state_i2cmux_ddc>;
0382 pinctrl-1 = <&state_i2cmux_pta>;
0383 pinctrl-2 = <&state_i2cmux_idle>;
0384
0385 hdmi_ddc: i2c@0 {
0386 reg = <0>;
0387 #address-cells = <1>;
0388 #size-cells = <0>;
0389 };
0390
0391 lvds_ddc: i2c@1 {
0392 reg = <1>;
0393 #address-cells = <1>;
0394 #size-cells = <0>;
0395
0396 smart-battery@b {
0397 compatible = "ti,bq20z75", "sbs,sbs-battery";
0398 reg = <0xb>;
0399 sbs,i2c-retry-count = <2>;
0400 sbs,poll-retry-count = <10>;
0401 };
0402 };
0403 };
0404
0405 i2c@7000c500 {
0406 status = "okay";
0407 clock-frequency = <400000>;
0408 };
0409
0410 i2c@7000d000 {
0411 status = "okay";
0412 clock-frequency = <400000>;
0413
0414 magnetometer@c {
0415 compatible = "asahi-kasei,ak8975";
0416 reg = <0xc>;
0417 interrupt-parent = <&gpio>;
0418 interrupts = <TEGRA_GPIO(N, 5) IRQ_TYPE_LEVEL_HIGH>;
0419 };
0420
0421 pmic: tps6586x@34 {
0422 compatible = "ti,tps6586x";
0423 reg = <0x34>;
0424 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
0425
0426 ti,system-power-controller;
0427
0428 #gpio-cells = <2>;
0429 gpio-controller;
0430
0431 sys-supply = <&vdd_5v0_reg>;
0432 vin-sm0-supply = <&sys_reg>;
0433 vin-sm1-supply = <&sys_reg>;
0434 vin-sm2-supply = <&sys_reg>;
0435 vinldo01-supply = <&sm2_reg>;
0436 vinldo23-supply = <&sm2_reg>;
0437 vinldo4-supply = <&sm2_reg>;
0438 vinldo678-supply = <&sm2_reg>;
0439 vinldo9-supply = <&sm2_reg>;
0440
0441 regulators {
0442 sys_reg: sys {
0443 regulator-name = "vdd_sys";
0444 regulator-always-on;
0445 };
0446
0447 vdd_core: sm0 {
0448 regulator-name = "vdd_sm0,vdd_core";
0449 regulator-min-microvolt = <1300000>;
0450 regulator-max-microvolt = <1300000>;
0451 regulator-always-on;
0452 };
0453
0454 sm1 {
0455 regulator-name = "vdd_sm1,vdd_cpu";
0456 regulator-min-microvolt = <1125000>;
0457 regulator-max-microvolt = <1125000>;
0458 regulator-always-on;
0459 };
0460
0461 sm2_reg: sm2 {
0462 regulator-name = "vdd_sm2,vin_ldo*";
0463 regulator-min-microvolt = <3700000>;
0464 regulator-max-microvolt = <3700000>;
0465 regulator-always-on;
0466 };
0467
0468 /* LDO0 is not connected to anything */
0469
0470 ldo1 {
0471 regulator-name = "vdd_ldo1,avdd_pll*";
0472 regulator-min-microvolt = <1100000>;
0473 regulator-max-microvolt = <1100000>;
0474 regulator-always-on;
0475 };
0476
0477 ldo2 {
0478 regulator-name = "vdd_ldo2,vdd_rtc";
0479 regulator-min-microvolt = <1200000>;
0480 regulator-max-microvolt = <1200000>;
0481 };
0482
0483 ldo3 {
0484 regulator-name = "vdd_ldo3,avdd_usb*";
0485 regulator-min-microvolt = <3300000>;
0486 regulator-max-microvolt = <3300000>;
0487 regulator-always-on;
0488 };
0489
0490 ldo4 {
0491 regulator-name = "vdd_ldo4,avdd_osc,vddio_sys";
0492 regulator-min-microvolt = <1800000>;
0493 regulator-max-microvolt = <1800000>;
0494 regulator-always-on;
0495 };
0496
0497 ldo5 {
0498 regulator-name = "vdd_ldo5,vcore_mmc";
0499 regulator-min-microvolt = <2850000>;
0500 regulator-max-microvolt = <2850000>;
0501 regulator-always-on;
0502 };
0503
0504 ldo6 {
0505 regulator-name = "vdd_ldo6,avdd_vdac,vddio_vi,vddio_cam";
0506 regulator-min-microvolt = <1800000>;
0507 regulator-max-microvolt = <1800000>;
0508 };
0509
0510 hdmi_vdd_reg: ldo7 {
0511 regulator-name = "vdd_ldo7,avdd_hdmi,vdd_fuse";
0512 regulator-min-microvolt = <3300000>;
0513 regulator-max-microvolt = <3300000>;
0514 };
0515
0516 hdmi_pll_reg: ldo8 {
0517 regulator-name = "vdd_ldo8,avdd_hdmi_pll";
0518 regulator-min-microvolt = <1800000>;
0519 regulator-max-microvolt = <1800000>;
0520 };
0521
0522 ldo9 {
0523 regulator-name = "vdd_ldo9,avdd_2v85,vdd_ddr_rx";
0524 regulator-min-microvolt = <2850000>;
0525 regulator-max-microvolt = <2850000>;
0526 regulator-always-on;
0527 };
0528
0529 ldo_rtc {
0530 regulator-name = "vdd_rtc_out,vdd_cell";
0531 regulator-min-microvolt = <3300000>;
0532 regulator-max-microvolt = <3300000>;
0533 regulator-always-on;
0534 };
0535 };
0536 };
0537
0538 temperature-sensor@4c {
0539 compatible = "onnn,nct1008";
0540 reg = <0x4c>;
0541 };
0542 };
0543
0544 kbc@7000e200 {
0545 status = "okay";
0546 nvidia,debounce-delay-ms = <32>;
0547 nvidia,repeat-delay-ms = <160>;
0548 nvidia,ghost-filter;
0549 nvidia,kbc-row-pins = <0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15>;
0550 nvidia,kbc-col-pins = <16 17 18 19 20 21 22 23>;
0551 linux,keymap = <MATRIX_KEY(0x00, 0x02, KEY_W)
0552 MATRIX_KEY(0x00, 0x03, KEY_S)
0553 MATRIX_KEY(0x00, 0x04, KEY_A)
0554 MATRIX_KEY(0x00, 0x05, KEY_Z)
0555 MATRIX_KEY(0x00, 0x07, KEY_FN)
0556
0557 MATRIX_KEY(0x01, 0x07, KEY_LEFTMETA)
0558 MATRIX_KEY(0x02, 0x06, KEY_RIGHTALT)
0559 MATRIX_KEY(0x02, 0x07, KEY_LEFTALT)
0560
0561 MATRIX_KEY(0x03, 0x00, KEY_5)
0562 MATRIX_KEY(0x03, 0x01, KEY_4)
0563 MATRIX_KEY(0x03, 0x02, KEY_R)
0564 MATRIX_KEY(0x03, 0x03, KEY_E)
0565 MATRIX_KEY(0x03, 0x04, KEY_F)
0566 MATRIX_KEY(0x03, 0x05, KEY_D)
0567 MATRIX_KEY(0x03, 0x06, KEY_X)
0568
0569 MATRIX_KEY(0x04, 0x00, KEY_7)
0570 MATRIX_KEY(0x04, 0x01, KEY_6)
0571 MATRIX_KEY(0x04, 0x02, KEY_T)
0572 MATRIX_KEY(0x04, 0x03, KEY_H)
0573 MATRIX_KEY(0x04, 0x04, KEY_G)
0574 MATRIX_KEY(0x04, 0x05, KEY_V)
0575 MATRIX_KEY(0x04, 0x06, KEY_C)
0576 MATRIX_KEY(0x04, 0x07, KEY_SPACE)
0577
0578 MATRIX_KEY(0x05, 0x00, KEY_9)
0579 MATRIX_KEY(0x05, 0x01, KEY_8)
0580 MATRIX_KEY(0x05, 0x02, KEY_U)
0581 MATRIX_KEY(0x05, 0x03, KEY_Y)
0582 MATRIX_KEY(0x05, 0x04, KEY_J)
0583 MATRIX_KEY(0x05, 0x05, KEY_N)
0584 MATRIX_KEY(0x05, 0x06, KEY_B)
0585 MATRIX_KEY(0x05, 0x07, KEY_BACKSLASH)
0586
0587 MATRIX_KEY(0x06, 0x00, KEY_MINUS)
0588 MATRIX_KEY(0x06, 0x01, KEY_0)
0589 MATRIX_KEY(0x06, 0x02, KEY_O)
0590 MATRIX_KEY(0x06, 0x03, KEY_I)
0591 MATRIX_KEY(0x06, 0x04, KEY_L)
0592 MATRIX_KEY(0x06, 0x05, KEY_K)
0593 MATRIX_KEY(0x06, 0x06, KEY_COMMA)
0594 MATRIX_KEY(0x06, 0x07, KEY_M)
0595
0596 MATRIX_KEY(0x07, 0x01, KEY_EQUAL)
0597 MATRIX_KEY(0x07, 0x02, KEY_RIGHTBRACE)
0598 MATRIX_KEY(0x07, 0x03, KEY_ENTER)
0599 MATRIX_KEY(0x07, 0x07, KEY_MENU)
0600
0601 MATRIX_KEY(0x08, 0x04, KEY_RIGHTSHIFT)
0602 MATRIX_KEY(0x08, 0x05, KEY_LEFTSHIFT)
0603
0604 MATRIX_KEY(0x09, 0x05, KEY_RIGHTCTRL)
0605 MATRIX_KEY(0x09, 0x07, KEY_LEFTCTRL)
0606
0607 MATRIX_KEY(0x0B, 0x00, KEY_LEFTBRACE)
0608 MATRIX_KEY(0x0B, 0x01, KEY_P)
0609 MATRIX_KEY(0x0B, 0x02, KEY_APOSTROPHE)
0610 MATRIX_KEY(0x0B, 0x03, KEY_SEMICOLON)
0611 MATRIX_KEY(0x0B, 0x04, KEY_SLASH)
0612 MATRIX_KEY(0x0B, 0x05, KEY_DOT)
0613
0614 MATRIX_KEY(0x0C, 0x00, KEY_F10)
0615 MATRIX_KEY(0x0C, 0x01, KEY_F9)
0616 MATRIX_KEY(0x0C, 0x02, KEY_BACKSPACE)
0617 MATRIX_KEY(0x0C, 0x03, KEY_3)
0618 MATRIX_KEY(0x0C, 0x04, KEY_2)
0619 MATRIX_KEY(0x0C, 0x05, KEY_UP)
0620 MATRIX_KEY(0x0C, 0x06, KEY_PRINT)
0621 MATRIX_KEY(0x0C, 0x07, KEY_PAUSE)
0622
0623 MATRIX_KEY(0x0D, 0x00, KEY_INSERT)
0624 MATRIX_KEY(0x0D, 0x01, KEY_DELETE)
0625 MATRIX_KEY(0x0D, 0x03, KEY_PAGEUP )
0626 MATRIX_KEY(0x0D, 0x04, KEY_PAGEDOWN)
0627 MATRIX_KEY(0x0D, 0x05, KEY_RIGHT)
0628 MATRIX_KEY(0x0D, 0x06, KEY_DOWN)
0629 MATRIX_KEY(0x0D, 0x07, KEY_LEFT)
0630
0631 MATRIX_KEY(0x0E, 0x00, KEY_F11)
0632 MATRIX_KEY(0x0E, 0x01, KEY_F12)
0633 MATRIX_KEY(0x0E, 0x02, KEY_F8)
0634 MATRIX_KEY(0x0E, 0x03, KEY_Q)
0635 MATRIX_KEY(0x0E, 0x04, KEY_F4)
0636 MATRIX_KEY(0x0E, 0x05, KEY_F3)
0637 MATRIX_KEY(0x0E, 0x06, KEY_1)
0638 MATRIX_KEY(0x0E, 0x07, KEY_F7)
0639
0640 MATRIX_KEY(0x0F, 0x00, KEY_ESC)
0641 MATRIX_KEY(0x0F, 0x01, KEY_GRAVE)
0642 MATRIX_KEY(0x0F, 0x02, KEY_F5)
0643 MATRIX_KEY(0x0F, 0x03, KEY_TAB)
0644 MATRIX_KEY(0x0F, 0x04, KEY_F1)
0645 MATRIX_KEY(0x0F, 0x05, KEY_F2)
0646 MATRIX_KEY(0x0F, 0x06, KEY_CAPSLOCK)
0647 MATRIX_KEY(0x0F, 0x07, KEY_F6)
0648
0649 /* Software Handled Function Keys */
0650 MATRIX_KEY(0x14, 0x00, KEY_KP7)
0651
0652 MATRIX_KEY(0x15, 0x00, KEY_KP9)
0653 MATRIX_KEY(0x15, 0x01, KEY_KP8)
0654 MATRIX_KEY(0x15, 0x02, KEY_KP4)
0655 MATRIX_KEY(0x15, 0x04, KEY_KP1)
0656
0657 MATRIX_KEY(0x16, 0x01, KEY_KPSLASH)
0658 MATRIX_KEY(0x16, 0x02, KEY_KP6)
0659 MATRIX_KEY(0x16, 0x03, KEY_KP5)
0660 MATRIX_KEY(0x16, 0x04, KEY_KP3)
0661 MATRIX_KEY(0x16, 0x05, KEY_KP2)
0662 MATRIX_KEY(0x16, 0x07, KEY_KP0)
0663
0664 MATRIX_KEY(0x1B, 0x01, KEY_KPASTERISK)
0665 MATRIX_KEY(0x1B, 0x03, KEY_KPMINUS)
0666 MATRIX_KEY(0x1B, 0x04, KEY_KPPLUS)
0667 MATRIX_KEY(0x1B, 0x05, KEY_KPDOT)
0668
0669 MATRIX_KEY(0x1C, 0x05, KEY_VOLUMEUP)
0670
0671 MATRIX_KEY(0x1D, 0x03, KEY_HOME)
0672 MATRIX_KEY(0x1D, 0x04, KEY_END)
0673 MATRIX_KEY(0x1D, 0x05, KEY_BRIGHTNESSDOWN)
0674 MATRIX_KEY(0x1D, 0x06, KEY_VOLUMEDOWN)
0675 MATRIX_KEY(0x1D, 0x07, KEY_BRIGHTNESSUP)
0676
0677 MATRIX_KEY(0x1E, 0x00, KEY_NUMLOCK)
0678 MATRIX_KEY(0x1E, 0x01, KEY_SCROLLLOCK)
0679 MATRIX_KEY(0x1E, 0x02, KEY_MUTE)
0680
0681 MATRIX_KEY(0x1F, 0x04, KEY_HELP)>;
0682 };
0683
0684 pmc@7000e400 {
0685 nvidia,invert-interrupt;
0686 nvidia,suspend-mode = <1>;
0687 nvidia,cpu-pwr-good-time = <5000>;
0688 nvidia,cpu-pwr-off-time = <5000>;
0689 nvidia,core-pwr-good-time = <3845 3845>;
0690 nvidia,core-pwr-off-time = <3875>;
0691 nvidia,sys-clock-req-active-high;
0692 core-supply = <&vdd_core>;
0693 };
0694
0695 memory-controller@7000f400 {
0696 emc-table@190000 {
0697 reg = <190000>;
0698 compatible = "nvidia,tegra20-emc-table";
0699 clock-frequency = <190000>;
0700 nvidia,emc-registers = <0x0000000c 0x00000026
0701 0x00000009 0x00000003 0x00000004 0x00000004
0702 0x00000002 0x0000000c 0x00000003 0x00000003
0703 0x00000002 0x00000001 0x00000004 0x00000005
0704 0x00000004 0x00000009 0x0000000d 0x0000059f
0705 0x00000000 0x00000003 0x00000003 0x00000003
0706 0x00000003 0x00000001 0x0000000b 0x000000c8
0707 0x00000003 0x00000007 0x00000004 0x0000000f
0708 0x00000002 0x00000000 0x00000000 0x00000002
0709 0x00000000 0x00000000 0x00000083 0xa06204ae
0710 0x007dc010 0x00000000 0x00000000 0x00000000
0711 0x00000000 0x00000000 0x00000000 0x00000000>;
0712 };
0713
0714 emc-table@380000 {
0715 reg = <380000>;
0716 compatible = "nvidia,tegra20-emc-table";
0717 clock-frequency = <380000>;
0718 nvidia,emc-registers = <0x00000017 0x0000004b
0719 0x00000012 0x00000006 0x00000004 0x00000005
0720 0x00000003 0x0000000c 0x00000006 0x00000006
0721 0x00000003 0x00000001 0x00000004 0x00000005
0722 0x00000004 0x00000009 0x0000000d 0x00000b5f
0723 0x00000000 0x00000003 0x00000003 0x00000006
0724 0x00000006 0x00000001 0x00000011 0x000000c8
0725 0x00000003 0x0000000e 0x00000007 0x0000000f
0726 0x00000002 0x00000000 0x00000000 0x00000002
0727 0x00000000 0x00000000 0x00000083 0xe044048b
0728 0x007d8010 0x00000000 0x00000000 0x00000000
0729 0x00000000 0x00000000 0x00000000 0x00000000>;
0730 };
0731 };
0732
0733 usb@c5000000 {
0734 status = "okay";
0735 dr_mode = "otg";
0736 };
0737
0738 usb-phy@c5000000 {
0739 status = "okay";
0740 vbus-supply = <&vbus_reg>;
0741 dr_mode = "otg";
0742 };
0743
0744 usb@c5004000 {
0745 status = "okay";
0746 };
0747
0748 usb-phy@c5004000 {
0749 status = "okay";
0750 nvidia,phy-reset-gpio = <&gpio TEGRA_GPIO(V, 1)
0751 GPIO_ACTIVE_LOW>;
0752 };
0753
0754 usb@c5008000 {
0755 status = "okay";
0756 };
0757
0758 usb-phy@c5008000 {
0759 status = "okay";
0760 };
0761
0762 mmc@c8000000 {
0763 status = "okay";
0764 power-gpios = <&gpio TEGRA_GPIO(K, 6) GPIO_ACTIVE_HIGH>;
0765 bus-width = <4>;
0766 keep-power-in-suspend;
0767 };
0768
0769 mmc@c8000400 {
0770 status = "okay";
0771 cd-gpios = <&gpio TEGRA_GPIO(I, 5) GPIO_ACTIVE_LOW>;
0772 wp-gpios = <&gpio TEGRA_GPIO(H, 1) GPIO_ACTIVE_HIGH>;
0773 power-gpios = <&gpio TEGRA_GPIO(I, 6) GPIO_ACTIVE_HIGH>;
0774 bus-width = <4>;
0775 };
0776
0777 mmc@c8000600 {
0778 status = "okay";
0779 bus-width = <8>;
0780 non-removable;
0781 };
0782
0783 backlight: backlight {
0784 compatible = "pwm-backlight";
0785
0786 enable-gpios = <&gpio TEGRA_GPIO(D, 4) GPIO_ACTIVE_HIGH>;
0787 power-supply = <&vdd_bl_reg>;
0788 pwms = <&pwm 2 5000000>;
0789
0790 brightness-levels = <0 4 8 16 32 64 128 255>;
0791 default-brightness-level = <6>;
0792 };
0793
0794 clk32k_in: clock-32k {
0795 compatible = "fixed-clock";
0796 clock-frequency = <32768>;
0797 #clock-cells = <0>;
0798 };
0799
0800 gpio-keys {
0801 compatible = "gpio-keys";
0802
0803 key-power {
0804 label = "Power";
0805 gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_LOW>;
0806 linux,code = <KEY_POWER>;
0807 wakeup-source;
0808 };
0809
0810 switch-lid {
0811 label = "Lid";
0812 gpios = <&gpio TEGRA_GPIO(C, 7) GPIO_ACTIVE_HIGH>;
0813 linux,input-type = <5>; /* EV_SW */
0814 linux,code = <0>; /* SW_LID */
0815 debounce-interval = <1>;
0816 wakeup-source;
0817 };
0818 };
0819
0820 panel: panel {
0821 compatible = "chunghwa,claa101wa01a";
0822
0823 power-supply = <&vdd_pnl_reg>;
0824 enable-gpios = <&gpio TEGRA_GPIO(B, 2) GPIO_ACTIVE_HIGH>;
0825
0826 backlight = <&backlight>;
0827 ddc-i2c-bus = <&lvds_ddc>;
0828 };
0829
0830 vdd_5v0_reg: regulator-5v0 {
0831 compatible = "regulator-fixed";
0832 regulator-name = "vdd_5v0";
0833 regulator-min-microvolt = <5000000>;
0834 regulator-max-microvolt = <5000000>;
0835 regulator-always-on;
0836 };
0837
0838 regulator-1v5 {
0839 compatible = "regulator-fixed";
0840 regulator-name = "vdd_1v5";
0841 regulator-min-microvolt = <1500000>;
0842 regulator-max-microvolt = <1500000>;
0843 gpio = <&pmic 0 GPIO_ACTIVE_HIGH>;
0844 };
0845
0846 regulator-1v2 {
0847 compatible = "regulator-fixed";
0848 regulator-name = "vdd_1v2";
0849 regulator-min-microvolt = <1200000>;
0850 regulator-max-microvolt = <1200000>;
0851 gpio = <&pmic 1 GPIO_ACTIVE_HIGH>;
0852 enable-active-high;
0853 };
0854
0855 vbus_reg: regulator-vbus {
0856 compatible = "regulator-fixed";
0857 regulator-name = "vdd_vbus_wup1";
0858 regulator-min-microvolt = <5000000>;
0859 regulator-max-microvolt = <5000000>;
0860 enable-active-high;
0861 gpio = <&gpio TEGRA_GPIO(D, 0) 0>;
0862 regulator-always-on;
0863 regulator-boot-on;
0864 };
0865
0866 vdd_pnl_reg: regulator-pnl {
0867 compatible = "regulator-fixed";
0868 regulator-name = "vdd_pnl";
0869 regulator-min-microvolt = <2800000>;
0870 regulator-max-microvolt = <2800000>;
0871 gpio = <&gpio TEGRA_GPIO(C, 6) GPIO_ACTIVE_HIGH>;
0872 enable-active-high;
0873 };
0874
0875 vdd_bl_reg: regulator-bl {
0876 compatible = "regulator-fixed";
0877 regulator-name = "vdd_bl";
0878 regulator-min-microvolt = <2800000>;
0879 regulator-max-microvolt = <2800000>;
0880 gpio = <&gpio TEGRA_GPIO(W, 0) GPIO_ACTIVE_HIGH>;
0881 enable-active-high;
0882 };
0883
0884 vdd_hdmi: regulator-hdmi {
0885 compatible = "regulator-fixed";
0886 regulator-name = "VDDIO_HDMI";
0887 regulator-min-microvolt = <5000000>;
0888 regulator-max-microvolt = <5000000>;
0889 gpio = <&gpio TEGRA_GPIO(V, 5) GPIO_ACTIVE_HIGH>;
0890 enable-active-high;
0891 vin-supply = <&vdd_5v0_reg>;
0892 };
0893
0894 sound {
0895 compatible = "nvidia,tegra-audio-wm8903-seaboard",
0896 "nvidia,tegra-audio-wm8903";
0897 nvidia,model = "NVIDIA Tegra Seaboard";
0898
0899 nvidia,audio-routing =
0900 "Headphone Jack", "HPOUTR",
0901 "Headphone Jack", "HPOUTL",
0902 "Int Spk", "ROP",
0903 "Int Spk", "RON",
0904 "Int Spk", "LOP",
0905 "Int Spk", "LON",
0906 "Mic Jack", "MICBIAS",
0907 "IN1R", "Mic Jack";
0908
0909 nvidia,i2s-controller = <&tegra_i2s1>;
0910 nvidia,audio-codec = <&wm8903>;
0911
0912 nvidia,spkr-en-gpios = <&wm8903 2 GPIO_ACTIVE_HIGH>;
0913 nvidia,hp-det-gpios = <&gpio TEGRA_GPIO(X, 1) GPIO_ACTIVE_LOW>;
0914
0915 clocks = <&tegra_car TEGRA20_CLK_PLL_A>,
0916 <&tegra_car TEGRA20_CLK_PLL_A_OUT0>,
0917 <&tegra_car TEGRA20_CLK_CDEV1>;
0918 clock-names = "pll_a", "pll_a_out0", "mclk";
0919 };
0920 };