arm64: dts: rockchip: fix rk3399-rockpro64 regulator gpios
authorOskari Lemmela <oskari@lemmela.net>
Sat, 1 Dec 2018 10:08:16 +0000 (12:08 +0200)
committerHeiko Stuebner <heiko@sntech.de>
Thu, 6 Dec 2018 12:46:16 +0000 (13:46 +0100)
Rockpro64 is not able boot if GPIO1_C1 pin is pulled high
before loading linux kernel.

In rockpro64 GPIO1_C1 pin is connected vdd_cpu_b regulator
VSEL pin. Pin should be pulled down in normal operation and
pulled high in suspend.

PMIC LDO_REG2 is connected to touch panel connector.
Rename regulator and set it to correct voltage.

PCIe power is controller by GPIO1_D0.

Schematics can be downloaded from:
http://files.pine64.org/doc/rockpro64/rockpro64_v21-SCH.pdf

Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
Acked-by: Akash Gajjar <Akash_Gajjar@mentor.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts

index 1d35f54..5bd4d69 100644 (file)
@@ -97,7 +97,7 @@
        vcc3v3_pcie: vcc3v3-pcie-regulator {
                compatible = "regulator-fixed";
                enable-active-high;
-               gpio = <&gpio1 RK_PC1 GPIO_ACTIVE_HIGH>;
+               gpio = <&gpio1 RK_PD0 GPIO_ACTIVE_HIGH>;
                pinctrl-names = "default";
                pinctrl-0 = <&pcie_pwr_en>;
                regulator-name = "vcc3v3_pcie";
                                };
                        };
 
-                       vcc2v8_dvp: LDO_REG2 {
-                               regulator-name = "vcc2v8_dvp";
+                       vcc3v0_touch: LDO_REG2 {
+                               regulator-name = "vcc3v0_touch";
                                regulator-always-on;
                                regulator-boot-on;
-                               regulator-min-microvolt = <2800000>;
-                               regulator-max-microvolt = <2800000>;
+                               regulator-min-microvolt = <3000000>;
+                               regulator-max-microvolt = <3000000>;
                                regulator-state-mem {
                                        regulator-off-in-suspend;
                                };
        vdd_cpu_b: regulator@40 {
                compatible = "silergy,syr827";
                reg = <0x40>;
-               fcs,suspend-voltage-selector = <0>;
+               fcs,suspend-voltage-selector = <1>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&vsel1_gpio>;
                regulator-name = "vdd_cpu_b";
                regulator-min-microvolt = <712500>;
                regulator-max-microvolt = <1500000>;
                compatible = "silergy,syr828";
                reg = <0x41>;
                fcs,suspend-voltage-selector = <1>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&vsel2_gpio>;
                regulator-name = "vdd_gpu";
                regulator-min-microvolt = <712500>;
                regulator-max-microvolt = <1500000>;
 
        pcie {
                pcie_pwr_en: pcie-pwr-en {
-                       rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
+                       rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
                };
        };
 
                };
 
                vsel1_gpio: vsel1-gpio {
-                       rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>;
+                       rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
                };
 
                vsel2_gpio: vsel2-gpio {