/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>;
wireless-wlan {
compatible = "wlan-platdata";
rockchip,grf = <&grf>;
- wifi_chip_type = "ap6354";
+ wifi_chip_type = "ap6330";
sdio_vref = <1800>;
WIFI,host_wake_irq = <&gpio0 3 GPIO_ACTIVE_HIGH>; /* GPIO0_a3 */
status = "okay";
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";
BT,wake_host_irq = <&gpio0 4 GPIO_ACTIVE_HIGH>; /* GPIO0_A4 */
status = "okay";
};
+
+ uboot-charge {
+ compatible = "rockchip,uboot-charge";
+ rockchip,uboot-charge-on = <0>;
+ rockchip,android-charge-on = <1>;
+ };
+
+ rk_vr_key: rockchip-vr-key {
+ compatible = "rockchip,key";
+ status = "okay";
+
+ io-channels = <&saradc 1>;
+
+ vol-down-key {
+ linux,code = <114>;
+ label = "volume down";
+ rockchip,adc_value = <170>;
+ };
+
+ vol-up-key {
+ linux,code = <115>;
+ label = "volume up";
+ rockchip,adc_value = <340>;
+ };
+
+ home-key {
+ linux,code = <102>;
+ label = "home";
+ rockchip,adc_value = <420>;
+ };
+
+ camera-key {
+ linux,code = <212>;
+ label = "camera";
+ rockchip,adc_value = <520>;
+ };
+
+ 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>;
+ };
+
+ n-key {
+ linux,code = <102>;
+ label = "n";
+ rockchip,adc_value = <700>;
+ };
+
+ menu-key {
+ linux,code = <59>;
+ label = "menu";
+ rockchip,adc_value = <780>;
+ };
+ };
+
+ rk_headset {
+ compatible = "rockchip_headset";
+ headset_gpio = <&gpio4 28 GPIO_ACTIVE_LOW>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&hp_det>;
+ io-channels = <&saradc 2>;
+ };
+};
+
+&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>;
+ clock-latency-ns = <40000>;
+ };
+ opp@816000000 {
+ opp-hz = /bits/ 64 <816000000>;
+ opp-microvolt = <800000>;
+ clock-latency-ns = <40000>;
+ };
+ opp@1008000000 {
+ opp-hz = /bits/ 64 <1008000000>;
+ opp-microvolt = <850000>;
+ clock-latency-ns = <40000>;
+ };
+ opp@1200000000 {
+ opp-hz = /bits/ 64 <1200000000>;
+ opp-microvolt = <925000>;
+ clock-latency-ns = <40000>;
+ };
+ opp@1416000000 {
+ opp-hz = /bits/ 64 <1416000000>;
+ opp-microvolt = <1075000>;
+ clock-latency-ns = <40000>;
+ };
+ opp@1512000000 {
+ opp-hz = /bits/ 64 <1512000000>;
+ opp-microvolt = <1100000>;
+ clock-latency-ns = <40000>;
+ 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>;
+ clock-latency-ns = <40000>;
+ };
+ opp@816000000 {
+ opp-hz = /bits/ 64 <816000000>;
+ opp-microvolt = <825000>;
+ clock-latency-ns = <40000>;
+ };
+ opp@1008000000 {
+ opp-hz = /bits/ 64 <1008000000>;
+ opp-microvolt = <850000>;
+ clock-latency-ns = <40000>;
+ };
+ opp@1200000000 {
+ opp-hz = /bits/ 64 <1200000000>;
+ opp-microvolt = <900000>;
+ clock-latency-ns = <40000>;
+ };
+ opp@1416000000 {
+ opp-hz = /bits/ 64 <1416000000>;
+ opp-microvolt = <1000000>;
+ clock-latency-ns = <40000>;
+ };
+ opp@1608000000 {
+ opp-hz = /bits/ 64 <1608000000>;
+ opp-microvolt = <1050000>;
+ clock-latency-ns = <40000>;
+ };
+ opp@1800000000 {
+ opp-hz = /bits/ 64 <1800000000>;
+ opp-microvolt = <1150000>;
+ clock-latency-ns = <40000>;
+ };
+ opp@1992000000 {
+ opp-hz = /bits/ 64 <1992000000>;
+ opp-microvolt = <1225000>;
+ clock-latency-ns = <40000>;
+ };
+};
+
+&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>;
+ status = "disabled";
+ };
+ 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>;
+ };
};
&sdmmc {
};
&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";
};
#sound-dai-cells = <0>;
};
+&i2s2 {
+ #sound-dai-cells = <0>;
+};
+
&spdif {
status = "okay";
#sound-dai-cells = <0>;
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";
+ pinctrl-0 = <&vsel1_gpio>;
+ vsel-gpios = <&gpio1 17 GPIO_ACTIVE_HIGH>;
regulator-name = "vdd_cpu_b";
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-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";
+ pinctrl-0 = <&vsel2_gpio>;
+ vsel-gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>;
+ regulator-name = "vdd_gpu";
+ regulator-min-microvolt = <712500>;
+ regulator-max-microvolt = <1500000>;
+ regulator-ramp-delay = <1000>;
+ fcs,suspend-voltage-selector = <1>;
+ regulator-boot-on;
+ regulator-initial-state = <3>;
+ regulator-initial-mode = <1>;/*1:pwm 2: auto mode*/
+ regulator-state-mem {
+ regulator-off-in-suspend;
};
};
pinctrl-0 = <&pmic_int_l>;
rockchip,system-power-controller;
wakeup-source;
+ extcon = <&fusb0>;
#clock-cells = <1>;
vcc1-supply = <&vcc_sys>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <6001>;
regulator-state-mem {
- regulator-on-in-suspend;
- regulator-suspend-microvolt = <1000000>;
+ 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>;
+ };
};
};
clocks = <&cru SCLK_I2S_8CH_OUT>;
clock-names = "mclk";
spk-con-gpio = <&gpio0 11 GPIO_ACTIVE_HIGH>;
- hp-det-gpio = <&gpio4 28 GPIO_ACTIVE_LOW>;
};
};
&i2c4 {
status = "okay";
- i2c-scl-rising-time-ns = <600>;
- i2c-scl-falling-time-ns = <20>;
+ i2c-scl-rising-time-ns = <345>;
+ i2c-scl-falling-time-ns = <11>;
+ clock-frequency = <400000>;
+
+ sensor@0f {
+ status = "okay";
+ compatible = "ak8963";
+ pinctrl-names = "default";
+ 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>;
+ };
+
+ fusb0: fusb30x@22 {
+ compatible = "fairchild,fusb302";
+ reg = <0x22>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&fusb0_int>;
+ int-n-gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
+ status = "okay";
+ };
+};
+
+&i2c5 {
+ status = "okay";
- mpu6500@68 {
- compatible = "invensense,mpu6500";
+ 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";
+ };
+};
+
+&spi1 {
+ status = "okay";
+ max-freq = <50000000>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-1 = <&spi1_gpio>;
+ mpu6500@0 {
+ status = "okay";
+ compatible = "inv-spi,mpu6500";
pinctrl-names = "default";
pinctrl-0 = <&mpu6500_irq_gpio>;
- reg = <0x68>;
irq-gpio = <&gpio1 4 IRQ_TYPE_EDGE_RISING>;
+ reg = <0>;
+ spi-max-frequency = <1000000>;
+ spi-cpha;
+ spi-cpol;
+ mpu-int_config = <0x00>;
+ mpu-level_shifter = <0>;
+ mpu-orientation = <1 0 0 0 1 0 0 0 1>;
+ orientation-x= <1>;
+ orientation-y= <0>;
+ orientation-z= <1>;
+ support-hw-poweroff = <1>;
+ mpu-debug = <1>;
};
};
+&threshold {
+ temperature = <70000>; /* millicelsius */
+};
+
+&target {
+ temperature = <85000>; /* millicelsius */
+};
+
+&soc_crit {
+ temperature = <100000>; /* millicelsius */
+};
+
&tsadc {
rockchip,hw-tshut-mode = <1>; /* tshut mode 0:CRU 1:GPIO */
rockchip,hw-tshut-polarity = <1>; /* tshut polarity 0:LOW 1:HIGH */
+ rockchip,hw-tshut-temp = <110000>;
+ status = "okay";
+};
+
+&saradc {
+ status = "okay";
+};
+
+&u2phy0 {
+ extcon = <&fusb0>;
+ 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 {
status = "okay";
};
-&usb2phy {
- vbus_drv-gpio = <&gpio4 25 GPIO_ACTIVE_HIGH>;
-};
-
&usb_host0_ehci {
status = "okay";
};
};
&usbdrd3_0 {
+ extcon = <&fusb0>;
status = "okay";
};
status = "okay";
};
+&tcphy0 {
+ status = "okay";
+ extcon = <&fusb0>;
+};
+
&pwm0 {
status = "okay";
};
rockchip,pwm_voltage = <900000>;
};
+&rk_key {
+ status = "disabled";
+};
+
&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 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>;
+ };
};
mpu6500 {
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>;
+ };
+ };
+
+ spi1 {
+ spi1_gpio: spi1-gpio {
+ rockchip,pins =
+ <1 7 RK_FUNC_GPIO &pcfg_output_low>,
+ <1 8 RK_FUNC_GPIO &pcfg_output_low>,
+ <1 9 RK_FUNC_GPIO &pcfg_output_low>,
+ <1 10 RK_FUNC_GPIO &pcfg_output_low>;
+ };
+ };
+
+ fusb30x {
+ fusb0_int: fusb0-int {
+ rockchip,pins = <1 2 RK_FUNC_GPIO &pcfg_pull_up>;
+ };
+ };
+
+ headphone {
+ hp_det: hp-det {
+ rockchip,pins = <4 28 RK_FUNC_GPIO &pcfg_pull_up>;
+ };
+ };
+};
+
+&pvtm {
+ status = "okay";
+};
+
+&pmu_pvtm {
+ status = "okay";
};