ARM: dts: rockchip: rk3368-sheep add vsel gpio for syr827
authorJianqun Xu <jay.xu@rock-chips.com>
Fri, 21 Jul 2017 06:22:12 +0000 (14:22 +0800)
committerHuang, Tao <huangtao@rock-chips.com>
Fri, 21 Jul 2017 08:18:15 +0000 (16:18 +0800)
Add vsel gpio for syr827, which is PMIC_SLEEP in hardware pcb.

The driver will parse the gpio and use it to indicate the chip
work status, as the following codes:

static int fan53555_is_enabled ()
if defined vsel_gpio
gpiod_get_raw_value
else
regmap_read

Before the patch, the log shows:
CPU4: update cpu_capacity 1024
CPU4: Booted secondary processor [410fd033]
  cache: parent cpu4 should not be sleeping
rk3x-i2c ff650000.i2c: timeout, ipd: 0x10, state: 1

Since cpu4 is the base core for cluster1, which need to initialize
cpufreq during boot up, finally call fan53555_is_enabled. But the
i2c is suspended at that time, can't get interrupt until timeout.

Change-Id: I301e95be3b60d2faa456759d88c06cf64c2019ca
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
arch/arm64/boot/dts/rockchip/rk3368-sheep.dts

index 649c475e12f96261555fb3c284ef424154ceaec7..f18b7a883eff5e1ebde13787a06fda1d11d63dcb 100644 (file)
                regulator-max-microvolt = <1500000>;
                regulator-ramp-delay = <1000>;
                fcs,suspend-voltage-selector = <1>;
+               pinctrl-0 = <&vsel_gpio>;
+               vsel-gpios = <&gpio0 0 GPIO_ACTIVE_HIGH>;
                regulator-always-on;
                regulator-boot-on;
                regulator-initial-state = <3>;
                pmic_int_l: pmic-int-l {
                        rockchip,pins = <RK_GPIO0 1 RK_FUNC_GPIO &pcfg_pull_up>;
                };
+               vsel_gpio: vsel-gpio {
+                       rockchip,pins = <0 0 RK_FUNC_GPIO &pcfg_pull_down>;
+               };
        };
 
        dc_det {