[PATCH] arm64: dts: rockchip: Assign a fixed index to mmc devices on rk3399-roc-pc boards.

Markus Reichl m.reichl at fivetechno.de
Wed Nov 4 06:15:58 EST 2020


Hi Heiko,

Am 04.11.20 um 11:51 schrieb Heiko Stübner:
> Hi Markus,
> 
> Am Mittwoch, 4. November 2020, 10:49:45 CET schrieb Markus Reichl:
>> Recently introduced async probe on mmc devices can shuffle block IDs.
>> Pin them to fixed values to ease booting in evironments where UUIDs
>> are not practical. Use newly introduced aliases for mmcblk devices from [1].
>> 
>> [1]
>> https://patchwork.kernel.org/patch/11747669/
>> 
>> Signed-off-by: Markus Reichl <m.reichl at fivetechno.de>
>> ---
>>  arch/arm64/boot/dts/rockchip/rk3399-roc-pc.dtsi | 5 +++++
>>  1 file changed, 5 insertions(+)
>> 
>> diff --git a/arch/arm64/boot/dts/rockchip/rk3399-roc-pc.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-roc-pc.dtsi
>> index e7a459fa4322..bc9482b59428 100644
>> --- a/arch/arm64/boot/dts/rockchip/rk3399-roc-pc.dtsi
>> +++ b/arch/arm64/boot/dts/rockchip/rk3399-roc-pc.dtsi
>> @@ -13,6 +13,11 @@ / {
>>  	model = "Firefly ROC-RK3399-PC Board";
>>  	compatible = "firefly,roc-rk3399-pc", "rockchip,rk3399";
>>  
>> +	aliases {
>> +		mmc0 = &sdmmc;
>> +		mmc1 = &sdhci;
>> +	};
>> +
> 
> Any reason for this odering?

Without pinning roc-pc mostly booted as
mmcblk0 = sdmmc = µSD
mmcblk1 = sdhci = eMMC
so I kept this behaviour in aliases

roc-pc-mezzanine with populated SDIO-M2-slot booted
mmc0 = sdio = (no mmcblk)
mmcblk1 = sdmmc = µSD
mmcblk2 = sdhci = eMMC

With my aliases both boards behave the same now and the optional SDIO slot
goes out of the way to mmc2.

> 
> I.e. some previous incarnations had it ordered as (emmc, mmc, sdio).
> This is also true for the ChromeOS out-of-tree usage of those, the
> rk3399 dts in the chromeos-4.4 tree also orders this as sdhci, sdmmc, sdio.

The boards from my zoo (exynos, rk3399) mostly come up with SD-card as mmc0
and eMMC as mmc1 in mainline as opposed in some vendor kernels.
but I have no objection to set it the other way round if this is more common
with rk3399 boards.

> 
> And I guess a further question would be when we're doing arbitary orderings
> anyway, why is this not in rk3399.dtsi ;-) ?

I restricted the ordering to the boards I have, not to confuse other established
use cases, but if a standard ordering is desired this can go to rk3399.dtsi.

> 
> 
> Heiko
> 
> 

Gruß,
-- 
Markus Reichl



More information about the Linux-rockchip mailing list