From: Drew Fustini <dfustini@tenstorrent.com>
To: Xi Ruoyao <xry111@xry111.site>
Cc: Drew Fustini <dfustini@baylibre.com>,
Paul Walmsley <paul.walmsley@sifive.com>,
Palmer Dabbelt <palmer@dabbelt.com>,
Albert Ou <aou@eecs.berkeley.edu>,
Jisheng Zhang <jszhang@kernel.org>, Guo Ren <guoren@kernel.org>,
Fu Wei <wefu@redhat.com>, Conor Dooley <conor@kernel.org>,
Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Jason Kridner <jkridner@beagleboard.org>,
Robert Nelson <robertcnelson@beagleboard.org>,
linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org,
devicetree@vger.kernel.org
Subject: Re: [PATCH v8 4/4] riscv: dts: thead: Enable LicheePi 4A eMMC and microSD
Date: Sat, 2 Mar 2024 08:25:34 -0800 [thread overview]
Message-ID: <ZeNS/g97JetYgXny@x1> (raw)
In-Reply-To: <110fa8d6be78a26ca21cd97c55903f5d62776430.camel@xry111.site>
On Sat, Mar 02, 2024 at 10:13:55PM +0800, Xi Ruoyao wrote:
> On Wed, 2023-12-06 at 00:09 -0800, Drew Fustini wrote:
> > Add emmc node properties for the eMMC device and add sdio0 node
> > properties for the microSD slot. Set the frequency for the sdhci
> > reference clock.
>
> Hi Drew,
>
> I've been using the emmc on LicheePi 4A for a while without any problem,
> but when I try the microSD slot I get:
>
> [ 0.531804] mmc1: SDHCI controller on ffe7090000.mmc [ffe7090000.mmc] using ADMA 64-bit
> [ 0.842674] mmc1: Tuning failed, falling back to fixed sampling clock
> [ 0.855139] mmc1: tuning execution failed: -5
> [ 0.859609] mmc1: error -5 whilst initialising SD card
> [ 11.359879] mmc1: Timeout waiting for hardware cmd interrupt.
> [ 11.365661] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
> [ 11.372105] mmc1: sdhci: Sys addr: 0x00000001 | Version: 0x00000005
> [ 11.378547] mmc1: sdhci: Blk size: 0x00007040 | Blk cnt: 0x00000000
> [ 11.384989] mmc1: sdhci: Argument: 0x00000000 | Trn mode: 0x00000010
> [ 11.391432] mmc1: sdhci: Present: 0x03ff0000 | Host ctl: 0x00000017
> [ 11.397873] mmc1: sdhci: Power: 0x0000000f | Blk gap: 0x00000000
> [ 11.404312] mmc1: sdhci: Wake-up: 0x00000000 | Clock: 0x0000000f
> [ 11.410753] mmc1: sdhci: Timeout: 0x00000004 | Int stat: 0x00000000
> [ 11.417192] mmc1: sdhci: Int enab: 0x00000020 | Sig enab: 0x00000020
> [ 11.423633] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
> [ 11.430073] mmc1: sdhci: Caps: 0x3f69c881 | Caps_1: 0x08008177
> [ 11.436513] mmc1: sdhci: Cmd: 0x00000102 | Max curr: 0x00191919
> [ 11.442954] mmc1: sdhci: Resp[0]: 0x00000900 | Resp[1]: 0x07725f7f
> [ 11.449394] mmc1: sdhci: Resp[2]: 0x32db7900 | Resp[3]: 0x00400e00
> [ 11.455835] mmc1: sdhci: Host ctl2: 0x0000300b
> [ 11.460280] mmc1: sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x0000000000882220
> [ 11.467416] mmc1: sdhci: ============================================
> [ 11.563828] mmc1: Tuning failed, falling back to fixed sampling clock
> [ 11.576053] mmc1: tuning execution failed: -5
> [ 11.646438] mmc1: new high speed SDXC card at address aaaa
> [ 11.653170] mmcblk1: mmc1:aaaa SR256 238 GiB
>
> I can write something into the SD card and read it back though. But
> this makes me reluctant to use the SD card for "some real thing" afraid
> of a data loss.
>
> The SD card is a SanDisk Extreme Pro 256GB (rated "U3, A2, V30").
>
> Any idea how to debug this issue further? (Maybe I should try change
> the SD card first but I'd like to discuss the issue before paying money
> for another card.)
Revy informed me that downclocking from 198 MHz to 100 MHz [1] has been
observed to solve this problem. Could you try the following dts patch?
Also, I have noticed the T-Head's 5.10 vendor kernel does have some
updates in sdhci-of-dwcmshc.c related to tuning. I'll look at porting
those to the upstream driving.
Thanks,
Drew
[1] https://github.com/revyos/thead-kernel/pull/62
[2] https://github.com/revyos/thead-kernel/commit/afef388b8e26f0d77f9d2261b6e57991941a213f#diff-ba729b399f3cb86d6a2503890c3626a6426c1572a54f24cd7ab3337f5fc75674
------ [cut here] --------
From db4d406fc15c76317993a39a72061d3df47e86f0 Mon Sep 17 00:00:00 2001
From: Drew Fustini <dfustini@tenstorrent.com>
Date: Sat, 2 Mar 2024 08:21:50 -0800
Subject: [PATCH] riscv: dts: thead: downgrade microSD to 100 MHz max
Downgrade max freq for microSD controller from 198 MHz to 100 MHz to
avoid timeout errors.
Signed-off-by: Drew Fustini <dfustini@tenstorrent.com>
---
arch/riscv/boot/dts/thead/th1520-lichee-module-4a.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/riscv/boot/dts/thead/th1520-lichee-module-4a.dtsi b/arch/riscv/boot/dts/thead/th1520-lichee-module-4a.dtsi
index 1365d3a512a3..d6ae671f94a9 100644
--- a/arch/riscv/boot/dts/thead/th1520-lichee-module-4a.dtsi
+++ b/arch/riscv/boot/dts/thead/th1520-lichee-module-4a.dtsi
@@ -53,6 +53,6 @@ &emmc {
&sdio0 {
bus-width = <4>;
- max-frequency = <198000000>;
+ max-frequency = <100000000>;
status = "okay";
};
--
2.34.1
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
WARNING: multiple messages have this Message-ID (diff)
From: Drew Fustini <dfustini@tenstorrent.com>
To: Xi Ruoyao <xry111@xry111.site>
Cc: Drew Fustini <dfustini@baylibre.com>,
Paul Walmsley <paul.walmsley@sifive.com>,
Palmer Dabbelt <palmer@dabbelt.com>,
Albert Ou <aou@eecs.berkeley.edu>,
Jisheng Zhang <jszhang@kernel.org>, Guo Ren <guoren@kernel.org>,
Fu Wei <wefu@redhat.com>, Conor Dooley <conor@kernel.org>,
Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Jason Kridner <jkridner@beagleboard.org>,
Robert Nelson <robertcnelson@beagleboard.org>,
linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org,
devicetree@vger.kernel.org
Subject: Re: [PATCH v8 4/4] riscv: dts: thead: Enable LicheePi 4A eMMC and microSD
Date: Sat, 2 Mar 2024 08:25:34 -0800 [thread overview]
Message-ID: <ZeNS/g97JetYgXny@x1> (raw)
In-Reply-To: <110fa8d6be78a26ca21cd97c55903f5d62776430.camel@xry111.site>
On Sat, Mar 02, 2024 at 10:13:55PM +0800, Xi Ruoyao wrote:
> On Wed, 2023-12-06 at 00:09 -0800, Drew Fustini wrote:
> > Add emmc node properties for the eMMC device and add sdio0 node
> > properties for the microSD slot. Set the frequency for the sdhci
> > reference clock.
>
> Hi Drew,
>
> I've been using the emmc on LicheePi 4A for a while without any problem,
> but when I try the microSD slot I get:
>
> [ 0.531804] mmc1: SDHCI controller on ffe7090000.mmc [ffe7090000.mmc] using ADMA 64-bit
> [ 0.842674] mmc1: Tuning failed, falling back to fixed sampling clock
> [ 0.855139] mmc1: tuning execution failed: -5
> [ 0.859609] mmc1: error -5 whilst initialising SD card
> [ 11.359879] mmc1: Timeout waiting for hardware cmd interrupt.
> [ 11.365661] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
> [ 11.372105] mmc1: sdhci: Sys addr: 0x00000001 | Version: 0x00000005
> [ 11.378547] mmc1: sdhci: Blk size: 0x00007040 | Blk cnt: 0x00000000
> [ 11.384989] mmc1: sdhci: Argument: 0x00000000 | Trn mode: 0x00000010
> [ 11.391432] mmc1: sdhci: Present: 0x03ff0000 | Host ctl: 0x00000017
> [ 11.397873] mmc1: sdhci: Power: 0x0000000f | Blk gap: 0x00000000
> [ 11.404312] mmc1: sdhci: Wake-up: 0x00000000 | Clock: 0x0000000f
> [ 11.410753] mmc1: sdhci: Timeout: 0x00000004 | Int stat: 0x00000000
> [ 11.417192] mmc1: sdhci: Int enab: 0x00000020 | Sig enab: 0x00000020
> [ 11.423633] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
> [ 11.430073] mmc1: sdhci: Caps: 0x3f69c881 | Caps_1: 0x08008177
> [ 11.436513] mmc1: sdhci: Cmd: 0x00000102 | Max curr: 0x00191919
> [ 11.442954] mmc1: sdhci: Resp[0]: 0x00000900 | Resp[1]: 0x07725f7f
> [ 11.449394] mmc1: sdhci: Resp[2]: 0x32db7900 | Resp[3]: 0x00400e00
> [ 11.455835] mmc1: sdhci: Host ctl2: 0x0000300b
> [ 11.460280] mmc1: sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x0000000000882220
> [ 11.467416] mmc1: sdhci: ============================================
> [ 11.563828] mmc1: Tuning failed, falling back to fixed sampling clock
> [ 11.576053] mmc1: tuning execution failed: -5
> [ 11.646438] mmc1: new high speed SDXC card at address aaaa
> [ 11.653170] mmcblk1: mmc1:aaaa SR256 238 GiB
>
> I can write something into the SD card and read it back though. But
> this makes me reluctant to use the SD card for "some real thing" afraid
> of a data loss.
>
> The SD card is a SanDisk Extreme Pro 256GB (rated "U3, A2, V30").
>
> Any idea how to debug this issue further? (Maybe I should try change
> the SD card first but I'd like to discuss the issue before paying money
> for another card.)
Revy informed me that downclocking from 198 MHz to 100 MHz [1] has been
observed to solve this problem. Could you try the following dts patch?
Also, I have noticed the T-Head's 5.10 vendor kernel does have some
updates in sdhci-of-dwcmshc.c related to tuning. I'll look at porting
those to the upstream driving.
Thanks,
Drew
[1] https://github.com/revyos/thead-kernel/pull/62
[2] https://github.com/revyos/thead-kernel/commit/afef388b8e26f0d77f9d2261b6e57991941a213f#diff-ba729b399f3cb86d6a2503890c3626a6426c1572a54f24cd7ab3337f5fc75674
------ [cut here] --------
From db4d406fc15c76317993a39a72061d3df47e86f0 Mon Sep 17 00:00:00 2001
From: Drew Fustini <dfustini@tenstorrent.com>
Date: Sat, 2 Mar 2024 08:21:50 -0800
Subject: [PATCH] riscv: dts: thead: downgrade microSD to 100 MHz max
Downgrade max freq for microSD controller from 198 MHz to 100 MHz to
avoid timeout errors.
Signed-off-by: Drew Fustini <dfustini@tenstorrent.com>
---
arch/riscv/boot/dts/thead/th1520-lichee-module-4a.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/riscv/boot/dts/thead/th1520-lichee-module-4a.dtsi b/arch/riscv/boot/dts/thead/th1520-lichee-module-4a.dtsi
index 1365d3a512a3..d6ae671f94a9 100644
--- a/arch/riscv/boot/dts/thead/th1520-lichee-module-4a.dtsi
+++ b/arch/riscv/boot/dts/thead/th1520-lichee-module-4a.dtsi
@@ -53,6 +53,6 @@ &emmc {
&sdio0 {
bus-width = <4>;
- max-frequency = <198000000>;
+ max-frequency = <100000000>;
status = "okay";
};
--
2.34.1
next prev parent reply other threads:[~2024-03-02 16:25 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-06 8:09 [PATCH v8 0/4] RISC-V: Add MMC support for TH1520 boards Drew Fustini
2023-12-06 8:09 ` Drew Fustini
2023-12-06 8:09 ` [PATCH v8 1/4] riscv: defconfig: Enable mmc and dma drivers for T-Head TH1520 Drew Fustini
2023-12-06 8:09 ` Drew Fustini
2023-12-06 10:08 ` Emil Renner Berthing
2023-12-06 10:08 ` Emil Renner Berthing
2023-12-06 8:09 ` [PATCH v8 2/4] riscv: dts: thead: Add TH1520 mmc controllers and sdhci clock Drew Fustini
2023-12-06 8:09 ` Drew Fustini
2023-12-06 10:10 ` Emil Renner Berthing
2023-12-06 10:10 ` Emil Renner Berthing
2023-12-07 6:33 ` Drew Fustini
2023-12-07 6:33 ` Drew Fustini
2023-12-07 8:23 ` Guo Ren
2023-12-07 8:23 ` Guo Ren
2023-12-06 8:09 ` [PATCH v8 3/4] riscv: dts: thead: Enable BeagleV Ahead eMMC and microSD Drew Fustini
2023-12-06 8:09 ` Drew Fustini
2023-12-07 8:27 ` Guo Ren
2023-12-07 8:27 ` Guo Ren
2023-12-06 8:09 ` [PATCH v8 4/4] riscv: dts: thead: Enable LicheePi 4A " Drew Fustini
2023-12-06 8:09 ` Drew Fustini
2023-12-07 8:25 ` Guo Ren
2023-12-07 8:25 ` Guo Ren
2024-03-02 14:13 ` Xi Ruoyao
2024-03-02 14:13 ` Xi Ruoyao
2024-03-02 16:25 ` Drew Fustini [this message]
2024-03-02 16:25 ` Drew Fustini
2024-03-03 8:48 ` Xi Ruoyao
2024-03-03 8:48 ` Xi Ruoyao
2023-12-12 4:53 ` [PATCH v8 0/4] RISC-V: Add MMC support for TH1520 boards Jisheng Zhang
2023-12-12 4:53 ` Jisheng Zhang
2023-12-12 19:13 ` (subset) " Conor Dooley
2023-12-12 19:13 ` Conor Dooley
2024-02-12 4:51 ` Drew Fustini
2024-02-12 4:51 ` Drew Fustini
2024-02-16 19:06 ` Palmer Dabbelt
2024-02-16 19:06 ` Palmer Dabbelt
2024-02-22 20:20 ` patchwork-bot+linux-riscv
2024-02-22 20:20 ` patchwork-bot+linux-riscv
-- strict thread matches above, loose matches on Subject: below --
2024-03-20 12:28 [PATCH v8 4/4] riscv: dts: thead: Enable LicheePi 4A eMMC and microSD Maxim Kiselev
2024-03-20 12:28 ` Maxim Kiselev
2024-03-20 12:52 ` Xi Ruoyao
2024-03-20 12:52 ` Xi Ruoyao
2024-03-24 1:25 ` Drew Fustini
2024-03-24 1:25 ` Drew Fustini
2024-03-24 14:38 ` Xi Ruoyao
2024-03-24 14:38 ` Xi Ruoyao
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZeNS/g97JetYgXny@x1 \
--to=dfustini@tenstorrent.com \
--cc=aou@eecs.berkeley.edu \
--cc=conor@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dfustini@baylibre.com \
--cc=guoren@kernel.org \
--cc=jkridner@beagleboard.org \
--cc=jszhang@kernel.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=palmer@dabbelt.com \
--cc=paul.walmsley@sifive.com \
--cc=robertcnelson@beagleboard.org \
--cc=robh+dt@kernel.org \
--cc=wefu@redhat.com \
--cc=xry111@xry111.site \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.