arm64: dts: rk3399-mid: rk818 enabled boost_otg fix ota vcc5v poweroff when susppend
[firefly-linux-kernel-4.4.55.git] / arch / arm64 / boot / dts / rockchip / rk3399-mid-818-android.dts
index 6039e822d29364ac3a3a538fc22d5fb2e209ea2d..860617aed84eae65f4e50686f3f6434df0867dbf 100644 (file)
 
 #include "rk3399.dtsi"
 #include "rk3399-android.dtsi"
+#include "rk3399-opp.dtsi"
 #include <dt-bindings/sensor-dev.h>
 #include <dt-bindings/pwm/pwm.h>
 
 / {
        compatible = "rockchip,rk3399-mid", "rockchip,rk3399";
 
+       edp_panel: edp-panel {
+               compatible = "lg,lp079qx1-sp0v", "panel-simple";
+               bus-format = <MEDIA_BUS_FMT_RGB666_1X18>;
+               backlight = <&backlight>;
+               power-supply = <&vcc3v3_s0>;
+               enable-gpios = <&gpio3 8 GPIO_ACTIVE_HIGH>;
+               ports {
+                       panel_in_edp: endpoint {
+                               remote-endpoint = <&edp_out_panel>;
+                       };
+               };
+       };
+
+       hall_sensor: hall-mh248 {
+               compatible = "hall-mh248";
+               pinctrl-names = "default";
+               pinctrl-0 = <&mh248_irq_gpio>;
+               irq-gpio = <&gpio1 2 IRQ_TYPE_EDGE_BOTH>;
+               hall-active = <1>;
+               status = "okay";
+       };
+
        vcc_sys: vcc-sys {
                compatible = "regulator-fixed";
                regulator-name = "vcc_sys";
                pinctrl-names = "default";
                pinctrl-0 = <&host_vbus_drv>;
                regulator-name = "vcc5v0_host";
+               regulator-always-on;
        };
 
        vdd_log: vdd-log {
                compatible = "pwm-regulator";
-               pwms = <&pwm2 0 25000 0>;
+               pwms = <&pwm2 0 25000 1>;
                rockchip,pwm_id= <2>;
                rockchip,pwm_voltage = <900000>;
                regulator-name = "vdd_log";
 
        backlight: backlight {
                compatible = "pwm-backlight";
-               pwms = <&vop0_pwm 0 25000 PWM_POLARITY_INVERTED>;
+               pwms = <&pwm0 0 25000 0>;
                brightness-levels = <
-                       0  255  51  51  52  53  53  54
-                       54  55  56  56  57  57  58  59
-                       59  60  60  61  62  62  63  63
-                       64  65  65  66  66  67  68  68
-                       69  69  70  71  71  72  72  73
-                       74  74  75  75  76  77  77  78
-                       78  79  80  80  81  81  82  83
-                       83  84  85  85  86  86  87  88
-                       88  89  89  90  91  91  92  92
-                       93  94  94  95  95  96  97  97
-                       98  98  99  100 100 101 101 102
-                       103 103 104 104 105 106 106 107
-                       107 108 109 109 110 110 111 112
-                       112 113 113 114 114 115 116 116
-                       117 118 118 119 119 120 120 121
-                       122 122 123 123 124 125 125 126
-                       126 127 128 128 129 129 130 131
-                       131 132 132 133 133 134 135 135
-                       136 137 138 138 139 140 140 141
-                       141 142 143 143 144 144 145 146
-                       146 147 148 148 149 149 149 150
-                       150 151 151 151 152 152 152 153
-                       153 153 154 154 155 156 156 157
-                       157 158 159 159 160 160 161 161
-                       162 163 163 164 165 165 166 166
-                       167 168 168 169 169 170 171 171
-                       172 172 173 174 174 175 175 176
-                       176 177 178 178 179 179 180 181
-                       181 182 183 183 184 185 185 186
-                       186 187 188 188 189 189 190 190
-                       191 191 192 193 193 194 194 195
-                       196 197 197 198 199 199 200 200>;
+                       255 200 199 198 197 197 196 195 194 193 193 192
+                       191 190 189 189 188 187 186 185 185 184 183 182
+                       181 181 180 179 178 177 177 176 175 174 173 173
+                       172 171 170 169 169 168 167 166 165 165 164 163
+                       162 161 161 160 159 158 157 157 156 155 154 153
+                       153 152 151 150 149 149 148 147 146 145 145 144
+                       143 142 141 141 140 139 138 137 137 136 135 134
+                       133 133 132 131 130 129 129 128 127 126 125 125
+                       124 123 122 121 121 120 119 118 117 117 116 115
+                       114 113 113 112 111 110 109 109 108 107 106 105
+                       105 104 103 102 101 101 100  99  98  97  97  96
+                        95  94  93  93  92  91  90  89  89  88  87  86
+                        85  85  84  83  82  81  81  80  79  78  77  77
+                        76  75  74  73  73  72  71  70  69  69  68  67
+                        66  65  65  64  63  62  61  61  60  59  58  57
+                        57  56  55  54  53  53  52  51  50  49  49  48
+                        47  46  45  45  44  43  42  41  41  40  39  38
+                        37  37  36  35  34  33  33  32  31  30  29  29
+                        28  27  26  25  25  24  23  22  21  21  20  19
+                        18  17  17  16  15  14  13  13  12  11  10   9
+                         9   8   7   6   5   5   4   3   2   1   1   0
+                         0   0   0   0>;
                default-brightness-level = <200>;
                enable-gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>;
        };
                regulator-boot-on;
        };
 
-       io-domains {
-               compatible = "rockchip,rk3399-io-voltage-domain";
-               rockchip,grf = <&grf>;
-
-               bt656-supply = <&vcc1v8_dvp>;
-               audio-supply = <&vcca1v8_codec>;
-               sdmmc-supply = <&vcc_sd>;
-               gpio1830-supply = <&vcc_3v0>;
-       };
-
-       pmu-io-domains {
-               compatible = "rockchip,rk3399-pmu-io-voltage-domain";
-               rockchip,grf = <&pmugrf>;
-
-               pmu1830-supply = <&vcc_1v8>;
-       };
-
        es8316-sound {
                compatible = "simple-audio-card";
                simple-audio-card,format = "i2s";
 
        wireless-bluetooth {
                compatible = "bluetooth-platdata";
+               clocks = <&rk818 1>;
+               clock-names = "ext_clock";
                //wifi-bt-power-toggle;
                uart_rts_gpios = <&gpio2 19 GPIO_ACTIVE_LOW>; /* GPIO2_C3 */
                pinctrl-names = "default", "rts_gpio";
                rockchip,uboot-charge-on = <0>;
                rockchip,android-charge-on = <1>;
        };
-};
-
-&cluster0_opp {
-       opp@408000000 {
-               opp-hz = /bits/ 64 <408000000>;
-               opp-microvolt = <800000>;
-               clock-latency-ns = <40000>;
-       };
-       opp@600000000 {
-               opp-hz = /bits/ 64 <600000000>;
-               opp-microvolt = <800000>;
-       };
-       opp@816000000 {
-               opp-hz = /bits/ 64 <816000000>;
-               opp-microvolt = <800000>;
-       };
-       opp@1008000000 {
-               opp-hz = /bits/ 64 <1008000000>;
-               opp-microvolt = <875000>;
-       };
-       opp@1200000000 {
-               opp-hz = /bits/ 64 <1200000000>;
-               opp-microvolt = <925000>;
-       };
-       opp@1416000000 {
-               opp-hz = /bits/ 64 <1416000000>;
-               opp-microvolt = <1050000>;
-       };
-       opp@1512000000 {
-               opp-hz = /bits/ 64 <1512000000>;
-               opp-microvolt = <1075000>;
-       };
-};
 
-&cluster1_opp {
-       opp@408000000 {
-               opp-hz = /bits/ 64 <408000000>;
-               opp-microvolt = <800000>;
-               clock-latency-ns = <40000>;
-       };
-       opp@600000000 {
-               opp-hz = /bits/ 64 <600000000>;
-               opp-microvolt = <800000>;
-       };
-       opp@816000000 {
-               opp-hz = /bits/ 64 <816000000>;
-               opp-microvolt = <825000>;
-       };
-       opp@1008000000 {
-               opp-hz = /bits/ 64 <1008000000>;
-               opp-microvolt = <875000>;
-       };
-       opp@1200000000 {
-               opp-hz = /bits/ 64 <1200000000>;
-               opp-microvolt = <950000>;
-       };
-       opp@1416000000 {
-               opp-hz = /bits/ 64 <1416000000>;
-               opp-microvolt = <1025000>;
-       };
-       opp@1608000000 {
-               opp-hz = /bits/ 64 <1608000000>;
-               opp-microvolt = <1100000>;
-       };
-       opp@1800000000 {
-               opp-hz = /bits/ 64 <1800000000>;
-               opp-microvolt = <1175000>;
-       };
-       opp@1992000000 {
-               opp-hz = /bits/ 64 <1992000000>;
-               opp-microvolt = <1250000>;
+       vibrator {
+               compatible = "rk-vibrator-gpio";
+               vibrator-gpio = <&gpio4 30 GPIO_ACTIVE_LOW>;
+               status = "okay";
        };
-};
 
-&gpu_opp_table {
-       compatible = "operating-points-v2";
-       opp-shared;
-       opp@200000000 {
-               opp-hz = /bits/ 64 <200000000>;
-               opp-microvolt = <850000>;
-       };
-       opp@300000000 {
-               opp-hz = /bits/ 64 <300000000>;
-               opp-microvolt = <900000>;
-       };
-       opp@400000000 {
-               opp-hz = /bits/ 64 <400000000>;
-               opp-microvolt = <900000>;
-       };
-       opp@500000000 {
-               opp-hz = /bits/ 64 <500000000>;
-               opp-microvolt = <950000>;
-       };
-       opp@600000000 {
-               opp-hz = /bits/ 64 <600000000>;
-               opp-microvolt = <1000000>;
-       };
-       opp@800000000 {
-               opp-hz = /bits/ 64 <800000000>;
-               opp-microvolt = <1050000>;
+       rk_headset {
+               compatible = "rockchip_headset";
+               headset_gpio = <&gpio4 28 GPIO_ACTIVE_HIGH>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&hp_det>;
+               io-channels = <&saradc 2>;
        };
 };
 
        cap-sd-highspeed;
        disable-wp;
        num-slots = <1>;
-       sd-uhs-sdr104;
+       //sd-uhs-sdr104;
        vqmmc-supply = <&vcc_sd>;
        pinctrl-names = "default";
        pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
 };
 
 &emmc_phy {
-       freq-sel = <200000000>;
-       dr-sel = <50>;
-       opdelay = <4>;
        status = "okay";
 };
 
        mmc-hs400-1_8v;
        supports-emmc;
        non-removable;
+       keep-power-in-suspend;
        mmc-hs400-enhanced-strobe;
        status = "okay";
 };
                reg = <0x40>;
                vin-supply = <&vcc_sys>;
                regulator-compatible = "fan53555-reg";
+               pinctrl-0 = <&vsel1_gpio>;
+               vsel-gpios = <&gpio1 17 GPIO_ACTIVE_HIGH>;
                regulator-name = "vdd_cpu_b";
                regulator-min-microvolt = <712500>;
                regulator-max-microvolt = <1500000>;
                reg = <0x41>;
                vin-supply = <&vcc_sys>;
                regulator-compatible = "fan53555-reg";
+               pinctrl-0 = <&vsel2_gpio>;
+               vsel-gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>;
                regulator-name = "vdd_gpu";
                regulator-min-microvolt = <735000>;
                regulator-max-microvolt = <1400000>;
                regulator-ramp-delay = <1000>;
                fcs,suspend-voltage-selector = <1>;
-               regulator-always-on;
                regulator-boot-on;
                regulator-state-mem {
                        regulator-off-in-suspend;
                                regulator-max-microvolt = <1350000>;
                                regulator-ramp-delay = <6001>;
                                regulator-state-mem {
-                                       regulator-on-in-suspend;
-                                       regulator-suspend-microvolt = <1000000>;
+                                       regulator-off-in-suspend;
                                };
                        };
 
                                regulator-max-microvolt = <3000000>;
                                regulator-name = "vcc_3v0";
                                regulator-state-mem {
-                                       regulator-off-in-suspend;
+                                       regulator-on-in-suspend;
+                                       regulator-suspend-microvolt = <3000000>;
                                };
                        };
 
                                regulator-max-microvolt = <1500000>;
                                regulator-name = "vcc_1v5";
                                regulator-state-mem {
-                                       regulator-off-in-suspend;
+                                       regulator-on-in-suspend;
+                                       regulator-suspend-microvolt = <1500000>;
                                };
                        };
 
                                regulator-max-microvolt = <3300000>;
                                regulator-name = "vcc3v3_s3";
                                regulator-state-mem {
-                                       regulator-on-in-suspend;
-                                       regulator-suspend-microvolt = <3300000>;
+                                       regulator-off-in-suspend;
                                };
                        };
 
                                        regulator-on-in-suspend;
                                };
                        };
+
+                       boost_otg: DCDC_BOOST {
+                               regulator-name = "boost_otg";
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-min-microvolt = <5000000>;
+                               regulator-max-microvolt = <5000000>;
+                               regulator-state-mem {
+                                       regulator-on-in-suspend;
+                                       regulator-suspend-microvolt = <5000000>;
+                               };
+                       };
                };
 
                battery {
                #sound-dai-cells = <0>;
                compatible = "everest,es8316";
                reg = <0x11>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&hp_det>;
                clocks = <&cru SCLK_I2S_8CH_OUT>;
                clock-names = "mclk";
                spk-con-gpio = <&gpio0 11 GPIO_ACTIVE_HIGH>;
-               hp-det-gpio = <&gpio4 28 GPIO_ACTIVE_HIGH>;
        };
 };
 
                type = <SENSOR_TYPE_ACCEL>;
                irq_enable = <1>;
                poll_delay_ms = <30>;
+               power-off-in-suspend = <1>;
                layout = <4>;
        };
 
                irq-gpio = <&gpio1 20 IRQ_TYPE_EDGE_RISING>;
                type = <SENSOR_TYPE_GYROSCOPE>;
                irq_enable = <0>;
+               power-off-in-suspend = <1>;
                poll_delay_ms = <30>;
        };
 
                orientation-x= <1>;
                orientation-y= <1>;
                orientation-z= <0>;
+               support-hw-poweroff = <1>;
                mpu-debug = <1>;
        };
 
                layout = <3>;
        };
 
-       sensor@20 {
+       sensor@10 {
                status = "okay";
                compatible = "capella,light_cm3218";
                pinctrl-names = "default";
                pinctrl-0 = <&cm3218_irq_gpio>;
                reg = <0x10>;
                type = <SENSOR_TYPE_LIGHT>;
-               irq-gpio = <&gpio4 24 IRQ_TYPE_EDGE_RISING>;
+               irq-gpio = <&gpio4 24 IRQ_TYPE_EDGE_FALLING>;
                irq_enable = <1>;
                poll_delay_ms = <30>;
        };
        };
 };
 
+&io_domains {
+       status = "okay";
+
+       bt656-supply = <&vcc1v8_dvp>;
+       audio-supply = <&vcca1v8_codec>;
+       sdmmc-supply = <&vcc_sd>;
+       gpio1830-supply = <&vcc_3v0>;
+};
+
 &isp0 {
        status = "okay";
 };
        status = "okay";
 };
 
+&isp0_mmu {
+       status = "okay";
+};
+
+&isp1_mmu {
+       status = "okay";
+};
+
 &cpu_l0 {
        cpu-supply = <&vdd_cpu_l>;
 };
        mali-supply = <&vdd_gpu>;
 };
 
-&rga {
-       status = "okay";
-};
-
 &spi1 {
        status = "disabled";
        max-freq = <50000000>;
                orientation-x= <1>;
                orientation-y= <0>;
                orientation-z= <1>;
+               support-hw-poweroff = <1>;
                mpu-debug = <1>;
        };
 };
        };
 };
 
-&u2phy1 {
-       status = "okay";
-
-       u2phy1_otg: otg-port {
-               status = "okay";
-       };
-};
-
 &uart0 {
        pinctrl-names = "default";
        pinctrl-0 = <&uart0_xfer &uart0_cts>;
        status = "okay";
 };
 
-&usb_host1_ehci {
-       status = "okay";
-};
-
-&usb_host1_ohci {
-       status = "okay";
-};
-
 &usbdrd3_0 {
        extcon = <&fusb0>;
        status = "okay";
        status = "okay";
 };
 
-&usbdrd3_1 {
-       status = "okay";
-};
-
-&usbdrd_dwc3_1 {
+&pwm0 {
        status = "okay";
 };
 
-&vop0_pwm {
-       assigned-clocks = <&cru SCLK_VOP0_PWM>;
-       assigned-clock-rates = <50000000>;
+&pwm2 {
        status = "okay";
 };
 
-&pwm2 {
+&saradc {
        status = "okay";
 };
 
-&saradc {
+&rockchip_suspend {
        status = "okay";
+       rockchip,sleep-debug-en = <1>;
+       rockchip,sleep-mode-config = <
+               (0
+               | RKPM_SLP_ARMPD
+               | RKPM_SLP_PERILPPD
+               | RKPM_SLP_DDR_RET
+               | RKPM_SLP_PLLPD
+               | RKPM_SLP_CENTER_PD
+               | RKPM_SLP_OSC_DIS
+               | RKPM_SLP_AP_PWROFF
+               )
+       >;
+       rockchip,wakeup-config = <
+               (0
+               | RKPM_GPIO_WKUP_EN
+               )
+       >;
+       rockchip,pwm-regulator-config = <
+               (0
+               | PWM2_REGULATOR_EN
+               )
+       >;
+       rockchip,power-ctrl =
+               <&gpio1 17 GPIO_ACTIVE_HIGH>,
+               <&gpio1 14 GPIO_ACTIVE_HIGH>;
 };
 
 &pinctrl {
                        rockchip,pins =
                                <1 18 RK_FUNC_GPIO &pcfg_pull_down>;
                };
+               vsel1_gpio: vsel1-gpio {
+                       rockchip,pins =
+                               <1 17 RK_FUNC_GPIO &pcfg_pull_down>;
+               };
+               vsel2_gpio: vsel2-gpio {
+                       rockchip,pins =
+                               <1 14 RK_FUNC_GPIO &pcfg_pull_down>;
+               };
        };
 
-       headphone {
-               hp_det: hp-det {
-                       rockchip,pins = <4 28 RK_FUNC_GPIO &pcfg_pull_up>;
+       hallsensor {
+               mh248_irq_gpio: mh248-irq-gpio {
+                       rockchip,pins = <1 2 RK_FUNC_GPIO &pcfg_pull_up>;
                };
        };
 
-       lcdpwr-enable {
-               lcdpwr_enable_h: lcdpwr-enable-h {
-                       rockchip,pins = <8 RK_FUNC_GPIO &pcfg_pull_up>;
+       headphone {
+               hp_det: hp-det {
+                       rockchip,pins = <4 28 RK_FUNC_GPIO &pcfg_pull_up>;
                };
        };
 
 
        cm3218 {
                cm3218_irq_gpio: cm3218-irq-gpio {
-                       rockchip,pins = <4 24 RK_FUNC_GPIO &pcfg_pull_none>;
+                       rockchip,pins = <4 24 RK_FUNC_GPIO &pcfg_pull_up>;
                };
        };
 
        };
 };
 
-&rk_screen {
-       #include <dt-bindings/display/screen-timing/lcd-LP097Qx2.dtsi>
-};
-
-&vopb_rk_fb {
+&edp {
        status = "okay";
-       rockchip,cabc_mode = <1>;
-       power_ctr: power_ctr {
-               rockchip,debug = <0>;
-
-               lcd_en: lcd-en {
-                       rockchip,power_type = <GPIO>;
-                       pinctrl-names = "default";
-                       pinctrl-0 = <&lcdpwr_enable_h>;
-                       gpios = <&gpio3 8 GPIO_ACTIVE_HIGH>;
-                       rockchip,delay = <10>;
+       ports {
+               edp_out: port@1 {
+                       reg = <1>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       edp_out_panel: endpoint@0 {
+                               reg = <0>;
+                               remote-endpoint = <&panel_in_edp>;
+                       };
                };
        };
 };
 
-&vopl_rk_fb {
+&edp_in_vopl {
+       status = "disabled";
+};
+
+&hdmi {
+       status = "okay";
+};
+
+&hdmi_in_vopb {
+       status = "disabled";
+};
+
+&cdn_dp {
+       status = "okay";
+       extcon = <&fusb0>;
+       phys = <&tcphy0_dp>;
+};
+
+&dp_in_vopb {
+       status = "disabled";
+};
+
+&pmu_io_domains {
        status = "okay";
+       pmu1830-supply = <&vcc_1v8>;
 };
 
-&edp_rk_fb {
+&route_edp {
        status = "okay";
+       logo,mode = "center";
 };