X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=arch%2Farm64%2Fboot%2Fdts%2Frockchip%2Frk3399-vr-android.dts;h=de187bee808c4401fe342824b4a5b4d47587a4c5;hb=40fac0b649691681d0032a49e2aab24f04dd9924;hp=ef1d92e5409ef6c501954956f897dca9672c7107;hpb=fbc7e569aacd754485599bfd0130d6bafbc002c5;p=firefly-linux-kernel-4.4.55.git diff --git a/arch/arm64/boot/dts/rockchip/rk3399-vr-android.dts b/arch/arm64/boot/dts/rockchip/rk3399-vr-android.dts index ef1d92e5409e..de187bee808c 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399-vr-android.dts +++ b/arch/arm64/boot/dts/rockchip/rk3399-vr-android.dts @@ -42,6 +42,7 @@ /dts-v1/; #include +#include #include "rk3399.dtsi" #include "rk3399-android.dtsi" @@ -77,6 +78,15 @@ 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>; @@ -217,6 +227,183 @@ }; }; +&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>; @@ -290,9 +477,9 @@ 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"; @@ -301,25 +488,27 @@ 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; }; }; @@ -506,6 +695,31 @@ }; }; }; + + 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>; + }; }; }; @@ -526,24 +740,36 @@ }; &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 = ; + 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"; }; }; @@ -576,6 +802,73 @@ 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>; @@ -586,10 +879,6 @@ status = "okay"; }; -&usb2phy { - vbus_drv-gpio = <&gpio4 25 GPIO_ACTIVE_HIGH>; -}; - &usb_host0_ehci { status = "okay"; }; @@ -636,9 +925,16 @@ }; &rk_screen { + assigned-clocks = <&cru PLL_VPLL>; + assigned-clock-rates = <245000000>; #include }; +&fb { + rockchip,uboot-logo-on = <1>; + rockchip,disp-mode = ; +}; + &vopb_rk_fb { status = "okay"; power_ctr: power_ctr { @@ -726,4 +1022,17 @@ 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>; + }; + }; };