2020-11-04 10:53:53

by Markus Reichl

[permalink] [raw]
Subject: [PATCH] ARM: dts: exynos: Assign a fixed index to mmc devices on ODROID XU3/4 boards

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 <[email protected]>
---
arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi b/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
index e35af40a55cb..91d2840ac8ca 100644
--- a/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
+++ b/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
@@ -13,6 +13,11 @@
#include "exynos5422-odroid-core.dtsi"

/ {
+ aliases {
+ mmc0 = &mmc_2;
+ mmc1 = &mmc_0;
+ };
+
gpio-keys {
compatible = "gpio-keys";
pinctrl-names = "default";
--
2.20.1


2020-11-04 12:26:34

by Marek Szyprowski

[permalink] [raw]
Subject: Re: [PATCH] ARM: dts: exynos: Assign a fixed index to mmc devices on ODROID XU3/4 boards

Hi Markus,

On 04.11.2020 11:08, Markus Reichl wrote:
> 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/

Wow, this is a long standing issue, called by others 'a feature'. Good
that this has been finally solved.

> Signed-off-by: Markus Reichl <[email protected]>
> ---
> arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi b/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
> index e35af40a55cb..91d2840ac8ca 100644
> --- a/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
> +++ b/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
> @@ -13,6 +13,11 @@
> #include "exynos5422-odroid-core.dtsi"
>
> / {
> + aliases {
> + mmc0 = &mmc_2;
> + mmc1 = &mmc_0;

Frankly, I would keep the MMC numbers the same as in u-boot and
datasheets. 0 for the build-in eMMC and 2 for the SD-card. This would be
much more natural. On the other hand, I would agree to do it differently
only on Odroid HC1/HD2/MC1, which don't have build-in eMMC - just use 0
there for the SD-card.

> + };
> +
> gpio-keys {
> compatible = "gpio-keys";
> pinctrl-names = "default";

Best regards
--
Marek Szyprowski, PhD
Samsung R&D Institute Poland

2020-11-04 12:45:11

by Markus Reichl

[permalink] [raw]
Subject: Re: [PATCH] ARM: dts: exynos: Assign a fixed index to mmc devices on ODROID XU3/4 boards

Hi Marek,

Am 04.11.20 um 13:24 schrieb Marek Szyprowski:
> Hi Markus,
>
> On 04.11.2020 11:08, Markus Reichl wrote:
>> 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/
>
> Wow, this is a long standing issue, called by others 'a feature'. Good
> that this has been finally solved.
>
>> Signed-off-by: Markus Reichl <[email protected]>
>> ---
>> arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi | 5 +++++
>> 1 file changed, 5 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi b/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
>> index e35af40a55cb..91d2840ac8ca 100644
>> --- a/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
>> +++ b/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
>> @@ -13,6 +13,11 @@
>> #include "exynos5422-odroid-core.dtsi"
>>
>> / {
>> + aliases {
>> + mmc0 = &mmc_2;
>> + mmc1 = &mmc_0;
>
> Frankly, I would keep the MMC numbers the same as in u-boot and
> datasheets. 0 for the build-in eMMC and 2 for the SD-card. This would be
> much more natural. On the other hand, I would agree to do it differently
> only on Odroid HC1/HD2/MC1, which don't have build-in eMMC - just use 0
> there for the SD-card.

This would break present and long standing boot ordering in mainline, which is
mmcblk0 = SD-card and
mmcblk1 = eMMC

Still desired?
>
>> + };
>> +
>> gpio-keys {
>> compatible = "gpio-keys";
>> pinctrl-names = "default";
>
> Best regards
>

Gruß,
--
Markus Reichl

2020-11-04 12:58:24

by Marek Szyprowski

[permalink] [raw]
Subject: Re: [PATCH] ARM: dts: exynos: Assign a fixed index to mmc devices on ODROID XU3/4 boards

Hi Markus,

On 04.11.2020 13:42, Markus Reichl wrote:
> Am 04.11.20 um 13:24 schrieb Marek Szyprowski:
>> On 04.11.2020 11:08, Markus Reichl wrote:
>>> 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/
>>
>> Wow, this is a long standing issue, called by others 'a feature'. Good
>> that this has been finally solved.
>>
>>> Signed-off-by: Markus Reichl <[email protected]>
>>> ---
>>>   arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi | 5 +++++
>>>   1 file changed, 5 insertions(+)
>>>
>>> diff --git a/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
>>> b/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
>>> index e35af40a55cb..91d2840ac8ca 100644
>>> --- a/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
>>> +++ b/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
>>> @@ -13,6 +13,11 @@
>>>   #include "exynos5422-odroid-core.dtsi"
>>>     / {
>>> +    aliases {
>>> +        mmc0 = &mmc_2;
>>> +        mmc1 = &mmc_0;
>>
>> Frankly, I would keep the MMC numbers the same as in u-boot and
>> datasheets. 0 for the build-in eMMC and 2 for the SD-card. This would be
>> much more natural. On the other hand, I would agree to do it differently
>> only on Odroid HC1/HD2/MC1, which don't have build-in eMMC - just use 0
>> there for the SD-card.
>
> This would break present and long standing  boot ordering in mainline,
> which is
> mmcblk0 = SD-card and
> mmcblk1 = eMMC
>
> Still desired?

Well, previously (before v4.0? I don't remember exactly when there was a
first change), the order was exactly opposite. I think that going for
the MMC bus numbers from the datasheet/schematic is the most appropriate
approach.

Best regards
--
Marek Szyprowski, PhD
Samsung R&D Institute Poland