| From dfa71efca5942738c8175d8a3ec82682080ae546 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Thu, 20 Sep 2018 11:34:36 +0200 |
| Subject: ARM: dts: rockchip: explicitly set vcc_sd0 pin to gpio on |
| rk3188-radxarock |
| |
| From: Heiko Stuebner <heiko@sntech.de> |
| |
| [ Upstream commit a2df0984e73fd9e1dad5fc3f1c307ec3de395e30 ] |
| |
| It is good practice to make the setting of gpio-pinctrls explicitly in the |
| devicetree, and in this case even necessary. |
| Rockchip boards start with iomux settings set to gpio for most pins and |
| while the linux pinctrl driver also implicitly sets the gpio function if |
| a pin is requested as gpio that is not necessarily true for other drivers. |
| |
| The issue in question stems from uboot, where the sdmmc_pwr pin is set |
| to function 1 (sdmmc-power) by the bootrom when reading the 1st-stage |
| loader. The regulator controlled by the pin is active-low though, so |
| when the dwmmc hw-block sets its enabled bit, it actually disables the |
| regulator. By changing the pin back to gpio we fix that behaviour. |
| |
| Signed-off-by: Heiko Stuebner <heiko@sntech.de> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| arch/arm/boot/dts/rk3188-radxarock.dts | 8 ++++++++ |
| 1 file changed, 8 insertions(+) |
| |
| diff --git a/arch/arm/boot/dts/rk3188-radxarock.dts b/arch/arm/boot/dts/rk3188-radxarock.dts |
| index 45fd2b302dda1..4a2890618f6fc 100644 |
| --- a/arch/arm/boot/dts/rk3188-radxarock.dts |
| +++ b/arch/arm/boot/dts/rk3188-radxarock.dts |
| @@ -93,6 +93,8 @@ |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| gpio = <&gpio3 RK_PA1 GPIO_ACTIVE_LOW>; |
| + pinctrl-names = "default"; |
| + pinctrl-0 = <&sdmmc_pwr>; |
| startup-delay-us = <100000>; |
| vin-supply = <&vcc_io>; |
| }; |
| @@ -315,6 +317,12 @@ |
| }; |
| }; |
| |
| + sd0 { |
| + sdmmc_pwr: sdmmc-pwr { |
| + rockchip,pins = <RK_GPIO3 1 RK_FUNC_GPIO &pcfg_pull_none>; |
| + }; |
| + }; |
| + |
| usb { |
| host_vbus_drv: host-vbus-drv { |
| rockchip,pins = <0 3 RK_FUNC_GPIO &pcfg_pull_none>; |
| -- |
| 2.20.1 |
| |