Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003  * Google Peach Pi Rev 10+ board device tree source
0004  *
0005  * Copyright (c) 2014 Google, Inc
0006  */
0007 
0008 /dts-v1/;
0009 #include <dt-bindings/input/input.h>
0010 #include <dt-bindings/gpio/gpio.h>
0011 #include <dt-bindings/interrupt-controller/irq.h>
0012 #include <dt-bindings/clock/maxim,max77802.h>
0013 #include <dt-bindings/regulator/maxim,max77802.h>
0014 #include <dt-bindings/sound/samsung-i2s.h>
0015 #include "exynos5800.dtsi"
0016 #include "exynos5420-cpus.dtsi"
0017 
0018 / {
0019         model = "Google Peach Pi Rev 10+";
0020 
0021         compatible = "google,pi-rev16",
0022                 "google,pi-rev15", "google,pi-rev14",
0023                 "google,pi-rev13", "google,pi-rev12",
0024                 "google,pi-rev11", "google,pi-rev10",
0025                 "google,pi", "google,peach", "samsung,exynos5800",
0026                 "samsung,exynos5";
0027         chassis-type = "laptop";
0028 
0029         aliases {
0030                 /* Assign 20 so we don't get confused w/ builtin ones */
0031                 i2c20 = &i2c_tunnel;
0032         };
0033 
0034         backlight: backlight {
0035                 compatible = "pwm-backlight";
0036                 pwms = <&pwm 0 1000000 0>;
0037                 brightness-levels = <0 100 500 1000 1500 2000 2500 2800>;
0038                 default-brightness-level = <7>;
0039                 enable-gpios = <&gpx2 2 GPIO_ACTIVE_HIGH>;
0040                 power-supply = <&tps65090_fet1>;
0041                 pinctrl-0 = <&pwm0_out>;
0042                 pinctrl-names = "default";
0043         };
0044 
0045         chosen {
0046                 stdout-path = "serial3:115200n8";
0047         };
0048 
0049         fixed-rate-clocks {
0050                 oscclk {
0051                         compatible = "samsung,exynos5420-oscclk";
0052                         clock-frequency = <24000000>;
0053                 };
0054         };
0055 
0056         gpio-keys {
0057                 compatible = "gpio-keys";
0058 
0059                 pinctrl-names = "default";
0060                 pinctrl-0 = <&power_key_irq &lid_irq>;
0061 
0062                 power-key {
0063                         label = "Power";
0064                         gpios = <&gpx1 2 GPIO_ACTIVE_LOW>;
0065                         linux,code = <KEY_POWER>;
0066                         wakeup-source;
0067                 };
0068 
0069                 lid-switch {
0070                         label = "Lid";
0071                         gpios = <&gpx3 4 GPIO_ACTIVE_LOW>;
0072                         linux,input-type = <5>; /* EV_SW */
0073                         linux,code = <0>; /* SW_LID */
0074                         debounce-interval = <1>;
0075                         wakeup-source;
0076                 };
0077 
0078         };
0079 
0080         memory@20000000 {
0081                 device_type = "memory";
0082                 reg = <0x20000000 0x80000000>;
0083         };
0084 
0085         sound {
0086                 compatible = "google,snow-audio-max98091";
0087 
0088                 samsung,model = "Peach-Pi-I2S-MAX98091";
0089                 samsung,i2s-controller = <&i2s0>;
0090                 samsung,audio-codec = <&max98091>;
0091 
0092                 cpu {
0093                         sound-dai = <&i2s0 0>;
0094                 };
0095 
0096                 codec {
0097                         sound-dai = <&max98091>, <&hdmi>;
0098                 };
0099         };
0100 
0101         usb300_vbus_reg: regulator-usb300 {
0102                 compatible = "regulator-fixed";
0103                 regulator-name = "P5.0V_USB3CON0";
0104                 regulator-min-microvolt = <5000000>;
0105                 regulator-max-microvolt = <5000000>;
0106                 gpio = <&gph0 0 GPIO_ACTIVE_HIGH>;
0107                 pinctrl-names = "default";
0108                 pinctrl-0 = <&usb300_vbus_en>;
0109                 enable-active-high;
0110         };
0111 
0112         usb301_vbus_reg: regulator-usb301 {
0113                 compatible = "regulator-fixed";
0114                 regulator-name = "P5.0V_USB3CON1";
0115                 regulator-min-microvolt = <5000000>;
0116                 regulator-max-microvolt = <5000000>;
0117                 gpio = <&gph0 1 GPIO_ACTIVE_HIGH>;
0118                 pinctrl-names = "default";
0119                 pinctrl-0 = <&usb301_vbus_en>;
0120                 enable-active-high;
0121         };
0122 
0123         vbat: fixed-regulator {
0124                 compatible = "regulator-fixed";
0125                 regulator-name = "vbat-supply";
0126                 regulator-boot-on;
0127                 regulator-always-on;
0128         };
0129 
0130         panel: panel {
0131                 compatible = "auo,b133htn01";
0132                 power-supply = <&tps65090_fet6>;
0133                 backlight = <&backlight>;
0134 
0135                 port {
0136                         panel_in: endpoint {
0137                                 remote-endpoint = <&dp_out>;
0138                         };
0139                 };
0140         };
0141 
0142         mmc1_pwrseq: mmc1-pwrseq {
0143                 compatible = "mmc-pwrseq-simple";
0144                 reset-gpios = <&gpx0 0 GPIO_ACTIVE_LOW>; /* WIFI_EN */
0145                 clocks = <&max77802 MAX77802_CLK_32K_CP>;
0146                 clock-names = "ext_clock";
0147         };
0148 };
0149 
0150 &adc {
0151         status = "okay";
0152         vdd-supply = <&ldo9_reg>;
0153 };
0154 
0155 &clock_audss {
0156         assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>;
0157         assigned-clock-parents = <&clock CLK_MAU_EPLL>;
0158 };
0159 
0160 /*
0161  * Peach Pi board uses SoC revision with lower maximum frequency for A7 cores
0162  * (1.3 GHz instead of 1.4 GHz) than Odroid XU3/XU4 boards.  Thus we need to
0163  * update A7 OPPs table accordingly.
0164  */
0165 &cluster_a7_opp_table {
0166         /delete-node/opp-1400000000;
0167 };
0168 
0169 &cpu0 {
0170         cpu-supply = <&buck2_reg>;
0171 };
0172 
0173 &cpu4 {
0174         cpu-supply = <&buck6_reg>;
0175 };
0176 
0177 &dp {
0178         status = "okay";
0179         pinctrl-names = "default";
0180         pinctrl-0 = <&dp_hpd_gpio>;
0181         samsung,color-space = <0>;
0182         samsung,color-depth = <1>;
0183         samsung,link-rate = <0x0a>;
0184         samsung,lane-count = <2>;
0185         samsung,hpd-gpio = <&gpx2 6 GPIO_ACTIVE_HIGH>;
0186 
0187         ports {
0188                 port {
0189                         dp_out: endpoint {
0190                                 remote-endpoint = <&panel_in>;
0191                         };
0192                 };
0193         };
0194 };
0195 
0196 &fimd {
0197         status = "okay";
0198         samsung,invert-vclk;
0199 };
0200 
0201 &hdmi {
0202         status = "okay";
0203         hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
0204         pinctrl-names = "default";
0205         pinctrl-0 = <&hdmi_hpd_irq>;
0206         ddc = <&i2c_2>;
0207 
0208         hdmi-en-supply = <&tps65090_fet7>;
0209         vdd-supply = <&ldo8_reg>;
0210         vdd_osc-supply = <&ldo10_reg>;
0211         vdd_pll-supply = <&ldo8_reg>;
0212 };
0213 
0214 &hsi2c_4 {
0215         status = "okay";
0216         clock-frequency = <400000>;
0217 
0218         max77802: pmic@9 {
0219                 compatible = "maxim,max77802";
0220                 interrupt-parent = <&gpx3>;
0221                 interrupts = <1 IRQ_TYPE_NONE>;
0222                 pinctrl-names = "default";
0223                 pinctrl-0 = <&max77802_irq>, <&pmic_selb>,
0224                             <&pmic_dvs_1>, <&pmic_dvs_2>;
0225                 wakeup-source;
0226                 reg = <0x9>;
0227                 #clock-cells = <1>;
0228 
0229                 inb1-supply = <&tps65090_dcdc2>;
0230                 inb2-supply = <&tps65090_dcdc1>;
0231                 inb3-supply = <&tps65090_dcdc2>;
0232                 inb4-supply = <&tps65090_dcdc2>;
0233                 inb5-supply = <&tps65090_dcdc1>;
0234                 inb6-supply = <&tps65090_dcdc2>;
0235                 inb7-supply = <&tps65090_dcdc1>;
0236                 inb8-supply = <&tps65090_dcdc1>;
0237                 inb9-supply = <&tps65090_dcdc1>;
0238                 inb10-supply = <&tps65090_dcdc1>;
0239 
0240                 inl1-supply = <&buck5_reg>;
0241                 inl2-supply = <&buck7_reg>;
0242                 inl3-supply = <&buck9_reg>;
0243                 inl4-supply = <&buck9_reg>;
0244                 inl5-supply = <&buck9_reg>;
0245                 inl6-supply = <&tps65090_dcdc2>;
0246                 inl7-supply = <&buck9_reg>;
0247                 inl9-supply = <&tps65090_dcdc2>;
0248                 inl10-supply = <&buck7_reg>;
0249 
0250                 regulators {
0251                         buck1_reg: BUCK1 {
0252                                 regulator-name = "vdd_mif";
0253                                 regulator-min-microvolt = <800000>;
0254                                 regulator-max-microvolt = <1300000>;
0255                                 regulator-always-on;
0256                                 regulator-boot-on;
0257                                 regulator-ramp-delay = <12500>;
0258                                 regulator-state-mem {
0259                                         regulator-off-in-suspend;
0260                                 };
0261                         };
0262 
0263                         buck2_reg: BUCK2 {
0264                                 regulator-name = "vdd_arm";
0265                                 regulator-min-microvolt = <800000>;
0266                                 regulator-max-microvolt = <1500000>;
0267                                 regulator-always-on;
0268                                 regulator-boot-on;
0269                                 regulator-ramp-delay = <12500>;
0270                                 regulator-coupled-with = <&buck3_reg>;
0271                                 regulator-coupled-max-spread = <300000>;
0272                                 regulator-state-mem {
0273                                         regulator-off-in-suspend;
0274                                 };
0275                         };
0276 
0277                         buck3_reg: BUCK3 {
0278                                 regulator-name = "vdd_int";
0279                                 regulator-min-microvolt = <800000>;
0280                                 regulator-max-microvolt = <1400000>;
0281                                 regulator-always-on;
0282                                 regulator-boot-on;
0283                                 regulator-ramp-delay = <12500>;
0284                                 regulator-coupled-with = <&buck2_reg>;
0285                                 regulator-coupled-max-spread = <300000>;
0286                                 regulator-state-mem {
0287                                         regulator-off-in-suspend;
0288                                 };
0289                         };
0290 
0291                         buck4_reg: BUCK4 {
0292                                 regulator-name = "vdd_g3d";
0293                                 regulator-min-microvolt = <700000>;
0294                                 regulator-max-microvolt = <1400000>;
0295                                 regulator-always-on;
0296                                 regulator-boot-on;
0297                                 regulator-ramp-delay = <12500>;
0298                                 regulator-state-mem {
0299                                         regulator-off-in-suspend;
0300                                 };
0301                         };
0302 
0303                         buck5_reg: BUCK5 {
0304                                 regulator-name = "vdd_1v2";
0305                                 regulator-min-microvolt = <1200000>;
0306                                 regulator-max-microvolt = <1200000>;
0307                                 regulator-boot-on;
0308                                 regulator-state-mem {
0309                                         regulator-off-in-suspend;
0310                                 };
0311                         };
0312 
0313                         buck6_reg: BUCK6 {
0314                                 regulator-name = "vdd_kfc";
0315                                 regulator-min-microvolt = <800000>;
0316                                 regulator-max-microvolt = <1500000>;
0317                                 regulator-always-on;
0318                                 regulator-boot-on;
0319                                 regulator-ramp-delay = <12500>;
0320                                 regulator-state-mem {
0321                                         regulator-off-in-suspend;
0322                                 };
0323                         };
0324 
0325                         buck7_reg: BUCK7 {
0326                                 regulator-name = "vdd_1v35";
0327                                 regulator-min-microvolt = <1350000>;
0328                                 regulator-max-microvolt = <1350000>;
0329                                 regulator-always-on;
0330                                 regulator-boot-on;
0331                                 regulator-state-mem {
0332                                         regulator-on-in-suspend;
0333                                 };
0334                         };
0335 
0336                         buck8_reg: BUCK8 {
0337                                 regulator-name = "vdd_emmc";
0338                                 regulator-min-microvolt = <2850000>;
0339                                 regulator-max-microvolt = <2850000>;
0340                                 regulator-always-on;
0341                                 regulator-boot-on;
0342                                 regulator-state-mem {
0343                                         regulator-off-in-suspend;
0344                                 };
0345                         };
0346 
0347                         buck9_reg: BUCK9 {
0348                                 regulator-name = "vdd_2v";
0349                                 regulator-min-microvolt = <2000000>;
0350                                 regulator-max-microvolt = <2000000>;
0351                                 regulator-always-on;
0352                                 regulator-boot-on;
0353                                 regulator-state-mem {
0354                                         regulator-on-in-suspend;
0355                                 };
0356                         };
0357 
0358                         buck10_reg: BUCK10 {
0359                                 regulator-name = "vdd_1v8";
0360                                 regulator-min-microvolt = <1800000>;
0361                                 regulator-max-microvolt = <1800000>;
0362                                 regulator-always-on;
0363                                 regulator-boot-on;
0364                                 regulator-state-mem {
0365                                         regulator-on-in-suspend;
0366                                 };
0367                         };
0368 
0369                         ldo1_reg: LDO1 {
0370                                 regulator-name = "vdd_1v0";
0371                                 regulator-min-microvolt = <1000000>;
0372                                 regulator-max-microvolt = <1000000>;
0373                                 regulator-always-on;
0374                                 regulator-state-mem {
0375                                         regulator-on-in-suspend;
0376                                         regulator-mode = <MAX77802_OPMODE_LP>;
0377                                 };
0378                         };
0379 
0380                         ldo2_reg: LDO2 {
0381                                 regulator-name = "vdd_1v2_2";
0382                                 regulator-min-microvolt = <1200000>;
0383                                 regulator-max-microvolt = <1200000>;
0384                         };
0385 
0386                         ldo3_reg: LDO3 {
0387                                 regulator-name = "vdd_1v8_3";
0388                                 regulator-min-microvolt = <1800000>;
0389                                 regulator-max-microvolt = <1800000>;
0390                                 regulator-always-on;
0391                                 regulator-state-mem {
0392                                         regulator-on-in-suspend;
0393                                         regulator-mode = <MAX77802_OPMODE_LP>;
0394                                 };
0395                         };
0396 
0397                         vqmmc_sdcard: ldo4_reg: LDO4 {
0398                                 regulator-name = "vdd_sd";
0399                                 regulator-min-microvolt = <1800000>;
0400                                 regulator-max-microvolt = <2800000>;
0401                                 regulator-always-on;
0402                                 regulator-state-mem {
0403                                         regulator-off-in-suspend;
0404                                 };
0405                         };
0406 
0407                         ldo5_reg: LDO5 {
0408                                 regulator-name = "vdd_1v8_5";
0409                                 regulator-min-microvolt = <1800000>;
0410                                 regulator-max-microvolt = <1800000>;
0411                                 regulator-always-on;
0412                                 regulator-state-mem {
0413                                         regulator-off-in-suspend;
0414                                 };
0415                         };
0416 
0417                         ldo6_reg: LDO6 {
0418                                 regulator-name = "vdd_1v8_6";
0419                                 regulator-min-microvolt = <1800000>;
0420                                 regulator-max-microvolt = <1800000>;
0421                                 regulator-always-on;
0422                                 regulator-state-mem {
0423                                         regulator-off-in-suspend;
0424                                 };
0425                         };
0426 
0427                         ldo7_reg: LDO7 {
0428                                 regulator-name = "vdd_1v8_7";
0429                                 regulator-min-microvolt = <1800000>;
0430                                 regulator-max-microvolt = <1800000>;
0431                         };
0432 
0433                         ldo8_reg: LDO8 {
0434                                 regulator-name = "vdd_ldo8";
0435                                 regulator-min-microvolt = <1000000>;
0436                                 regulator-max-microvolt = <1000000>;
0437                                 regulator-always-on;
0438                                 regulator-state-mem {
0439                                         regulator-off-in-suspend;
0440                                 };
0441                         };
0442 
0443                         ldo9_reg: LDO9 {
0444                                 regulator-name = "vdd_ldo9";
0445                                 regulator-min-microvolt = <1800000>;
0446                                 regulator-max-microvolt = <1800000>;
0447                                 regulator-state-mem {
0448                                         regulator-on-in-suspend;
0449                                         regulator-mode = <MAX77802_OPMODE_LP>;
0450                                 };
0451                         };
0452 
0453                         ldo10_reg: LDO10 {
0454                                 regulator-name = "vdd_ldo10";
0455                                 regulator-min-microvolt = <1800000>;
0456                                 regulator-max-microvolt = <1800000>;
0457                                 regulator-always-on;
0458                                 regulator-state-mem {
0459                                         regulator-off-in-suspend;
0460                                 };
0461                         };
0462 
0463                         ldo11_reg: LDO11 {
0464                                 regulator-name = "vdd_ldo11";
0465                                 regulator-min-microvolt = <1800000>;
0466                                 regulator-max-microvolt = <1800000>;
0467                                 regulator-always-on;
0468                                 regulator-state-mem {
0469                                         regulator-on-in-suspend;
0470                                         regulator-mode = <MAX77802_OPMODE_LP>;
0471                                 };
0472                         };
0473 
0474                         ldo12_reg: LDO12 {
0475                                 regulator-name = "vdd_ldo12";
0476                                 regulator-min-microvolt = <3000000>;
0477                                 regulator-max-microvolt = <3000000>;
0478                                 regulator-always-on;
0479                                 regulator-state-mem {
0480                                         regulator-off-in-suspend;
0481                                 };
0482                         };
0483 
0484                         ldo13_reg: LDO13 {
0485                                 regulator-name = "vdd_ldo13";
0486                                 regulator-min-microvolt = <1800000>;
0487                                 regulator-max-microvolt = <1800000>;
0488                                 regulator-always-on;
0489                                 regulator-state-mem {
0490                                         regulator-on-in-suspend;
0491                                         regulator-mode = <MAX77802_OPMODE_LP>;
0492                                 };
0493                         };
0494 
0495                         ldo14_reg: LDO14 {
0496                                 regulator-name = "vdd_ldo14";
0497                                 regulator-min-microvolt = <1800000>;
0498                                 regulator-max-microvolt = <1800000>;
0499                                 regulator-always-on;
0500                                 regulator-state-mem {
0501                                         regulator-off-in-suspend;
0502                                 };
0503                         };
0504 
0505                         ldo15_reg: LDO15 {
0506                                 regulator-name = "vdd_ldo15";
0507                                 regulator-min-microvolt = <1000000>;
0508                                 regulator-max-microvolt = <1000000>;
0509                                 regulator-always-on;
0510                                 regulator-state-mem {
0511                                         regulator-off-in-suspend;
0512                                 };
0513                         };
0514 
0515                         ldo17_reg: LDO17 {
0516                                 regulator-name = "vdd_g3ds";
0517                                 regulator-min-microvolt = <900000>;
0518                                 regulator-max-microvolt = <1400000>;
0519                                 regulator-always-on;
0520                                 regulator-state-mem {
0521                                         regulator-off-in-suspend;
0522                                 };
0523                         };
0524 
0525                         ldo18_reg: LDO18 {
0526                                 regulator-name = "ldo_18";
0527                                 regulator-min-microvolt = <1800000>;
0528                                 regulator-max-microvolt = <1800000>;
0529                         };
0530 
0531                         ldo19_reg: LDO19 {
0532                                 regulator-name = "ldo_19";
0533                                 regulator-min-microvolt = <1800000>;
0534                                 regulator-max-microvolt = <1800000>;
0535                         };
0536 
0537                         ldo20_reg: LDO20 {
0538                                 regulator-name = "ldo_20";
0539                                 regulator-min-microvolt = <1800000>;
0540                                 regulator-max-microvolt = <1800000>;
0541                                 regulator-always-on;
0542                         };
0543 
0544                         ldo21_reg: LDO21 {
0545                                 regulator-name = "ldo_21";
0546                                 regulator-min-microvolt = <2800000>;
0547                                 regulator-max-microvolt = <2800000>;
0548                         };
0549 
0550                         ldo23_reg: LDO23 {
0551                                 regulator-name = "ldo_23";
0552                                 regulator-min-microvolt = <3300000>;
0553                                 regulator-max-microvolt = <3300000>;
0554                         };
0555                         ldo24_reg: LDO24 {
0556                                 regulator-name = "ldo_24";
0557                                 regulator-min-microvolt = <2800000>;
0558                                 regulator-max-microvolt = <2800000>;
0559                         };
0560 
0561                         ldo25_reg: LDO25 {
0562                                 regulator-name = "ldo_25";
0563                                 regulator-min-microvolt = <3300000>;
0564                                 regulator-max-microvolt = <3300000>;
0565                         };
0566 
0567                         ldo26_reg: LDO26 {
0568                                 regulator-name = "ldo_26";
0569                                 regulator-min-microvolt = <1200000>;
0570                                 regulator-max-microvolt = <1200000>;
0571                         };
0572 
0573                         ldo27_reg: LDO27 {
0574                                 regulator-name = "ldo_27";
0575                                 regulator-min-microvolt = <1200000>;
0576                                 regulator-max-microvolt = <1200000>;
0577                         };
0578 
0579                         ldo28_reg: LDO28 {
0580                                 regulator-name = "ldo_28";
0581                                 regulator-min-microvolt = <1800000>;
0582                                 regulator-max-microvolt = <1800000>;
0583                         };
0584 
0585                         ldo29_reg: LDO29 {
0586                                 regulator-name = "ldo_29";
0587                                 regulator-min-microvolt = <1800000>;
0588                                 regulator-max-microvolt = <1800000>;
0589                         };
0590 
0591                         ldo30_reg: LDO30 {
0592                                 regulator-name = "vdd_mifs";
0593                                 regulator-min-microvolt = <1000000>;
0594                                 regulator-max-microvolt = <1000000>;
0595                                 regulator-always-on;
0596                                 regulator-state-mem {
0597                                         regulator-off-in-suspend;
0598                                 };
0599                         };
0600 
0601                         ldo32_reg: LDO32 {
0602                                 regulator-name = "ldo_32";
0603                                 regulator-min-microvolt = <3000000>;
0604                                 regulator-max-microvolt = <3000000>;
0605                         };
0606 
0607                         ldo33_reg: LDO33 {
0608                                 regulator-name = "ldo_33";
0609                                 regulator-min-microvolt = <2800000>;
0610                                 regulator-max-microvolt = <2800000>;
0611                         };
0612 
0613                         ldo34_reg: LDO34 {
0614                                 regulator-name = "ldo_34";
0615                                 regulator-min-microvolt = <3000000>;
0616                                 regulator-max-microvolt = <3000000>;
0617                         };
0618 
0619                         ldo35_reg: LDO35 {
0620                                 regulator-name = "ldo_35";
0621                                 regulator-min-microvolt = <1200000>;
0622                                 regulator-max-microvolt = <1200000>;
0623                         };
0624                 };
0625         };
0626 };
0627 
0628 &hsi2c_7 {
0629         status = "okay";
0630         clock-frequency = <400000>;
0631 
0632         max98091: codec@10 {
0633                 compatible = "maxim,max98091";
0634                 reg = <0x10>;
0635                 interrupts = <2 IRQ_TYPE_NONE>;
0636                 interrupt-parent = <&gpx0>;
0637                 pinctrl-names = "default";
0638                 pinctrl-0 = <&max98091_irq>;
0639                 clocks = <&pmu_system_controller 0>;
0640                 clock-names = "mclk";
0641                 #sound-dai-cells = <0>;
0642         };
0643 
0644         light-sensor@44 {
0645                 compatible = "isil,isl29018";
0646                 reg = <0x44>;
0647                 vcc-supply = <&tps65090_fet5>;
0648         };
0649 };
0650 
0651 &hsi2c_8 {
0652         status = "okay";
0653         clock-frequency = <333000>;
0654         /* Atmel mXT540S */
0655         trackpad@4b {
0656                 compatible = "atmel,maxtouch";
0657                 reg = <0x4b>;
0658                 interrupt-parent = <&gpx1>;
0659                 interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
0660                 wakeup-source;
0661                 pinctrl-names = "default";
0662                 pinctrl-0 = <&trackpad_irq>;
0663                 linux,gpio-keymap = <KEY_RESERVED
0664                                      KEY_RESERVED
0665                                      KEY_RESERVED       /* GPIO 0 */
0666                                      KEY_RESERVED       /* GPIO 1 */
0667                                      BTN_LEFT           /* GPIO 2 */
0668                                      KEY_RESERVED>;     /* GPIO 3 */
0669         };
0670 };
0671 
0672 &hsi2c_9 {
0673         status = "okay";
0674         clock-frequency = <400000>;
0675 
0676         tpm@20 {
0677                 compatible = "infineon,slb9645tt";
0678                 reg = <0x20>;
0679 
0680                 /* Unused irq; but still need to configure the pins */
0681                 pinctrl-names = "default";
0682                 pinctrl-0 = <&tpm_irq>;
0683         };
0684 };
0685 
0686 &i2c_2 {
0687         status = "okay";
0688         samsung,i2c-sda-delay = <100>;
0689         samsung,i2c-max-bus-freq = <66000>;
0690         samsung,i2c-slave-addr = <0x50>;
0691 };
0692 
0693 &i2s0 {
0694         assigned-clocks = <&i2s0 CLK_I2S_RCLK_SRC>;
0695         assigned-clock-parents = <&clock_audss EXYNOS_I2S_BUS>;
0696         status = "okay";
0697 };
0698 
0699 &mixer {
0700         status = "okay";
0701 };
0702 
0703 /* eMMC flash */
0704 &mmc_0 {
0705         status = "okay";
0706         mmc-hs200-1_8v;
0707         mmc-hs400-1_8v;
0708         cap-mmc-highspeed;
0709         non-removable;
0710         clock-frequency = <800000000>;
0711         samsung,dw-mshc-ciu-div = <3>;
0712         samsung,dw-mshc-sdr-timing = <0 4>;
0713         samsung,dw-mshc-ddr-timing = <0 2>;
0714         samsung,dw-mshc-hs400-timing = <0 2>;
0715         samsung,read-strobe-delay = <90>;
0716         pinctrl-names = "default";
0717         pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8 &sd0_rclk>;
0718         bus-width = <8>;
0719 };
0720 
0721 /* WiFi SDIO module */
0722 &mmc_1 {
0723         status = "okay";
0724         non-removable;
0725         cap-sdio-irq;
0726         keep-power-in-suspend;
0727         clock-frequency = <400000000>;
0728         samsung,dw-mshc-ciu-div = <1>;
0729         samsung,dw-mshc-sdr-timing = <0 1>;
0730         samsung,dw-mshc-ddr-timing = <0 2>;
0731         pinctrl-names = "default";
0732         pinctrl-0 = <&sd1_clk>, <&sd1_cmd>, <&sd1_int>, <&sd1_bus1>,
0733                     <&sd1_bus4>, <&sd1_bus8>, <&wifi_en>;
0734         bus-width = <4>;
0735         cap-sd-highspeed;
0736         mmc-pwrseq = <&mmc1_pwrseq>;
0737         vqmmc-supply = <&buck10_reg>;
0738 };
0739 
0740 /* uSD card */
0741 &mmc_2 {
0742         status = "okay";
0743         cap-sd-highspeed;
0744         card-detect-delay = <200>;
0745         clock-frequency = <400000000>;
0746         samsung,dw-mshc-ciu-div = <3>;
0747         samsung,dw-mshc-sdr-timing = <2 3>;
0748         samsung,dw-mshc-ddr-timing = <1 2>;
0749         pinctrl-names = "default";
0750         pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>;
0751         bus-width = <4>;
0752 };
0753 
0754 
0755 &pinctrl_0 {
0756         pinctrl-names = "default";
0757         pinctrl-0 = <&mask_tpm_reset>;
0758 
0759         wifi_en: wifi-en-pins {
0760                 samsung,pins = "gpx0-0";
0761                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
0762                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0763                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0764         };
0765 
0766         max98091_irq: max98091-irq-pins {
0767                 samsung,pins = "gpx0-2";
0768                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
0769                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0770                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0771         };
0772 
0773         /* We need GPX0_6 to be low at sleep time; just keep it low always */
0774         mask_tpm_reset: mask-tpm-reset-pins {
0775                 samsung,pins = "gpx0-6";
0776                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
0777                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0778                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0779                 samsung,pin-val = <0>;
0780         };
0781 
0782         tpm_irq: tpm-irq-pins {
0783                 samsung,pins = "gpx1-0";
0784                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
0785                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0786                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0787         };
0788 
0789         trackpad_irq: trackpad-irq-pins {
0790                 samsung,pins = "gpx1-1";
0791                 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
0792                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0793                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0794         };
0795 
0796         power_key_irq: power-key-irq-pins {
0797                 samsung,pins = "gpx1-2";
0798                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
0799                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0800                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0801         };
0802 
0803         ec_irq: ec-irq-pins {
0804                 samsung,pins = "gpx1-5";
0805                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
0806                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0807                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0808         };
0809 
0810         tps65090_irq: tps65090-irq-pins {
0811                 samsung,pins = "gpx2-5";
0812                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
0813                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0814                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0815         };
0816 
0817         dp_hpd_gpio: dp-hpd-gpio-pins {
0818                 samsung,pins = "gpx2-6";
0819                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
0820                 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
0821                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0822         };
0823 
0824         max77802_irq: max77802-irq-pins {
0825                 samsung,pins = "gpx3-1";
0826                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
0827                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0828                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0829         };
0830 
0831         lid_irq: lid-irq-pins {
0832                 samsung,pins = "gpx3-4";
0833                 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
0834                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0835                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0836         };
0837 
0838         hdmi_hpd_irq: hdmi-hpd-irq-pins {
0839                 samsung,pins = "gpx3-7";
0840                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
0841                 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
0842                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0843         };
0844 
0845         pmic_dvs_1: pmic-dvs-1-pins {
0846                 samsung,pins = "gpy7-6";
0847                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
0848                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0849                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0850         };
0851 };
0852 
0853 /* pinctrl_1 */
0854 /* Adjust WiFi drive strengths lower for EMI */
0855 &sd1_bus1 {
0856         samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
0857 };
0858 
0859 &sd1_bus4 {
0860         samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
0861 };
0862 
0863 &sd1_bus8 {
0864         samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
0865 };
0866 
0867 &sd1_clk {
0868         samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
0869 };
0870 
0871 &sd1_cmd {
0872         samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
0873 };
0874 
0875 &pinctrl_2 {
0876         pmic_dvs_2: pmic-dvs-2-pins {
0877                 samsung,pins = "gpj4-2", "gpj4-3";
0878                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
0879                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0880                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0881         };
0882 };
0883 
0884 /* pinctrl_3*/
0885 /* Drive SPI lines at x2 for better integrity */
0886 &spi2_bus {
0887         samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
0888 };
0889 
0890 &pinctrl_3 {
0891         /* Drive SPI chip select at x2 for better integrity */
0892         ec_spi_cs: ec-spi-cs-pins {
0893                 samsung,pins = "gpb1-2";
0894                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
0895                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0896                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV3>;
0897         };
0898 
0899         usb300_vbus_en: usb300-vbus-en-pins {
0900                 samsung,pins = "gph0-0";
0901                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
0902                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0903                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0904         };
0905 
0906         usb301_vbus_en: usb301-vbus-en-pins {
0907                 samsung,pins = "gph0-1";
0908                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
0909                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0910                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0911         };
0912 
0913         pmic_selb: pmic-selb-pins {
0914                 samsung,pins = "gph0-2", "gph0-3", "gph0-4", "gph0-5",
0915                                "gph0-6";
0916                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
0917                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0918                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0919         };
0920 };
0921 
0922 &pmu_system_controller {
0923         assigned-clocks = <&pmu_system_controller 0>;
0924         assigned-clock-parents = <&clock CLK_FIN_PLL>;
0925 };
0926 
0927 &rtc {
0928         status = "okay";
0929         clocks = <&clock CLK_RTC>, <&max77802 MAX77802_CLK_32K_AP>;
0930         clock-names = "rtc", "rtc_src";
0931 };
0932 
0933 &spi_2 {
0934         status = "okay";
0935         num-cs = <1>;
0936         samsung,spi-src-clk = <0>;
0937         cs-gpios = <&gpb1 2 GPIO_ACTIVE_HIGH>;
0938 
0939         cros_ec: cros-ec@0 {
0940                 compatible = "google,cros-ec-spi";
0941                 interrupt-parent = <&gpx1>;
0942                 interrupts = <5 IRQ_TYPE_NONE>;
0943                 pinctrl-names = "default";
0944                 pinctrl-0 = <&ec_spi_cs &ec_irq>;
0945                 reg = <0>;
0946                 spi-max-frequency = <3125000>;
0947                 google,has-vbc-nvram;
0948 
0949                 controller-data {
0950                         samsung,spi-feedback-delay = <1>;
0951                 };
0952 
0953                 i2c_tunnel: i2c-tunnel {
0954                         compatible = "google,cros-ec-i2c-tunnel";
0955                         #address-cells = <1>;
0956                         #size-cells = <0>;
0957                         google,remote-bus = <0>;
0958 
0959                         battery: sbs-battery@b {
0960                                 compatible = "sbs,sbs-battery";
0961                                 reg = <0xb>;
0962                                 sbs,poll-retry-count = <1>;
0963                                 sbs,i2c-retry-count = <2>;
0964                         };
0965 
0966                         power-regulator@48 {
0967                                 compatible = "ti,tps65090";
0968                                 reg = <0x48>;
0969 
0970                                 /*
0971                                  * Config irq to disable internal pulls
0972                                  * even though we run in polling mode.
0973                                  */
0974                                 pinctrl-names = "default";
0975                                 pinctrl-0 = <&tps65090_irq>;
0976 
0977                                 vsys1-supply = <&vbat>;
0978                                 vsys2-supply = <&vbat>;
0979                                 vsys3-supply = <&vbat>;
0980                                 infet1-supply = <&vbat>;
0981                                 infet2-supply = <&tps65090_dcdc1>;
0982                                 infet3-supply = <&tps65090_dcdc2>;
0983                                 infet4-supply = <&tps65090_dcdc2>;
0984                                 infet5-supply = <&tps65090_dcdc2>;
0985                                 infet6-supply = <&tps65090_dcdc2>;
0986                                 infet7-supply = <&tps65090_dcdc1>;
0987                                 vsys-l1-supply = <&vbat>;
0988                                 vsys-l2-supply = <&vbat>;
0989 
0990                                 regulators {
0991                                         tps65090_dcdc1: dcdc1 {
0992                                                 ti,enable-ext-control;
0993                                         };
0994                                         tps65090_dcdc2: dcdc2 {
0995                                                 ti,enable-ext-control;
0996                                         };
0997                                         tps65090_dcdc3: dcdc3 {
0998                                                 ti,enable-ext-control;
0999                                         };
1000                                         tps65090_fet1: fet1 {
1001                                                 regulator-name = "vcd_led";
1002                                         };
1003                                         tps65090_fet2: fet2 {
1004                                                 regulator-name = "video_mid";
1005                                                 regulator-always-on;
1006                                         };
1007                                         tps65090_fet3: fet3 {
1008                                                 regulator-name = "wwan_r";
1009                                                 regulator-always-on;
1010                                         };
1011                                         tps65090_fet4: fet4 {
1012                                                 regulator-name = "sdcard";
1013                                                 regulator-always-on;
1014                                         };
1015                                         tps65090_fet5: fet5 {
1016                                                 regulator-name = "camout";
1017                                                 regulator-always-on;
1018                                         };
1019                                         tps65090_fet6: fet6 {
1020                                                 regulator-name = "lcd_vdd";
1021                                         };
1022                                         tps65090_fet7: fet7 {
1023                                                 regulator-name = "video_mid_1a";
1024                                                 regulator-always-on;
1025                                         };
1026                                         tps65090_ldo1: ldo1 {
1027                                         };
1028                                         tps65090_ldo2: ldo2 {
1029                                         };
1030                                 };
1031 
1032                                 charger {
1033                                         compatible = "ti,tps65090-charger";
1034                                 };
1035                         };
1036                 };
1037         };
1038 };
1039 
1040 &serial_3 {
1041         status = "okay";
1042 };
1043 
1044 &timer {
1045         arm,cpu-registers-not-fw-configured;
1046 };
1047 
1048 &tmu_cpu0 {
1049         vtmu-supply = <&ldo10_reg>;
1050 };
1051 
1052 &tmu_cpu1 {
1053         vtmu-supply = <&ldo10_reg>;
1054 };
1055 
1056 &tmu_cpu2 {
1057         vtmu-supply = <&ldo10_reg>;
1058 };
1059 
1060 &tmu_cpu3 {
1061         vtmu-supply = <&ldo10_reg>;
1062 };
1063 
1064 &tmu_gpu {
1065         vtmu-supply = <&ldo10_reg>;
1066 };
1067 
1068 &usbdrd3_0 {
1069         vdd10-supply = <&ldo15_reg>;
1070         vdd33-supply = <&ldo12_reg>;
1071 };
1072 
1073 &usbdrd3_1 {
1074         vdd10-supply = <&ldo15_reg>;
1075         vdd33-supply = <&ldo12_reg>;
1076 };
1077 
1078 &usbdrd_dwc3_0 {
1079         dr_mode = "host";
1080 };
1081 
1082 &usbdrd_dwc3_1 {
1083         dr_mode = "host";
1084 };
1085 
1086 &usbdrd_phy0 {
1087         vbus-supply = <&usb300_vbus_reg>;
1088 };
1089 
1090 &usbdrd_phy1 {
1091         vbus-supply = <&usb301_vbus_reg>;
1092 };
1093 
1094 /*
1095  * Use longest HW watchdog in SoC (32 seconds) since the hardware
1096  * watchdog provides no debugging information (compared to soft/hard
1097  * lockup detectors) and so should be last resort.
1098  */
1099 &watchdog {
1100         timeout-sec = <32>;
1101 };
1102 
1103 #include "cros-ec-keyboard.dtsi"
1104 #include "cros-adc-thermistors.dtsi"