CHROMIUM: exynos: dts: configure eDP/LVDS bridge
[cascardo/linux.git] / arch / arm / boot / dts / cros5250-common.dtsi
index cc6fc67..c95c18e 100644 (file)
                i2s0 = &i2s_0;
        };
 
+       firmware {
+               chromeos {
+                       write-protect-gpio = <&gpd1 6 0 0x10000 0>;
+               };
+       };
+
        i2c@12C60000 {
                samsung,i2c-sda-delay = <100>;
                samsung,i2c-max-bus-freq = <378000>;
                        max77686,buck_ramp_delay = <1>;         /* default */
 
                        voltage-regulators {
+                               ldo6_reg: LDO6 {
+                                       regulator-name = "vdd_ldo6";
+                                       regulator-min-microvolt = <1000000>;
+                                       regulator-max-microvolt = <1000000>;
+                                       regulator-always-on;
+                                       reg_op_mode = <0>; /* Off Mode */
+                               };
+                               ldo7_reg: LDO7 {
+                                       regulator-name = "vdd_ldo7";
+                                       regulator-min-microvolt = <1000000>;
+                                       regulator-max-microvolt = <1000000>;
+                                       regulator-always-on;
+                                       reg_op_mode = <1>; /* Standby Mode */
+                               };
+                               ldo8_reg: LDO8 {
+                                       regulator-name = "vdd_ldo8";
+                                       regulator-min-microvolt = <1000000>;
+                                       regulator-max-microvolt = <1000000>;
+                                       regulator-always-on;
+                                       reg_op_mode = <1>; /* Standby Mode */
+                               };
+                               ldo10_reg: LDO10 {
+                                       regulator-name = "vdd_ldo10";
+                                       regulator-min-microvolt = <1800000>;
+                                       regulator-max-microvolt = <1800000>;
+                                       regulator-always-on;
+                                       reg_op_mode = <1>; /* Standby Mode */
+                               };
                                ldo11_reg: LDO11 {
                                        regulator-name = "vdd_ldo11";
-                                       regulator-min-microvolt = <1900000>;
-                                       regulator-max-microvolt = <1900000>;
+                                       regulator-min-microvolt = <1800000>;
+                                       regulator-max-microvolt = <1800000>;
                                        regulator-always-on;
+                                       reg_op_mode = <0>; /* Off Mode */
+                               };
+                               ldo12_reg: LDO12 {
+                                       regulator-name = "vdd_ldo12";
+                                       regulator-min-microvolt = <3000000>;
+                                       regulator-max-microvolt = <3000000>;
+                                       regulator-always-on;
+                                       reg_op_mode = <1>; /* Standby Mode */
+                               };
+                               ldo13_reg: LDO13 {
+                                       regulator-name = "vdd_ldo13";
+                                       regulator-min-microvolt = <1800000>;
+                                       regulator-max-microvolt = <1800000>;
+                                       regulator-always-on;
+                                       reg_op_mode = <0>; /* Off Mode */
                                };
-
                                ldo14_reg: LDO14 {
                                        regulator-name = "vdd_ldo14";
-                                       regulator-min-microvolt = <1900000>;
-                                       regulator-max-microvolt = <1900000>;
+                                       regulator-min-microvolt = <1800000>;
+                                       regulator-max-microvolt = <1800000>;
                                        regulator-always-on;
+                                       reg_op_mode = <1>; /* Standby Mode */
+                               };
+                               ldo15_reg: LDO15 {
+                                       regulator-name = "vdd_ldo15";
+                                       regulator-min-microvolt = <1000000>;
+                                       regulator-max-microvolt = <1000000>;
+                                       regulator-always-on;
+                                       reg_op_mode = <1>; /* Standby Mode */
+                               };
+                               ldo16_reg: LDO16 {
+                                       regulator-name = "vdd_ldo16";
+                                       regulator-min-microvolt = <1800000>;
+                                       regulator-max-microvolt = <1800000>;
+                                       regulator-always-on;
+                                       reg_op_mode = <1>; /* Standby Mode */
+                               };
+                               ldo17_reg: LDO17 {
+                                       regulator-name = "vdd_bridge";
+                                       regulator-min-microvolt = <1200000>;
+                                       regulator-max-microvolt = <1200000>;
+                                       regulator-boot-on;
+                                       reg_op_mode = <3>; /* Normal Mode */
                                };
 
                                buck1_reg: BUCK1 {
                                        regulator-max-microvolt = <1300000>;
                                        regulator-always-on;
                                        regulator-boot-on;
+                                       reg_op_mode = <1>; /* Standby Mode */
                                };
 
                                buck2_reg: BUCK2 {
                                        regulator-name = "vdd_arm";
                                        regulator-min-microvolt = <850000>;
                                        regulator-max-microvolt = <1350000>;
-                                       regulator-always-on;
                                        regulator-boot-on;
+                                       reg_op_mode = <1>; /* Standby Mode */
                                };
 
                                buck3_reg: BUCK3 {
                                        regulator-name = "vdd_int";
                                        regulator-min-microvolt = <900000>;
                                        regulator-max-microvolt = <1200000>;
-                                       regulator-always-on;
                                        regulator-boot-on;
+                                       reg_op_mode = <1>; /* Standby Mode */
                                };
 
                                buck4_reg: BUCK4 {
                                        regulator-min-microvolt = <850000>;
                                        regulator-max-microvolt = <1300000>;
                                        regulator-boot-on;
+                                       reg_op_mode = <1>; /* Standby Mode */
+                               };
+
+                               buck5_reg: BUCK5 {
+                                       regulator-name = "vdd_1v8";
+                                       regulator-min-microvolt = <1800000>;
+                                       regulator-max-microvolt = <1800000>;
+                                       regulator-always-on;
+                                       regulator-boot-on;
+                                       /* No Standby/Low Power mode for BUCK5 */
+                                       reg_op_mode = <3>; /* Normal Mode */
                                };
 
                                buck8_reg: BUCK8 {
                                        regulator-max-microvolt = <3000000>;
                                        regulator-always-on;
                                        regulator-boot-on;
+                                       /* Turn BUCK8 off when ENB8 is low */
+                                       reg_op_mode = <1>;
                                };
 
                                en32khz_ap: EN32KHZ_AP {
                                        regulator-name = "en32khz_ap";
                                        regulator-boot-on;
+                                       reg_op_mode = <1>; /* Normal Mode */
                                };
 
                                en32khz_cp: EN32KHZ_CP {
                                        regulator-name = "en32khz_cp";
                                        regulator-boot-on;
+                                       reg_op_mode = <1>; /* Normal Mode */
                                };
 
                                enp32kh: ENP32KHZ {
                                        regulator-name = "enp32khz";
                                        regulator-boot-on;
+                                       reg_op_mode = <1>; /* Normal Mode */
                                };
                        };
                };
                tpm {
                        compatible = "infineon,slb9635tt";
                        reg = <0x20>;
-                        powered-while-suspended;
                };
        };
 
                power-regulator {
                        compatible = "ti,tps65090";
                        reg = <0x48>;
+                       interrupts = <22 0>;
+                       interrupt-parent = <&wakeup_eint>;
+                       no-ack-irq;
 
                        voltage-regulators {
                                VFET1 {
                                        tps65090-control-reg-offset = <15>;
+                                       tps65090-overcurrent-wait = <3>;
                                        regulator-name = "vcd_led";
                                        regulator-min-microvolt = <12000000>;
                                        regulator-max-microvolt = <12000000>;
                                };
                                VFET2 {
                                        tps65090-control-reg-offset = <16>;
+                                       tps65090-overcurrent-wait = <3>;
                                        regulator-name = "video_mid";
                                        regulator-min-microvolt = <5000000>;
                                        regulator-max-microvolt = <5000000>;
                                };
                                VFET3 {
                                        tps65090-control-reg-offset = <17>;
+                                       tps65090-overcurrent-wait = <3>;
                                        regulator-name = "wwan_r";
                                        regulator-min-microvolt = <3300000>;
                                        regulator-max-microvolt = <3300000>;
                                };
                                VFET4 {
                                        tps65090-control-reg-offset = <18>;
+                                       tps65090-overcurrent-wait = <3>;
                                        regulator-name = "sdcard";
                                        regulator-min-microvolt = <3300000>;
                                        regulator-max-microvolt = <3300000>;
                                };
                                VFET5 {
                                        tps65090-control-reg-offset = <19>;
+                                       tps65090-overcurrent-wait = <3>;
                                        regulator-name = "camout";
                                        regulator-min-microvolt = <3300000>;
                                        regulator-max-microvolt = <3300000>;
                                };
                                VFET6 {
                                        tps65090-control-reg-offset = <20>;
+                                       tps65090-overcurrent-wait = <3>;
                                        regulator-name = "lcd_vdd";
                                        regulator-min-microvolt = <3300000>;
                                        regulator-max-microvolt = <3300000>;
                                };
                                VFET7 {
                                        tps65090-control-reg-offset = <21>;
+                                       tps65090-overcurrent-wait = <3>;
                                        regulator-name = "ts";
                                        regulator-min-microvolt = <5000000>;
                                        regulator-max-microvolt = <5000000>;
                                };
+                               VBAT: charger {
+                                       tps65090-control-reg-offset = <4>;
+                                       regulator-name = "vinchg";
+                               };
                        };
                };
 
                 ec {
-                       compatible = "google,chromeos-ec";
+                       compatible = "google,chromeos-ec-i2c";
                         reg = <0x1e>;
                         interrupts = <14 0>;
                        interrupt-parent = <&wakeup_eint>;
                status = "disabled";
        };
 
+       adc@12D10000 {
+               vdd-supply = <&buck5_reg>;
+       };
+
        dwmmc0@12200000 {
                supports-highspeed;
                card-detection-broken;
 
        dwmmc2@12220000 {
                supports-highspeed;
-               card-detection-broken;
-               no-write-protect;
                fifo-depth = <0x80>;
                card-detect-delay = <200>;
                samsung,dw-mshc-sdr-timing = <2 3 3>;
 
                slot0 {
                        bus-width = <4>;
-                       cd-gpios = <&gpc3 2 2 3 3>;
+                       /* Card detect is active low */
+                       cd-gpios = <&gpc3 2 2 0x10003 3>;
+                       /* Write protect is active high */
+                       wp_gpios = <&gpc2 1 0 0 3>;
                        gpios = <&gpc3 1 2 0 3>, <&gpc3 0 2 0 3>,
                                <&gpc3 3 2 3 3>, <&gpc3 4 2 3 3>,
                                <&gpc3 5 2 3 3>, <&gpc3 6 2 3 3>;
 
                slot0 {
                        bus-width = <4>;
-                       gpios = <&gpc4 1 2 3 3>, <&gpc4 0 2 0 3>,
-                               <&gpc4 3 2 3 3>, <&gpc4 4 2 3 3>,
-                               <&gpc4 5 2 3 3>, <&gpc4 6 2 3 3>;
+                       /* See board-specific dts files for GPIOs */
                };
        };
 
        i2c@12CE0000 {
                samsung,i2c-sda-delay = <100>;
-               samsung,i2c-max-bus-freq = <66000>;
+               samsung,i2c-max-bus-freq = <400000>;
 
                exynos_hdmiphy@38 {
                        compatible = "samsung,s5p_hdmiphy";
                };
        };
 
+       hdmi {
+               hpd-gpio = <&gpx3 7 3 0 3>;
+       };
+
        ehci {
                samsung,vbus-gpio = <&gpx1 1 1 3 3>;
        };
 
        xhci {
                samsung,vbus-gpio = <&gpx2 7 1 3 3>;
+               phy {
+                       compatible = "samsung,exynos-usbphy";
+                       clock-enable-gpio = <&gpy1 1 1 0 3>;
+               };
        };
 
        fixed-regulator {
        // NB: must set regulator-boot-on for enable-active-high to be used
        // NB: set regulator-always-on to suppress complaints
        //     "incomplete constraints, leaving on"
-       wifi-en {
-               compatible = "regulator-fixed";
-               regulator-name = "wifi-en";
-               gpio = <&gpx0 1 0 0 0>;
-               enable-active-high;
-               regulator-boot-on;
-               regulator-always-on;
-       };
-       wifi-rst {
-               compatible = "regulator-fixed";
-               regulator-name = "wifi-rst-l";
-               gpio = <&gpx0 2 0 0 0>;
-               enable-active-high;
-               regulator-boot-on;
-               regulator-always-on;
-       };
-       bt-rst {
-               compatible = "regulator-fixed";
-               regulator-name = "bt-reset-l";
-               gpio = <&gpx3 1 0 0 0>;
-               enable-active-high;
-               regulator-boot-on;
-               regulator-always-on;
-       };
        wwan-en {
                compatible = "regulator-fixed";
                regulator-name = "wwan-en";
                regulator-always-on;
        };
 
+       // NB: these are manually enabled in platform code
+       wifi-en {
+               compatible = "regulator-fixed";
+               regulator-name = "wifi-en";
+               gpio = <&gpx0 1 0 0 0>;
+               enable-active-high;
+       };
+       wifi-rst {
+               compatible = "regulator-fixed";
+               regulator-name = "wifi-rst-l";
+               gpio = <&gpx0 2 0 0 0>;
+               enable-active-high;
+               startup-delay-us = <1500>;
+       };
+
        gpio-keys {
                compatible = "gpio-keys";
 
                        gpio-key,wakeup;
                };
        };
+
+       sound {
+               compatible = "google,daisy-audio-max98095";
+       };
 };