ARM64: dts: rk3399: vr: set NO_DUAL vop mode
[firefly-linux-kernel-4.4.55.git] / arch / arm64 / boot / dts / rockchip / rk3399-vr-android.dts
index ef1d92e5409ef6c501954956f897dca9672c7107..de187bee808c4401fe342824b4a5b4d47587a4c5 100644 (file)
@@ -42,6 +42,7 @@
 
 /dts-v1/;
 #include <dt-bindings/pwm/pwm.h>
+#include <dt-bindings/sensor-dev.h>
 #include "rk3399.dtsi"
 #include "rk3399-android.dtsi"
 
                regulator-max-microvolt = <3300000>;
        };
 
+       vcc5v0_host: vcc5v0-host-regulator {
+               compatible = "regulator-fixed";
+               enable-active-high;
+               gpio = <&gpio4 25 GPIO_ACTIVE_HIGH>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&host_vbus_drv>;
+               regulator-name = "vcc5v0_host";
+       };
+
        backlight: backlight {
                compatible = "pwm-backlight";
                pwms = <&pwm0 0 25000 0>;
        };
 };
 
+&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>;
+       };
+};
+
+&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 = <925000>;
+       };
+
+       opp@600000000 {
+               opp-hz = /bits/ 64 <600000000>;
+               opp-microvolt = <975000>;
+       };
+
+       opp@800000000 {
+               opp-hz = /bits/ 64 <800000000>;
+               opp-microvolt = <1025000>;
+       };
+};
+
 &sdmmc {
        clock-frequency = <150000000>;
        clock-freq-min-max = <400000 150000000>;
        i2c-scl-falling-time-ns = <15>;
        clock-frequency = <400000>;
 
-       vdd_cpu_b: syr828@41 {
-               compatible = "silergy,syr828";
-               reg = <0x41>;
+       vdd_cpu_b: syr827@40 {
+               compatible = "silergy,syr827";
+               reg = <0x40>;
                vin-supply = <&vcc_sys>;
                regulator-compatible = "fan53555-reg";
                regulator-name = "vdd_cpu_b";
                regulator-ramp-delay = <1000>;
                fcs,suspend-voltage-selector = <1>;
                regulator-always-on;
-               regulator-boot-on;
                regulator-initial-state = <3>;
-               regulator-state-mem {
+                       regulator-state-mem {
                        regulator-off-in-suspend;
                };
        };
 
-       lp8752: lp8752@60 {
-               compatible = "ti,lp8752";
-               reg = <0x60>;
-               vin0-supply = <&vcc_sys>;
-               regulators {
-                       vdd_gpu: lp8752_buck0 {
-                               regulator-name = "vdd_gpu";
-                               regulator-min-microvolt = <735000>;
-                               regulator-max-microvolt = <1400000>;
-                               regulator-always-on;
-                               regulator-boot-on;
-                       };
+       vdd_gpu: syr828@41 {
+               compatible = "silergy,syr828";
+               reg = <0x41>;
+               vin-supply = <&vcc_sys>;
+               regulator-compatible = "fan53555-reg";
+               regulator-name = "vdd_gpu";
+               regulator-min-microvolt = <712500>;
+               regulator-max-microvolt = <1500000>;
+               regulator-ramp-delay = <1000>;
+               fcs,suspend-voltage-selector = <1>;
+               regulator-always-on;
+               regulator-boot-on;
+               regulator-initial-state = <3>;
+                       regulator-state-mem {
+                       regulator-off-in-suspend;
                };
        };
 
                                };
                        };
                };
+
+               battery {
+                       compatible = "rk818-battery";
+                       ocv_table = <
+                               3400 3599 3671 3701 3728 3746 3762
+                               3772 3781 3792 3816 3836 3866 3910
+                               3942 3971 4002 4050 4088 4132 4183>;
+                       design_capacity = <4000>;
+                       design_qmax = <4100>;
+                       bat_res = <100>;
+                       max_input_current = <2000>;
+                       max_chrg_current = <1800>;
+                       max_chrg_voltage = <4200>;
+                       sleep_enter_current = <300>;
+                       sleep_exit_current = <300>;
+                       power_off_thresd = <3400>;
+                       zero_algorithm_vol = <3850>;
+                       fb_temperature = <115>;
+                       sample_res = <10>;
+                       max_soc_offset = <60>;
+                       energy_mode = <0>;
+                       monitor_sec = <5>;
+                       virtual_power = <0>;
+                       power_dc2otg = <0>;
+               };
        };
 };
 
 };
 
 &i2c4 {
-       status = "disabled";
-       i2c-scl-rising-time-ns = <600>;
-       i2c-scl-falling-time-ns = <20>;
+       status = "okay";
+       i2c-scl-rising-time-ns = <345>;
+       i2c-scl-falling-time-ns = <11>;
+       clock-frequency = <400000>;
 
-       mpu6500@68 {
-               status = "disabled";
-               compatible = "invensense,mpu6500";
+       sensor@0f {
+               status = "okay";
+               compatible = "ak8963";
                pinctrl-names = "default";
-               pinctrl-0 = <&mpu6500_irq_gpio>;
-               reg = <0x68>;
-               irq-gpio = <&gpio1 4 IRQ_TYPE_EDGE_RISING>;
-               mpu-int_config = <0x10>;
-               mpu-level_shifter = <0>;
-               mpu-orientation = <0 1 0 1 0 0 0 0 1>;
-               orientation-x= <1>;
-               orientation-y= <1>;
-               orientation-z= <1>;
-               mpu-debug = <1>;
+               pinctrl-0 = <&ak8963_irq_gpio>;
+               reg = <0x0f>;
+               type = <SENSOR_TYPE_COMPASS>;
+               irq-gpio = <&gpio1 0 IRQ_TYPE_EDGE_RISING>;
+               irq_enable = <1>;
+               poll_delay_ms = <30>;
+               layout = <1>;
+       };
+};
+
+&i2c5 {
+       status = "okay";
+
+       touch@40 {
+               compatible = "gslX680";
+               reg = <0x40>;
+               touch-gpio = <&gpio1 20 IRQ_TYPE_LEVEL_LOW>;
+               reset-gpio = <&gpio4 22 GPIO_ACTIVE_LOW>;
+               max-x = <1280>;
+               max-y = <600>;
+               status = "okay";
        };
 };
 
        status = "okay";
 };
 
+&saradc {
+       status = "okay";
+};
+
+&rk_key {
+       compatible = "rockchip,key";
+       status = "okay";
+       io-channels = <&saradc 1>;
+
+       vol-up-key {
+               linux,code = <115>;
+               label = "volume up";
+               rockchip,adc_value = <340>;
+       };
+
+       vol-down-key {
+               linux,code = <114>;
+               label = "volume down";
+               rockchip,adc_value = <170>;
+       };
+
+       power-key {
+               gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
+               linux,code = <116>;
+               label = "power";
+               gpio-key,wakeup;
+       };
+
+       back-key {
+               linux,code = <158>;
+               label = "back";
+               rockchip,adc_value = <620>;
+       };
+
+       brightness-key {
+               linux,code = <244>;
+               label = "brightness";
+               rockchip,adc_value = <700>;
+       };
+};
+
+&u2phy0 {
+       status = "okay";
+
+       u2phy0_otg: otg-port {
+               status = "okay";
+       };
+
+       u2phy0_host: host-port {
+               phy-supply = <&vcc5v0_host>;
+               status = "okay";
+       };
+};
+
+&u2phy1 {
+       status = "okay";
+
+       u2phy1_otg: otg-port {
+               status = "okay";
+       };
+
+       u2phy1_host: host-port {
+               phy-supply = <&vcc5v0_host>;
+               status = "okay";
+       };
+};
+
 &uart0 {
        pinctrl-names = "default";
        pinctrl-0 = <&uart0_xfer &uart0_cts>;
        status = "okay";
 };
 
-&usb2phy {
-       vbus_drv-gpio = <&gpio4 25 GPIO_ACTIVE_HIGH>;
-};
-
 &usb_host0_ehci {
        status = "okay";
 };
 };
 
 &rk_screen {
+       assigned-clocks = <&cru PLL_VPLL>;
+       assigned-clock-rates = <245000000>;
        #include <dt-bindings/display/screen-timing/lcd-ls055r1sx04-mipi.dtsi>
 };
 
+&fb {
+       rockchip,uboot-logo-on = <1>;
+       rockchip,disp-mode = <NO_DUAL>;
+};
+
 &vopb_rk_fb {
        status = "okay";
        power_ctr: power_ctr {
                        rockchip,pins = <1 4 RK_FUNC_GPIO &pcfg_pull_none>;
                };
        };
+
+       usb2 {
+               host_vbus_drv: host-vbus-drv {
+                       rockchip,pins =
+                               <4 25 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
+
+       ak8963 {
+               ak8963_irq_gpio: ak8963-irq-gpio {
+                       rockchip,pins = <1 0 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
 };