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 0ff962cc3afd26912471c7c8aa33b4d3349ace62..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-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   1   51  52  52  53  53  54
-                       54  55  55  56  56  57  57  58
-                       58  59  59  60  61  61  62  63
-                       63  64  65  65  66  67  67  68
-                       69  69  70  71  71  72  73  73
-                       74  75  75  76  77  77  78  79
-                       79  80  80  81  81  82  83  83
-                       84  85  86  86  87  88  89  89
-                       90  91  92  92  93  94  95  95
-                       96  97  98  98  99 100 101  101
-                       102 103 104 104 105 106 107 107
-                       108 109 110 110 111 112 113 113
-                       114 115 116 116 117 118 119 119
-                       120 121 122 122 123 124 125 125
-                       126 127 128 128 129 130 131 131
-                       132 133 134 134 135 136 137 137
-                       138 139 140 140 141 142 143 143
-                       144 145 146 146 147 148 149 149
-                       150 151 152 152 153 154 155 155
-                       156 157 158 158 159 160 161 161
-                       162 163 164 164 165 166 167 167
-                       168 169 170 170 171 172 173 173
-                       174 175 176 176 177 178 179 179
-                       180 181 182 182 183 184 185 185
-                       186 187 188 188 189 190 191 191
-                       216 217 218 218 219 220 221 221
-                       222 223 224 224 225 226 227 227
-                       228 229 230 230 231 232 233 233
-                       234 235 236 236 237 238 239 239
-                       240 241 242 242 243 244 245 245
-                       246 247 248 248 249 250 251 251
-                       252 253 254 254 255 255 255 255>;
+                       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";
        };
 };
 
-&dfi {
-       status = "okay";
-};
-
-&dmc {
-       status = "okay";
-       center-supply = <&vdd_center>;
-       upthreshold = <38>;
-       downdifferential = <20>;
-};
-
-&dmc_opp_table {
-       opp@300000000 {
-               opp-hz = /bits/ 64 <300000000>;
-               opp-microvolt = <900000>;
-       };
-       opp@400000000 {
-               opp-hz = /bits/ 64 <400000000>;
-               opp-microvolt = <900000>;
-       };
-       opp@528000000 {
-               opp-hz = /bits/ 64 <528000000>;
-               opp-microvolt = <900000>;
-       };
-       opp@600000000 {
-               opp-hz = /bits/ 64 <600000000>;
-               opp-microvolt = <900000>;
-       };
-       opp@666000000 {
-               opp-hz = /bits/ 64 <666000000>;
-               opp-microvolt = <900000>;
-               opp-suspend;
-       };
-};
-
-&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 = <1100000>;
-               status="disabled";
-       };
-};
-
-&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>;
-       };
-};
-
-&CPU_COST_A72 {
-       busy-cost-data = <
-               210   129       /*  408MHz */
-               308   184       /*  600MHz */
-               419   246       /*  816MHz */
-               518   335       /* 1008MHz */
-               617   428       /* 1200MHz */
-               728   573       /* 1416MHz */
-               827   724       /* 1608MHz */
-               925   900       /* 1800MHz */
-               1024  1108      /* 1992MHz */
-       >;
-       idle-cost-data = <
-             15
-             15
-              0
-       >;
-};
-
-&CPU_COST_A53 {
-       busy-cost-data = <
-               108    46       /*  408M */
-               159    67       /*  600M */
-               216    90       /*  816M */
-               267    120      /* 1008M */
-               318    153      /* 1200M */
-               375    198      /* 1416M */
-               401    222      /* 1512M */
-       >;
-       idle-cost-data = <
-             6
-             6
-             0
-       >;
-};
-
-&CLUSTER_COST_A72 {
-       busy-cost-data = <
-               210   129       /*  408MHz */
-               308   184       /*  600MHz */
-               419   246       /*  816MHz */
-               518   335       /* 1008MHz */
-               617   428       /* 1200MHz */
-               728   573       /* 1416MHz */
-               827   724       /* 1608MHz */
-               925   900       /* 1800MHz */
-               1024  1108      /* 1992MHz */
-       >;
-       idle-cost-data = <
-                65
-                65
-                65
-       >;
-};
-
-&CLUSTER_COST_A53 {
-       busy-cost-data = <
-               108    46       /*  408M */
-               159    67       /*  600M */
-               216    90       /*  816M */
-               267    120      /* 1008M */
-               318    153      /* 1200M */
-               375    198      /* 1416M */
-               401    222      /* 1512M */
-       >;
-       idle-cost-data = <
-               56
-               56
-               56
-       >;
-};
-
-&gpu_opp_table {
-       compatible = "operating-points-v2";
-       opp-shared;
-       opp@200000000 {
-               opp-hz = /bits/ 64 <200000000>;
-               opp-microvolt = <825000>;
-       };
-       opp@300000000 {
-               opp-hz = /bits/ 64 <300000000>;
-               opp-microvolt = <850000>;
-       };
-       opp@400000000 {
-               opp-hz = /bits/ 64 <400000000>;
-               opp-microvolt = <875000>;
-       };
-       opp@500000000 {
-               opp-hz = /bits/ 64 <500000000>;
-               opp-microvolt = <950000>;
-       };
-       opp@600000000 {
-               opp-hz = /bits/ 64 <600000000>;
-               opp-microvolt = <1025000>;
-       };
-       opp@800000000 {
-               opp-hz = /bits/ 64 <800000000>;
-               opp-microvolt = <1125000>;
-       };
-};
-
 &rk_key {
        compatible = "rockchip,key";
        status = "okay";
                                        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 {
        };
 };
 
+&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>;
        status = "okay";
 };
 
-&vop0_pwm {
-       assigned-clocks = <&cru SCLK_VOP0_PWM>;
-       assigned-clock-rates = <50000000>;
+&pwm0 {
        status = "okay";
 };
 
        status = "okay";
 };
 
+&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 {
        sdio-pwrseq {
                wifi_enable_h: wifi-enable-h {
                };
        };
 
-       lcdpwr-enable {
-               lcdpwr_enable_h: lcdpwr-enable-h {
-                       rockchip,pins = <3 8 RK_FUNC_GPIO &pcfg_pull_up>;
-               };
-       };
-
        lsm330_a {
                lsm330a_irq_gpio: lsm330a-irq-gpio {
                        rockchip,pins = <2 27 RK_FUNC_GPIO &pcfg_pull_none>;
        };
 };
 
-&rk_screen {
-       #include <dt-bindings/display/screen-timing/lcd-LP097Qx2.dtsi>
+&edp {
+       status = "okay";
+       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>;
+                       };
+               };
+       };
+};
+
+&edp_in_vopl {
+       status = "disabled";
 };
 
-&cdn_dp_sound {
+&hdmi {
        status = "okay";
 };
 
-&cdn_dp_fb {
+&hdmi_in_vopb {
+       status = "disabled";
+};
+
+&cdn_dp {
        status = "okay";
        extcon = <&fusb0>;
        phys = <&tcphy0_dp>;
-       dp_vop_sel = <DISPLAY_SOURCE_LCDC1>;
 };
 
-&vopb_rk_fb {
-       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>;
-               };
-       };
+&dp_in_vopb {
+       status = "disabled";
 };
 
-&vopl_rk_fb {
+&pmu_io_domains {
        status = "okay";
+       pmu1830-supply = <&vcc_1v8>;
 };
 
-&edp_rk_fb {
+&route_edp {
        status = "okay";
+       logo,mode = "center";
 };