* [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