/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>;
+ };
+ };
};