回复: [PATCH 1/2] arm64: dts: amlogic: s4: assign mmc b clock to 24MHz

Nick Xie nick at khadas.com
Tue Jan 13 19:52:20 PST 2026


Hello Jerome,

I checked this patch on Amlogic S4 S905Y4, the SD card works.

root at Khadas:~# uname -a
Linux Khadas 6.19.0-rc5+ #26 SMP PREEMPT Tue Jan 13 16:01:18 CST 2026 aarch64 aarch64 aarch64 GNU/Linux
root at Khadas:~# dmesg | grep mmc
[    0.297480] meson-gx-mmc fe08a000.mmc: Got CD GPIO
[    0.392463] mmc1: new UHS-I speed SDR104 SDHC card at address aaaa
[    0.393219] mmcblk1: mmc1:aaaa SP32G 29.7 GiB
[    0.395788]  mmcblk1: p1 p2
[    3.155360] EXT4-fs (mmcblk1p2): mounted filesystem 43b6881a-483c-4ca7-9dcd-f4575e665a8b r/w with writeback data mode. Quota mode: none.
[    4.640503] EXT4-fs (mmcblk1p2): re-mounted 43b6881a-483c-4ca7-9dcd-f4575e665a8b.
[    5.777682] EXT4-fs (mmcblk1p1): mounted filesystem f20cabae-bbc6-457e-9bb3-bac6eef01af5 r/w with ordered data mode. Quota mode: none.

Tested-by: Nick Xie <nick at khadas.com>

--
Best Regards
Nick 谢奇
Amazing Khadas, Always Amazes You




________________________________________
发件人: Jerome Brunet <jbrunet at baylibre.com>
已发送: 2026 年 1 月 13 日 星期二 18:39
收件人: Rob Herring <robh at kernel.org>; Krzysztof Kozlowski <krzk+dt at kernel.org>; Conor Dooley <conor+dt at kernel.org>; Neil Armstrong <neil.armstrong at linaro.org>; Kevin Hilman <khilman at baylibre.com>; Martin Blumenstingl <martin.blumenstingl at googlemail.com>; Xianwei Zhao <xianwei.zhao at amlogic.com>; Nick Xie <nick at khadas.com>
抄送: devicetree at vger.kernel.org <devicetree at vger.kernel.org>; linux-arm-kernel at lists.infradead.org <linux-arm-kernel at lists.infradead.org>; linux-amlogic at lists.infradead.org <linux-amlogic at lists.infradead.org>; linux-kernel at vger.kernel.org <linux-kernel at vger.kernel.org>; Jerome Brunet <jbrunet at baylibre.com>
主题: [PATCH 1/2] arm64: dts: amlogic: s4: assign mmc b clock to 24MHz


The amlogic MMC operate with the assumption that MMC clock

is configured to provide 24MHz. It uses that path for low

rates such as 400kHz.



This assumption did hold true until but it now, but it apparently

not the case with s4. The clock has been reported to provide 1GHz

instead. This is most likely due to how the bootloader is using the MMC

clock on this platform.



Regardless of why the MMC clock is set to 1GHz, if the MMC driver expects

24MHz, we should make sure it does get that, so assign the clock.



Reported-by: Nick Xie <nick at khadas.com>

Closes: https://lore.kernel.org/linux-amlogic/20260113011931.40424-1-nick@khadas.com/

Fixes: 3ab9d54b5d84 ("arm64: dts: amlogic: enable some device nodes for S4")

Signed-off-by: Jerome Brunet <jbrunet at baylibre.com>

---

 arch/arm64/boot/dts/amlogic/meson-s4.dtsi | 4 ++++

 1 file changed, 4 insertions(+)



diff --git a/arch/arm64/boot/dts/amlogic/meson-s4.dtsi b/arch/arm64/boot/dts/amlogic/meson-s4.dtsi

index 9d99ed2994dfa27ca5808da7ae0825e9af255417..62538fd9db6b1ffb33a88e12628aadefbaa453ec 100644

--- a/arch/arm64/boot/dts/amlogic/meson-s4.dtsi

+++ b/arch/arm64/boot/dts/amlogic/meson-s4.dtsi

@@ -838,6 +838,10 @@ sd: mmc at fe08a000 {

                         clock-names = "core", "clkin0", "clkin1";

                         resets = <&reset RESET_SD_EMMC_B>;

                         status = "disabled";

+

+                       assigned-clocks = <&clkc_periphs CLKID_SD_EMMC_B>;

+                       assigned-clock-parents = <0>;

+                       assigned-clock-rates = <24000000>;

                 };

 

                 emmc: mmc at fe08c000 {



--

2.47.3





More information about the linux-arm-kernel mailing list