Back to home page

OSCL-LXR

 
 

    


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 };