public inbox for devicetree@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1 0/3] mmc: dw_mmc-rockchip: Add stability quirk for NanoPi R76S
@ 2026-01-10  1:07 Marco Schirrmeister
  2026-01-10  1:07 ` [PATCH v1 1/3] dt-bindings: mmc: rockchip-dw-mshc: add rockchip,disable-runtime-pm Marco Schirrmeister
                   ` (3 more replies)
  0 siblings, 4 replies; 21+ messages in thread
From: Marco Schirrmeister @ 2026-01-10  1:07 UTC (permalink / raw)
  To: heiko, ulf.hansson
  Cc: robh, krzk+dt, conor+dt, linux-rockchip, linux-mmc, devicetree,
	linux-arm-kernel, Marco Schirrmeister

This series addresses a microSD stability issue on the FriendlyElec 
NanoPi R76S (RK3576). The board currently suffers from a 400kHz 
retuning loop when the controller attempts to enter runtime-suspend 
during idle periods.

Evidence of the failure in dmesg:
[Fri Jan  2 01:28:02 2026] mmc_host mmc1: Bus speed (slot 0) = 400000Hz 
[Fri Jan  2 01:28:03 2026] mmc_host mmc1: Bus speed (slot 0) = 198000000Hz
[Fri Jan  2 01:28:03 2026] dwmmc_rockchip 2a310000.mmc: Successfully tuned phase to 233
[Fri Jan  2 01:28:04 2026] mmc_host mmc1: Bus speed (slot 0) = 400000Hz

Testing confirmed that the issue can be manually addressed by 
disabling runtime PM via sysfs:
echo on > /sys/devices/platform/soc/2a310000.mmc/power/control

I experimented with various changes in the Device Tree, including 
lowering the bus frequency and attempting to keep the power domains 
active, but nothing stopped the retuning loop.
The issue only went away when I forced the controller to stay active 
by disabling the runtime power management.

This quirk is the only way I have found to keep the SDR104 link from 
crashing on the NanoPi R76S, I am open to suggestions if there is 
a better way to handle this in the driver or the DTS.

Marco Schirrmeister (3):
  dt-bindings: mmc: rockchip-dw-mshc: add rockchip,disable-runtime-pm
  mmc: host: dw_mmc-rockchip: add rockchip,disable-runtime-pm quirk
  arm64: dts: rockchip: add stability quirk to NanoPi R76S

 .../bindings/mmc/rockchip-dw-mshc.yaml        |  8 ++++++
 .../boot/dts/rockchip/rk3576-nanopi-r76s.dts  |  1 +
 drivers/mmc/host/dw_mmc-rockchip.c            | 25 ++++++++++++++++---
 3 files changed, 31 insertions(+), 3 deletions(-)

-- 
2.52.0


^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2026-01-16 10:20 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-10  1:07 [PATCH v1 0/3] mmc: dw_mmc-rockchip: Add stability quirk for NanoPi R76S Marco Schirrmeister
2026-01-10  1:07 ` [PATCH v1 1/3] dt-bindings: mmc: rockchip-dw-mshc: add rockchip,disable-runtime-pm Marco Schirrmeister
2026-01-10  2:25   ` Rob Herring (Arm)
2026-01-11  9:41   ` Krzysztof Kozlowski
2026-01-11 23:51     ` Marco Schirrmeister
2026-01-16  9:43       ` Heiko Stübner
2026-01-16 10:20         ` Krzysztof Kozlowski
2026-01-10  1:07 ` [PATCH v1 2/3] mmc: host: dw_mmc-rockchip: add rockchip,disable-runtime-pm quirk Marco Schirrmeister
2026-01-10  1:07 ` [PATCH v1 3/3] arm64: dts: rockchip: add stability quirk to NanoPi R76S Marco Schirrmeister
2026-01-11  9:42   ` Krzysztof Kozlowski
2026-01-12  1:32 ` [PATCH v1 0/3] mmc: dw_mmc-rockchip: Add stability quirk for " Shawn Lin
2026-01-12  3:56   ` Shawn Lin
2026-01-12  8:29     ` Chaoyi Chen
2026-01-12  8:58       ` Shawn Lin
2026-01-12 19:09         ` Marco Schirrmeister
2026-01-14  8:08     ` Shawn Lin
2026-01-14 19:51       ` Marco Schirrmeister
2026-01-15  0:25         ` Shawn Lin
2026-01-15 19:39           ` Marco Schirrmeister
2026-01-16  0:31             ` Shawn Lin
2026-01-12 19:04   ` Marco Schirrmeister

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox