[PATCH v2 23/23] rockchip: rk3588: Enable use of eMMC HS200 mode on a few missed boards
Dragan Simic
dsimic at manjaro.org
Mon Apr 15 10:36:10 CEST 2024
On 2024-04-15 10:23, Jonas Karlman wrote:
> On 2024-04-15 09:00, Dragan Simic wrote:
>> Please see my comments below.
>>
>> On 2024-04-13 20:13, Jonas Karlman wrote:
>>> A few RK3588 boards are missing a mmc-hs200 prop to signal that HS200
>>> mode is supported in addition to HS400, this lead to bad performance
>>> reading FIT in SPL and broken MMC write.
>>>
>>> Add cap-mmc-highspeed and mmc-hs200-1_8v to affected boards to enable
>>> use of eMMC HS200 mode.
>>>
>>> Signed-off-by: Jonas Karlman <jonas at kwiboo.se>
>>
>> Shouldn't it be better to follow the Linux kernel's logic in
>> the MMC driver, and enable the HS200 mode when the DT indicates
>> that the HS400 mode is suported? In other words, exactly what
>> you already submitted to the mailing list. [1]
>
> Yes, this is somewhat what I tried to make aware of with the note and
> link under "v2: New patch" :-)
Wow, I totally missed that paragraph. :) Though, that also means
that we're on the same page. :)
>> That would allow a significant cleanup of the U-Boot dtsi files
>> to be performed.
>>
>> Until that's resolved, the patch is looking good to me.
>
> Fully agree, this will fix the bad performance in SPL and fix MMC write
> for existing boards making them work same as other RK3588 boards until
> the MMC maintainer can weigh in on the linked patch.
That will be nice.
>> Reviewed-by: Dragan Simic <dsimic at manjaro.org>
>
> Thanks!
Thank you for all these nice cleanup patches!
>> [1]
>> https://lore.kernel.org/u-boot/20240408210619.3749231-1-jonas@kwiboo.se/
>>
>>> ---
>>> v2: New patch
>>>
>>> All these mmc-hs200 prop overrides may not be needed if the patch
>>> "mmc:
>>> Imply HS200 cap with mmc-hs400 prop to match linux" [1] gets applied,
>>> until such time this matches what has been done for all other RK35xx
>>> boards.
>>>
>>> [1] https://patchwork.ozlabs.org/patch/1921039/
>>> ---
>>> arch/arm/dts/rk3588-edgeble-neu6a-io-u-boot.dtsi | 5 +++++
>>> arch/arm/dts/rk3588-edgeble-neu6b-io-u-boot.dtsi | 5 +++++
>>> arch/arm/dts/rk3588-evb1-v10-u-boot.dtsi | 5 +++++
>>> arch/arm/dts/rk3588-nanopc-t6-u-boot.dtsi | 5 +++++
>>> arch/arm/dts/rk3588-quartzpro64-u-boot.dtsi | 5 +++++
>>> arch/arm/dts/rk3588-toybrick-x0-u-boot.dtsi | 5 +++++
>>> 6 files changed, 30 insertions(+)
>>>
>>> diff --git a/arch/arm/dts/rk3588-edgeble-neu6a-io-u-boot.dtsi
>>> b/arch/arm/dts/rk3588-edgeble-neu6a-io-u-boot.dtsi
>>> index dd0058262b7f..fc4b13628b30 100644
>>> --- a/arch/arm/dts/rk3588-edgeble-neu6a-io-u-boot.dtsi
>>> +++ b/arch/arm/dts/rk3588-edgeble-neu6a-io-u-boot.dtsi
>>> @@ -15,6 +15,11 @@
>>> };
>>> };
>>>
>>> +&sdhci {
>>> + cap-mmc-highspeed;
>>> + mmc-hs200-1_8v;
>>> +};
>>> +
>>> &sdmmc {
>>> bus-width = <4>;
>>> status = "okay";
>>> diff --git a/arch/arm/dts/rk3588-edgeble-neu6b-io-u-boot.dtsi
>>> b/arch/arm/dts/rk3588-edgeble-neu6b-io-u-boot.dtsi
>>> index a45b3f5e86ad..a0c62072c34e 100644
>>> --- a/arch/arm/dts/rk3588-edgeble-neu6b-io-u-boot.dtsi
>>> +++ b/arch/arm/dts/rk3588-edgeble-neu6b-io-u-boot.dtsi
>>> @@ -14,3 +14,8 @@
>>> u-boot,spl-boot-order = &sdmmc;
>>> };
>>> };
>>> +
>>> +&sdhci {
>>> + cap-mmc-highspeed;
>>> + mmc-hs200-1_8v;
>>> +};
>>> diff --git a/arch/arm/dts/rk3588-evb1-v10-u-boot.dtsi
>>> b/arch/arm/dts/rk3588-evb1-v10-u-boot.dtsi
>>> index e8566785e965..354e4a8d39e3 100644
>>> --- a/arch/arm/dts/rk3588-evb1-v10-u-boot.dtsi
>>> +++ b/arch/arm/dts/rk3588-evb1-v10-u-boot.dtsi
>>> @@ -10,3 +10,8 @@
>>> u-boot,spl-boot-order = "same-as-spl", &sdhci;
>>> };
>>> };
>>> +
>>> +&sdhci {
>>> + cap-mmc-highspeed;
>>> + mmc-hs200-1_8v;
>>> +};
>>> diff --git a/arch/arm/dts/rk3588-nanopc-t6-u-boot.dtsi
>>> b/arch/arm/dts/rk3588-nanopc-t6-u-boot.dtsi
>>> index 968385622fa5..7948464ac85f 100644
>>> --- a/arch/arm/dts/rk3588-nanopc-t6-u-boot.dtsi
>>> +++ b/arch/arm/dts/rk3588-nanopc-t6-u-boot.dtsi
>>> @@ -11,6 +11,11 @@
>>> bootph-some-ram;
>>> };
>>>
>>> +&sdhci {
>>> + cap-mmc-highspeed;
>>> + mmc-hs200-1_8v;
>>> +};
>>> +
>>> &sfc {
>>> pinctrl-names = "default";
>>> pinctrl-0 = <&fspim1_pins>;
>>> diff --git a/arch/arm/dts/rk3588-quartzpro64-u-boot.dtsi
>>> b/arch/arm/dts/rk3588-quartzpro64-u-boot.dtsi
>>> index 7b937943a53c..d764135ab661 100644
>>> --- a/arch/arm/dts/rk3588-quartzpro64-u-boot.dtsi
>>> +++ b/arch/arm/dts/rk3588-quartzpro64-u-boot.dtsi
>>> @@ -4,3 +4,8 @@
>>> */
>>>
>>> #include "rk3588-u-boot.dtsi"
>>> +
>>> +&sdhci {
>>> + cap-mmc-highspeed;
>>> + mmc-hs200-1_8v;
>>> +};
>>> diff --git a/arch/arm/dts/rk3588-toybrick-x0-u-boot.dtsi
>>> b/arch/arm/dts/rk3588-toybrick-x0-u-boot.dtsi
>>> index 1aeb5410e43e..c5c94b421d1e 100644
>>> --- a/arch/arm/dts/rk3588-toybrick-x0-u-boot.dtsi
>>> +++ b/arch/arm/dts/rk3588-toybrick-x0-u-boot.dtsi
>>> @@ -10,3 +10,8 @@
>>> u-boot,spl-boot-order = "same-as-spl", &sdhci;
>>> };
>>> };
>>> +
>>> +&sdhci {
>>> + cap-mmc-highspeed;
>>> + mmc-hs200-1_8v;
>>> +};
More information about the U-Boot
mailing list