Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] arm64: dts: allwinner: a523: x96qpro+: overvolting eMMC
@ 2026-07-20 21:38 Andre Przywara
  2026-07-21 22:38 ` Andre Przywara
  0 siblings, 1 reply; 2+ messages in thread
From: Andre Przywara @ 2026-07-20 21:38 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
	Jernej Skrabec, Samuel Holland
  Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel

On the X96QPro+ TV box, the eMMC wasn't working properly: the chip would
be detected, but most requests failed, leaving it unusable. Some
"solutions" were circulating downstream, one "popular" one is severely
limiting the clock frequency, with a drastic performance impact.

Instead slightly bumping the I/O voltage on PortC from the canonical
1.8V to 1.9V seemed to do the trick: the eMMC now works and reaches the
expected 120MB/s performance.

Adjust the respective regulator voltage in the .dts to enable eMMC
operation on that device.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
---
Hi,

I am not super happy with this patch, but it seems to be a pragmatic and
the least hacky solution I have seen.

Cheers,
Andre

 arch/arm64/boot/dts/allwinner/sun55i-h728-x96qpro+.dts | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/allwinner/sun55i-h728-x96qpro+.dts b/arch/arm64/boot/dts/allwinner/sun55i-h728-x96qpro+.dts
index a96927fbdadd5..5636e95312218 100644
--- a/arch/arm64/boot/dts/allwinner/sun55i-h728-x96qpro+.dts
+++ b/arch/arm64/boot/dts/allwinner/sun55i-h728-x96qpro+.dts
@@ -194,8 +194,8 @@ reg_bldo4: bldo4 {
 
 			reg_cldo1: cldo1 {
 				regulator-always-on;
-				regulator-min-microvolt = <1800000>;
-				regulator-max-microvolt = <1800000>;
+				regulator-min-microvolt = <1900000>;
+				regulator-max-microvolt = <1900000>;
 				regulator-name = "vcc-codec-sd";
 			};
 
-- 
2.46.4



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

* Re: [PATCH] arm64: dts: allwinner: a523: x96qpro+: overvolting eMMC
  2026-07-20 21:38 [PATCH] arm64: dts: allwinner: a523: x96qpro+: overvolting eMMC Andre Przywara
@ 2026-07-21 22:38 ` Andre Przywara
  0 siblings, 0 replies; 2+ messages in thread
From: Andre Przywara @ 2026-07-21 22:38 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
	Jernej Skrabec, Samuel Holland
  Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel

On Mon, 20 Jul 2026 23:38:32 +0200
Andre Przywara <andre.przywara@arm.com> wrote:

Hi,

> On the X96QPro+ TV box, the eMMC wasn't working properly: the chip would
> be detected, but most requests failed, leaving it unusable. Some
> "solutions" were circulating downstream, one "popular" one is severely
> limiting the clock frequency, with a drastic performance impact.
> 
> Instead slightly bumping the I/O voltage on PortC from the canonical
> 1.8V to 1.9V seemed to do the trick: the eMMC now works and reaches the
> expected 120MB/s performance.

So for the records: please disregard this patch, it was more voodoo
than a proper fix.
As Sashiko pointed out, this slight voltage bump changes the GPIO bank
withstand voltage, which turned out to be the actual culprit: the
encoding was wrong, and the new voltage here now changed the value to
inadvertently use the right bit setting.
I will send another patch to fix this properly.

Cheers,
Andre

> 
> Adjust the respective regulator voltage in the .dts to enable eMMC
> operation on that device.
> 
> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
> ---
> Hi,
> 
> I am not super happy with this patch, but it seems to be a pragmatic and
> the least hacky solution I have seen.
> 
> Cheers,
> Andre
> 
>  arch/arm64/boot/dts/allwinner/sun55i-h728-x96qpro+.dts | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/allwinner/sun55i-h728-x96qpro+.dts b/arch/arm64/boot/dts/allwinner/sun55i-h728-x96qpro+.dts
> index a96927fbdadd5..5636e95312218 100644
> --- a/arch/arm64/boot/dts/allwinner/sun55i-h728-x96qpro+.dts
> +++ b/arch/arm64/boot/dts/allwinner/sun55i-h728-x96qpro+.dts
> @@ -194,8 +194,8 @@ reg_bldo4: bldo4 {
>  
>  			reg_cldo1: cldo1 {
>  				regulator-always-on;
> -				regulator-min-microvolt = <1800000>;
> -				regulator-max-microvolt = <1800000>;
> +				regulator-min-microvolt = <1900000>;
> +				regulator-max-microvolt = <1900000>;
>  				regulator-name = "vcc-codec-sd";
>  			};
>  



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

end of thread, other threads:[~2026-07-21 22:42 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-20 21:38 [PATCH] arm64: dts: allwinner: a523: x96qpro+: overvolting eMMC Andre Przywara
2026-07-21 22:38 ` Andre Przywara

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