* [PATCH] arm64: dts: rockchip: add workaround for microSD card detection on Radxa ROCK 3A
@ 2024-09-03 8:55 FUKAUMI Naoki
2024-09-04 18:32 ` Heiko Stübner
0 siblings, 1 reply; 3+ messages in thread
From: FUKAUMI Naoki @ 2024-09-03 8:55 UTC (permalink / raw)
To: heiko; +Cc: michael.riesch, linux-rockchip, FUKAUMI Naoki
Radxa ROCK 3A doesn't detect microSD card insertion/removal correctly.
it happens from Linux v5.19 to v6.11-rc6.
add workaround (broken-cd property) to make CD work.
Fixes: 22a442e6586c ("arm64: dts: rockchip: add basic dts for the radxa rock3 model a")
Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
---
arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts b/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
index 59f1403b4fa5..89599258ef9c 100644
--- a/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
@@ -722,12 +722,12 @@ &sdhci {
};
&sdmmc0 {
+ broken-cd;
bus-width = <4>;
cap-sd-highspeed;
- cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
disable-wp;
pinctrl-names = "default";
- pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>;
+ pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd>;
sd-uhs-sdr50;
vmmc-supply = <&vcc3v3_sd>;
vqmmc-supply = <&vccio_sd>;
--
2.43.0
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [PATCH] arm64: dts: rockchip: add workaround for microSD card detection on Radxa ROCK 3A 2024-09-03 8:55 [PATCH] arm64: dts: rockchip: add workaround for microSD card detection on Radxa ROCK 3A FUKAUMI Naoki @ 2024-09-04 18:32 ` Heiko Stübner 2024-09-05 8:49 ` FUKAUMI Naoki 0 siblings, 1 reply; 3+ messages in thread From: Heiko Stübner @ 2024-09-04 18:32 UTC (permalink / raw) To: FUKAUMI Naoki; +Cc: michael.riesch, linux-rockchip, FUKAUMI Naoki Hi, Am Dienstag, 3. September 2024, 10:55:50 CEST schrieb FUKAUMI Naoki: > Radxa ROCK 3A doesn't detect microSD card insertion/removal correctly. > it happens from Linux v5.19 to v6.11-rc6. > > add workaround (broken-cd property) to make CD work. > > Fixes: 22a442e6586c ("arm64: dts: rockchip: add basic dts for the radxa rock3 model a") > Signed-off-by: FUKAUMI Naoki <naoki@radxa.com> before going for such drastic measures as broken-cd, can you describe how you checked the card insert/removal ? I.e. in the dts node below we have both cd-gpios as well as the sdmmc0_det pinctrl which would set the pinfunc 1 ... the hw-based card detect and possibly override the cd-gpios? What happens if you just remove the sdmmc0_det and keep the cd-gpios property? Also, what does cat /sys/kernel/debug/gpio report after that change with inserted and removed cards? Heiko > --- > arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts b/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts > index 59f1403b4fa5..89599258ef9c 100644 > --- a/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts > +++ b/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts > @@ -722,12 +722,12 @@ &sdhci { > }; > > &sdmmc0 { > + broken-cd; > bus-width = <4>; > cap-sd-highspeed; > - cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>; > disable-wp; > pinctrl-names = "default"; > - pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>; > + pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd>; > sd-uhs-sdr50; > vmmc-supply = <&vcc3v3_sd>; > vqmmc-supply = <&vccio_sd>; > _______________________________________________ Linux-rockchip mailing list Linux-rockchip@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-rockchip ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] arm64: dts: rockchip: add workaround for microSD card detection on Radxa ROCK 3A 2024-09-04 18:32 ` Heiko Stübner @ 2024-09-05 8:49 ` FUKAUMI Naoki 0 siblings, 0 replies; 3+ messages in thread From: FUKAUMI Naoki @ 2024-09-05 8:49 UTC (permalink / raw) To: Heiko Stübner; +Cc: michael.riesch, linux-rockchip hi, On 9/5/24 03:32, Heiko Stübner wrote: > Hi, > > Am Dienstag, 3. September 2024, 10:55:50 CEST schrieb FUKAUMI Naoki: >> Radxa ROCK 3A doesn't detect microSD card insertion/removal correctly. >> it happens from Linux v5.19 to v6.11-rc6. >> >> add workaround (broken-cd property) to make CD work. >> >> Fixes: 22a442e6586c ("arm64: dts: rockchip: add basic dts for the radxa rock3 model a") >> Signed-off-by: FUKAUMI Naoki <naoki@radxa.com> > > before going for such drastic measures as broken-cd, can you describe how > you checked the card insert/removal ? basically, dmesg. > I.e. in the dts node below we have both cd-gpios as well as the sdmmc0_det > pinctrl which would set the pinfunc 1 ... the hw-based card detect and > possibly override the cd-gpios? > > What happens if you just remove the sdmmc0_det and keep the cd-gpios > property? nothing is changed if pinfunc is 0 or 1 , i.e. CD is not working both configuration. > Also, what does cat /sys/kernel/debug/gpio report after that change > with inserted and removed cards? it's always "hi". $ sudo grep 'gpio-4 ' /sys/kernel/debug/gpio gpio-4 ( |cd ) in hi IRQ ACTIVE LOW ---- I forgot to explain about exception. only if microSD card is inserted before kernel boot, card is recognized and accessible. in this case, gpio-4 is "lo" till card is removed. when card is removed, gpio-4 goes "hi", dmesg shows "mmc1: card 1234 removed". after that, even if card is inserted again, gpio-4 never goes "lo", card is never detected. btw, I usually put bootloader on microSD card. (kernel and userland are on USB-SSD) this time, I tried "boot from SPI flash", but nothing is changed. I understand this is very strange, I'm okay if this patch is rejected. I want to know more information from other users to find out real solution. Best regards, -- FUKAUMI Naoki Radxa Computer (Shenzhen) Co., Ltd. > Heiko > >> --- >> arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts b/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts >> index 59f1403b4fa5..89599258ef9c 100644 >> --- a/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts >> +++ b/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts >> @@ -722,12 +722,12 @@ &sdhci { >> }; >> >> &sdmmc0 { >> + broken-cd; >> bus-width = <4>; >> cap-sd-highspeed; >> - cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>; >> disable-wp; >> pinctrl-names = "default"; >> - pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>; >> + pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd>; >> sd-uhs-sdr50; >> vmmc-supply = <&vcc3v3_sd>; >> vqmmc-supply = <&vccio_sd>; >> > > > > > _______________________________________________ Linux-rockchip mailing list Linux-rockchip@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-rockchip ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-09-05 8:50 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-09-03 8:55 [PATCH] arm64: dts: rockchip: add workaround for microSD card detection on Radxa ROCK 3A FUKAUMI Naoki 2024-09-04 18:32 ` Heiko Stübner 2024-09-05 8:49 ` FUKAUMI Naoki
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox