ARM: dts: rockchip: explicitly set vcc_sd0 pin to gpio on rk3188-radxarock
authorHeiko Stuebner <heiko@sntech.de>
Thu, 20 Sep 2018 09:34:36 +0000 (11:34 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Nov 2019 17:47:18 +0000 (18:47 +0100)
commitb7ffda42d720693b4efbce52d94449bc935fb2df
tree5fa4e8563316d0f1a2c73f22a96ec753b2e24bed
parent0b08daf034cc2da18cb7faad11c3b8a6ea8e7043
ARM: dts: rockchip: explicitly set vcc_sd0 pin to gpio on rk3188-radxarock

[ 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