On Wed, May 8, 2019 at 7:22 PM Robin Murphy <robin.murphy@xxxxxxx> wrote: > > On 08/05/2019 06:41, Jagan Teki wrote: > > sdmmc cd pin is configured as RK_FUNC_GPIO which is wrong and > > indeed failed to detect the sdcard on the board with below error > > > > Card did not respond to voltage select! > > > > So, fix it by replacing RK_FUNC_GPIO with RK_FUNC_1 which > > is already defined in rk3399.dts so make use of same like > > other boards. > > AFAICS this should also be true of RockPro64 and (at least with the > Linux DT) Firefly - those aren't grabbing &sdmmc_cd by default either. I > imagine that U-Boot might also see similar problems on Gru, where the > card detect signal is on a completely different GPIO. But RockPro64 is not using sdmmc_cd and it is able to detect the card w/o pin but it has cd-gpio. > > I'd note that in Linux, only rk3399-evb is actually *using* &sdmmc_cd - > despite the fact that they claim it, nearly all the other boards also > have "cd-gpios" and thus end up overriding the dedicated function with > an implicit GPIO configuration anyway. Sapphire is the odd one out in > using "broken-cd" as the less-efficient way of mitigating the runtime PM > issue. > > > Add these changes in -u-boot.dtsi to make Linux sync easy for future > > changes. > > > > Signed-off-by: Jagan Teki <jagan@xxxxxxxxxxxxxxxxxxxx> > > Reviewed-by: Kever Yang <kever.yang@xxxxxxxxxxxxxx> > > --- > > arch/arm/dts/rk3399-nanopi4-u-boot.dtsi | 9 +++++++++ > > 1 file changed, 9 insertions(+) > > create mode 100644 arch/arm/dts/rk3399-nanopi4-u-boot.dtsi > > > > diff --git a/arch/arm/dts/rk3399-nanopi4-u-boot.dtsi b/arch/arm/dts/rk3399-nanopi4-u-boot.dtsi > > new file mode 100644 > > index 0000000000..20db99c0b8 > > --- /dev/null > > +++ b/arch/arm/dts/rk3399-nanopi4-u-boot.dtsi > > @@ -0,0 +1,9 @@ > > +// SPDX-License-Identifier: GPL-2.0+ > > +/* > > + * Copyright (C) 2019 Jagan Teki <jagan@xxxxxxxxxxxxxxxxxxxx> > > + */ > > + > > +&sdmmc { > > + pinctrl-names = "default"; > > That's already set in the base DTSI, so doesn't really need to be > shadowed here. > > > + pinctrl-0 = <&sdmmc_bus4 &sdmmc_clk &sdmmc_cmd &sdmmc_cd>; > > +}; > > > > I suppose you could also delete the "cd-gpios" property to make it > really clear what this override is for (and save a few bytes if it's > going to be ignored anyway). Why so? few boards like OrangePI do use both sdmmc_cd along with cd-gpio. On the other-hand, how about doing this change in Linux? _______________________________________________ Linux-rockchip mailing list Linux-rockchip@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/linux-rockchip