--- /dev/null
+From cee572756aa2cb46e959e9797ad4b730b78a050b Mon Sep 17 00:00:00 2001
+From: Christopher Obbard <chris.obbard@collabora.com>
+Date: Wed, 5 Jul 2023 15:42:54 +0100
+Subject: arm64: dts: rockchip: Disable HS400 for eMMC on ROCK Pi 4
+
+From: Christopher Obbard <chris.obbard@collabora.com>
+
+commit cee572756aa2cb46e959e9797ad4b730b78a050b upstream.
+
+There is some instablity with some eMMC modules on ROCK Pi 4 SBCs running
+in HS400 mode. This ends up resulting in some block errors after a while
+or after a "heavy" operation utilising the eMMC (e.g. resizing a
+filesystem). An example of these errors is as follows:
+
+ [ 289.171014] mmc1: running CQE recovery
+ [ 290.048972] mmc1: running CQE recovery
+ [ 290.054834] mmc1: running CQE recovery
+ [ 290.060817] mmc1: running CQE recovery
+ [ 290.061337] blk_update_request: I/O error, dev mmcblk1, sector 1411072 op 0x1:(WRITE) flags 0x800 phys_seg 36 prio class 0
+ [ 290.061370] EXT4-fs warning (device mmcblk1p1): ext4_end_bio:348: I/O error 10 writing to inode 29547 starting block 176466)
+ [ 290.061484] Buffer I/O error on device mmcblk1p1, logical block 172288
+ [ 290.061531] Buffer I/O error on device mmcblk1p1, logical block 172289
+ [ 290.061551] Buffer I/O error on device mmcblk1p1, logical block 172290
+ [ 290.061574] Buffer I/O error on device mmcblk1p1, logical block 172291
+ [ 290.061592] Buffer I/O error on device mmcblk1p1, logical block 172292
+ [ 290.061615] Buffer I/O error on device mmcblk1p1, logical block 172293
+ [ 290.061632] Buffer I/O error on device mmcblk1p1, logical block 172294
+ [ 290.061654] Buffer I/O error on device mmcblk1p1, logical block 172295
+ [ 290.061673] Buffer I/O error on device mmcblk1p1, logical block 172296
+ [ 290.061695] Buffer I/O error on device mmcblk1p1, logical block 172297
+
+Disabling the Command Queue seems to stop the CQE recovery from running,
+but doesn't seem to improve the I/O errors. Until this can be investigated
+further, disable HS400 mode on the ROCK Pi 4 SBCs to at least stop I/O
+errors from occurring.
+
+While we are here, set the eMMC maximum clock frequency to 1.5MHz to
+follow the ROCK 4C+.
+
+Fixes: 1b5715c602fd ("arm64: dts: rockchip: add ROCK Pi 4 DTS support")
+Signed-off-by: Christopher Obbard <chris.obbard@collabora.com>
+Tested-By: Folker Schwesinger <dev@folker-schwesinger.de>
+Link: https://lore.kernel.org/r/20230705144255.115299-2-chris.obbard@collabora.com
+Signed-off-by: Heiko Stuebner <heiko@sntech.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi
++++ b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi
+@@ -595,9 +595,9 @@
+ };
+
+ &sdhci {
++ max-frequency = <150000000>;
+ bus-width = <8>;
+- mmc-hs400-1_8v;
+- mmc-hs400-enhanced-strobe;
++ mmc-hs200-1_8v;
+ non-removable;
+ status = "okay";
+ };