arm64: dts: rockchip: Fix microSD in rk3399 sapphire board
authorVicente Bergas <vicencb@gmail.com>
Mon, 17 Sep 2018 13:47:14 +0000 (15:47 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Nov 2019 17:47:15 +0000 (18:47 +0100)
commit9d2ce0611ad5c2f5327021b7427d6a547b961da3
tree6d26ab86e105ed805e9124c57f79fdf8309636e9
parent46a9bbe9d579e271d04c6a6a60ea0ed5967b4135
arm64: dts: rockchip: Fix microSD in rk3399 sapphire board

[ Upstream commit 88a20edf76091ee7f1bb459b89d714d53f0f8940 ]

The microSD card slot in the Sapphire board is not working because of
several issues:
 1.- The vmmc power supply is missing in the DTS. It is capable of 3.0V
 and has a GPIO-based enable control.
 2.- The vqmmc power supply can provide up to 3.3V, but it is capped in
 the DTS to just 3.0V because of the vmmc capability. This results in a
 conflict from the mmc driver requesting an unsupportable voltage range
 from 3.3V to 3.0V (min > max) as reported in dmesg. So, extend the
 range up to 3.3V. The hw should be able to stand this 0.3V tolerance.
 See mmc_regulator_set_vqmmc in drivers/mmc/core/core.c.
 3.- The card detect signal is non-working. There is a known conflict
 with jtag, but the workaround in drivers/soc/rockchip/grf.c does not
 work. Adding the broken-cd attribute to the DTS fixes the issue.

Signed-off-by: Vicente Bergas <vicencb@gmail.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/arm64/boot/dts/rockchip/rk3399-sapphire.dtsi