[PATCH v2 1/3] rockchip: rk35xx: Remove use of eMMC DDR52 mode

Dragan Simic dsimic at manjaro.org
Mon Feb 5 14:40:11 CET 2024


On 2024-02-05 14:24, Jonas Karlman wrote:
> On 2024-02-05 10:40, Quentin Schulz wrote:
>> On 2/4/24 21:53, Jonas Karlman wrote:
>>> Testing has shown that writing to eMMC using DDR52 mode does not seem 
>>> to
>>> work on RK356x and RK3588 boards.
>>> 
>>> A simple test of writing a single block to e.g. sector 0x4000 fails:
>>> 
>>>    # Rescan using DDR52 mode
>>>    => mmc rescan 4
>>> 
>>>    # Write a single block to sector 0x4000 fails with ERROR
>>>    => mmc write 20000000 4000 1
>>> 
>>> With the MMC_SPEED_MODE_SET Kconfig option enabled.
>>> 
>>> Fix this by removing the mmc-ddr-1_8v prop from sdhci nodes in 
>>> affected
>>> board u-boot.dtsi files.
>>> 
>>> Signed-off-by: Jonas Karlman <jonas at kwiboo.se>
>>> ---
>>> Changes in v2:
>>> - Update commit message
>>> 
>>> Link to v1: https://patchwork.ozlabs.org/patch/1891695/
>>> ---
>>>   arch/arm/dts/rk3566-quartz64-a-u-boot.dtsi   | 1 -
>>>   arch/arm/dts/rk3566-quartz64-b-u-boot.dtsi   | 1 -
>>>   arch/arm/dts/rk3566-radxa-cm3-io-u-boot.dtsi | 1 -
>>>   arch/arm/dts/rk3566-soquartz-u-boot.dtsi     | 1 -
>>>   arch/arm/dts/rk3568-lubancat-2-u-boot.dtsi   | 1 -
>>>   arch/arm/dts/rk3568-nanopi-r5s-u-boot.dtsi   | 1 -
>>>   arch/arm/dts/rk3568-odroid-m1-u-boot.dtsi    | 1 -
>>>   arch/arm/dts/rk3568-radxa-e25-u-boot.dtsi    | 1 -
>>>   arch/arm/dts/rk3568-rock-3a-u-boot.dtsi      | 1 -
>>>   arch/arm/dts/rk3588-rock-5b-u-boot.dtsi      | 1 -
>>>   arch/arm/dts/rk3588-turing-rk1-u-boot.dtsi   | 1 -
>>>   arch/arm/dts/rk3588s-rock-5a-u-boot.dtsi     | 1 -
>>>   12 files changed, 12 deletions(-)
>>> 
>>> diff --git a/arch/arm/dts/rk3566-quartz64-a-u-boot.dtsi 
>>> b/arch/arm/dts/rk3566-quartz64-a-u-boot.dtsi
>>> index 11976fd3a6e0..930d660868bb 100644
>>> --- a/arch/arm/dts/rk3566-quartz64-a-u-boot.dtsi
>>> +++ b/arch/arm/dts/rk3566-quartz64-a-u-boot.dtsi
>>> @@ -8,7 +8,6 @@
>>> 
>>>   &sdhci {
>>>   	cap-mmc-highspeed;
>> 
>> Shouldn't we also remove cap-mmc-highspeed?
>> 
>> I assume this is for MMC_HS? Which we discovered doesn't work 
>> reliably?
> 
> Writing in lower speeds on RK356x does work better then on RK3588,
> however HS200 still seem to be more reliable overall and give more 
> speed.
> 
> For RK3588 they could possible be removed, but since reading does work
> and similar issue also existed in the fallback MMC legacy mode, I did
> not see that cleanup as important, or maybe more correctly it did not
> cross my mind to also remove these props :-), the fully broken ddr52
> felt more important.
> 
>> 
>> Since it could be in a different patch if you wanted to, for the 
>> changes
>> in this patch:
> 
> Agree, a possible cleanup of cap-mmc-highspeed props could be done in a
> separate patch.
> 
> Alternatively any missing and appropriate modes currently in 
> u-boot.dtsi
> should be added to linux DT and they can then be synced back to U-Boot
> and any override/addition dropped from u-boot.dtsi files.

How about waiting until I fix the mode selection in the Linux kernel
drivers?  As I noted already, that's already on my TODO list, and
perhaps it would be good to test a bit again under Linux with those
fixes applied, before actually removing the buggy modes from the
kernel's RK356x and RK3588(s) SoC dtsi files.

I expect to continue my work on those kernel bugfixes in the next few
weeks.  I did some work already, but left it there, and now I'll pick
it up again.


More information about the U-Boot mailing list