2021-09-07 14:23:34

by Jan Kiszka

[permalink] [raw]
Subject: [PATCH 1/3] arm64: dts: ti: iot2050: Flip mmc device ordering on Advanced devices

From: Jan Kiszka <[email protected]>

This ensures that the SD card will remain mmc0 across Basic and Advanced
devices, also avoiding surprises for users coming from the downstream
kernels.

Signed-off-by: Jan Kiszka <[email protected]>
---
arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts b/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
index ec9617c13cdb..d1d5278e0b94 100644
--- a/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
+++ b/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
@@ -18,6 +18,11 @@ / {
compatible = "siemens,iot2050-advanced", "ti,am654";
model = "SIMATIC IOT2050 Advanced";

+ aliases {
+ mmc0 = &sdhci1;
+ mmc1 = &sdhci0;
+ };
+
memory@80000000 {
device_type = "memory";
/* 2G RAM */
--
2.31.1


2021-09-07 15:22:23

by Jan Kiszka

[permalink] [raw]
Subject: Re: [PATCH 1/3] arm64: dts: ti: iot2050: Flip mmc device ordering on Advanced devices

On 07.09.21 17:13, Nishanth Menon wrote:
> On 16:22-20210907, Jan Kiszka wrote:
>> From: Jan Kiszka <[email protected]>
>>
>> This ensures that the SD card will remain mmc0 across Basic and Advanced
>> devices, also avoiding surprises for users coming from the downstream
>> kernels.
>>
>> Signed-off-by: Jan Kiszka <[email protected]>
>> ---
>> arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts | 5 +++++
>> 1 file changed, 5 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts b/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
>> index ec9617c13cdb..d1d5278e0b94 100644
>> --- a/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
>> +++ b/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
>> @@ -18,6 +18,11 @@ / {
>> compatible = "siemens,iot2050-advanced", "ti,am654";
>> model = "SIMATIC IOT2050 Advanced";
>>
>> + aliases {
>> + mmc0 = &sdhci1;
>> + mmc1 = &sdhci0;
>> + };
>
>
> Should we do this at SoC level?
>

Well, I wouldn't mind - but that would also impact your EVMs. For us,
this is fine as we are coming from that ordering above with our
downstream kernel/dts.

Jan

--
Siemens AG, T RDA IOT
Corporate Competence Center Embedded Linux

2021-09-07 15:32:23

by Nishanth Menon

[permalink] [raw]
Subject: Re: [PATCH 1/3] arm64: dts: ti: iot2050: Flip mmc device ordering on Advanced devices

On 17:20-20210907, Jan Kiszka wrote:
> On 07.09.21 17:13, Nishanth Menon wrote:
> > On 16:22-20210907, Jan Kiszka wrote:
> >> From: Jan Kiszka <[email protected]>
> >>
> >> This ensures that the SD card will remain mmc0 across Basic and Advanced
> >> devices, also avoiding surprises for users coming from the downstream
> >> kernels.
> >>
> >> Signed-off-by: Jan Kiszka <[email protected]>
> >> ---
> >> arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts | 5 +++++
> >> 1 file changed, 5 insertions(+)
> >>
> >> diff --git a/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts b/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
> >> index ec9617c13cdb..d1d5278e0b94 100644
> >> --- a/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
> >> +++ b/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
> >> @@ -18,6 +18,11 @@ / {
> >> compatible = "siemens,iot2050-advanced", "ti,am654";
> >> model = "SIMATIC IOT2050 Advanced";
> >>
> >> + aliases {
> >> + mmc0 = &sdhci1;
> >> + mmc1 = &sdhci0;
> >> + };
> >
> >
> > Should we do this at SoC level?
> >
>
> Well, I wouldn't mind - but that would also impact your EVMs. For us,
> this is fine as we are coming from that ordering above with our
> downstream kernel/dts.
>

I think it'd probably be a welcome change. overall we've standardized on
partuuid.

--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D

2021-09-07 15:37:13

by Nishanth Menon

[permalink] [raw]
Subject: Re: [PATCH 1/3] arm64: dts: ti: iot2050: Flip mmc device ordering on Advanced devices

On 17:30-20210907, Jan Kiszka wrote:
> On 07.09.21 17:27, Nishanth Menon wrote:
> > On 17:20-20210907, Jan Kiszka wrote:
> >> On 07.09.21 17:13, Nishanth Menon wrote:
> >>> On 16:22-20210907, Jan Kiszka wrote:
> >>>> From: Jan Kiszka <[email protected]>
> >>>>
> >>>> This ensures that the SD card will remain mmc0 across Basic and Advanced
> >>>> devices, also avoiding surprises for users coming from the downstream
> >>>> kernels.
> >>>>
> >>>> Signed-off-by: Jan Kiszka <[email protected]>
> >>>> ---
> >>>> arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts | 5 +++++
> >>>> 1 file changed, 5 insertions(+)
> >>>>
> >>>> diff --git a/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts b/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
> >>>> index ec9617c13cdb..d1d5278e0b94 100644
> >>>> --- a/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
> >>>> +++ b/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
> >>>> @@ -18,6 +18,11 @@ / {
> >>>> compatible = "siemens,iot2050-advanced", "ti,am654";
> >>>> model = "SIMATIC IOT2050 Advanced";
> >>>>
> >>>> + aliases {
> >>>> + mmc0 = &sdhci1;
> >>>> + mmc1 = &sdhci0;
> >>>> + };
> >>>
> >>>
> >>> Should we do this at SoC level?
> >>>
> >>
> >> Well, I wouldn't mind - but that would also impact your EVMs. For us,
> >> this is fine as we are coming from that ordering above with our
> >> downstream kernel/dts.
> >>
> >
> > I think it'd probably be a welcome change. overall we've standardized on
> > partuuid.
> >
>
> Yeah, it's more about "dd if=emmc.img of=/dev/mmcblk1 - damn, the wrong
> one again."
>
> Let me know what you prefer, and I'll update my patch.


Lets do it at SoC level. I will follow it up with a patch for other K3
SoCs as well.


Unless someone has a strong opinion on this approach - if so, speak up
with reasons.

--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D

2021-09-07 16:02:26

by Nishanth Menon

[permalink] [raw]
Subject: Re: [PATCH 1/3] arm64: dts: ti: iot2050: Flip mmc device ordering on Advanced devices

On 16:22-20210907, Jan Kiszka wrote:
> From: Jan Kiszka <[email protected]>
>
> This ensures that the SD card will remain mmc0 across Basic and Advanced
> devices, also avoiding surprises for users coming from the downstream
> kernels.
>
> Signed-off-by: Jan Kiszka <[email protected]>
> ---
> arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts b/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
> index ec9617c13cdb..d1d5278e0b94 100644
> --- a/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
> +++ b/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
> @@ -18,6 +18,11 @@ / {
> compatible = "siemens,iot2050-advanced", "ti,am654";
> model = "SIMATIC IOT2050 Advanced";
>
> + aliases {
> + mmc0 = &sdhci1;
> + mmc1 = &sdhci0;
> + };


Should we do this at SoC level?
--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D

2021-09-07 16:03:13

by Jan Kiszka

[permalink] [raw]
Subject: Re: [PATCH 1/3] arm64: dts: ti: iot2050: Flip mmc device ordering on Advanced devices

On 07.09.21 17:27, Nishanth Menon wrote:
> On 17:20-20210907, Jan Kiszka wrote:
>> On 07.09.21 17:13, Nishanth Menon wrote:
>>> On 16:22-20210907, Jan Kiszka wrote:
>>>> From: Jan Kiszka <[email protected]>
>>>>
>>>> This ensures that the SD card will remain mmc0 across Basic and Advanced
>>>> devices, also avoiding surprises for users coming from the downstream
>>>> kernels.
>>>>
>>>> Signed-off-by: Jan Kiszka <[email protected]>
>>>> ---
>>>> arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts | 5 +++++
>>>> 1 file changed, 5 insertions(+)
>>>>
>>>> diff --git a/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts b/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
>>>> index ec9617c13cdb..d1d5278e0b94 100644
>>>> --- a/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
>>>> +++ b/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
>>>> @@ -18,6 +18,11 @@ / {
>>>> compatible = "siemens,iot2050-advanced", "ti,am654";
>>>> model = "SIMATIC IOT2050 Advanced";
>>>>
>>>> + aliases {
>>>> + mmc0 = &sdhci1;
>>>> + mmc1 = &sdhci0;
>>>> + };
>>>
>>>
>>> Should we do this at SoC level?
>>>
>>
>> Well, I wouldn't mind - but that would also impact your EVMs. For us,
>> this is fine as we are coming from that ordering above with our
>> downstream kernel/dts.
>>
>
> I think it'd probably be a welcome change. overall we've standardized on
> partuuid.
>

Yeah, it's more about "dd if=emmc.img of=/dev/mmcblk1 - damn, the wrong
one again."

Let me know what you prefer, and I'll update my patch.

Jan

--
Siemens AG, T RDA IOT
Corporate Competence Center Embedded Linux

2021-09-07 16:57:25

by Nishanth Menon

[permalink] [raw]
Subject: Re: [PATCH 1/3] arm64: dts: ti: iot2050: Flip mmc device ordering on Advanced devices

On 22:17-20210907, Aswath Govindraju wrote:
> Hi Nishanth,
>
> On 07/09/21 9:05 pm, Nishanth Menon wrote:
> > On 17:30-20210907, Jan Kiszka wrote:
> >> On 07.09.21 17:27, Nishanth Menon wrote:
> >>> On 17:20-20210907, Jan Kiszka wrote:
> >>>> On 07.09.21 17:13, Nishanth Menon wrote:
> >>>>> On 16:22-20210907, Jan Kiszka wrote:
> >>>>>> From: Jan Kiszka <[email protected]>
> >>>>>>
> >>>>>> This ensures that the SD card will remain mmc0 across Basic and Advanced
> >>>>>> devices, also avoiding surprises for users coming from the downstream
> >>>>>> kernels.
> >>>>>>
> >>>>>> Signed-off-by: Jan Kiszka <[email protected]>
> >>>>>> ---
> >>>>>> arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts | 5 +++++
> >>>>>> 1 file changed, 5 insertions(+)
> >>>>>>
> >>>>>> diff --git a/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts b/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
> >>>>>> index ec9617c13cdb..d1d5278e0b94 100644
> >>>>>> --- a/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
> >>>>>> +++ b/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
> >>>>>> @@ -18,6 +18,11 @@ / {
> >>>>>> compatible = "siemens,iot2050-advanced", "ti,am654";
> >>>>>> model = "SIMATIC IOT2050 Advanced";
> >>>>>>
> >>>>>> + aliases {
> >>>>>> + mmc0 = &sdhci1;
> >>>>>> + mmc1 = &sdhci0;
> >>>>>> + };
> >>>>>
> >>>>>
> >>>>> Should we do this at SoC level?
> >>>>>
> >>>>
> >>>> Well, I wouldn't mind - but that would also impact your EVMs. For us,
> >>>> this is fine as we are coming from that ordering above with our
> >>>> downstream kernel/dts.
> >>>>
> >>>
> >>> I think it'd probably be a welcome change. overall we've standardized on
> >>> partuuid.
> >>>
> >>
> >> Yeah, it's more about "dd if=emmc.img of=/dev/mmcblk1 - damn, the wrong
> >> one again."
> >>
> >> Let me know what you prefer, and I'll update my patch.
> >
> >
> > Lets do it at SoC level. I will follow it up with a patch for other K3
> > SoCs as well.
> >
> >
> > Unless someone has a strong opinion on this approach - if so, speak up
> > with reasons.
> >
>
> Making this change in SoC level for all K3 devices would force changes
> to be made in U-Boot too, for consistency. In U-Boot, a major change
> would be required in the environment variables to support this. As I
> don't see any functional advantage by making this change, I feel that
> this change would make things more confusing for users already using the
> K3 devices. At present, the ordering is consistent across all the K3
> devices, I feel that keeping it the same way would be better.
>
> As for making changes only on IoT boards, if it is okay to have the
> ordering changed between U-Boot and kernel, I don't see any problem
> making this change in kernel alone.


arch/arm64/boot/dts/ti/k3-am65.dtsi has no ordering. u-boot is supposed
to copy from kernel the dtsi files as is. I think having mmc aliases in
kernel is a good thing as we do regard kernel as the canonical dts
source.

If you are suggesting we flip things so that mmc0 is sdhci0 and mmc1 is
sdhci1 - that might be a valid suggestion - Jan, do you see a problem
in having consistency here (flip the aliases)?


--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D

2021-09-07 17:45:34

by Aswath Govindraju

[permalink] [raw]
Subject: Re: [PATCH 1/3] arm64: dts: ti: iot2050: Flip mmc device ordering on Advanced devices

Hi Nishanth,

On 07/09/21 10:23 pm, Nishanth Menon wrote:
> On 22:17-20210907, Aswath Govindraju wrote:
>> Hi Nishanth,
>>
>> On 07/09/21 9:05 pm, Nishanth Menon wrote:
>>> On 17:30-20210907, Jan Kiszka wrote:
>>>> On 07.09.21 17:27, Nishanth Menon wrote:
>>>>> On 17:20-20210907, Jan Kiszka wrote:
>>>>>> On 07.09.21 17:13, Nishanth Menon wrote:
>>>>>>> On 16:22-20210907, Jan Kiszka wrote:
>>>>>>>> From: Jan Kiszka <[email protected]>
>>>>>>>>
>>>>>>>> This ensures that the SD card will remain mmc0 across Basic and Advanced
>>>>>>>> devices, also avoiding surprises for users coming from the downstream
>>>>>>>> kernels.
>>>>>>>>
>>>>>>>> Signed-off-by: Jan Kiszka <[email protected]>
>>>>>>>> ---
>>>>>>>> arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts | 5 +++++
>>>>>>>> 1 file changed, 5 insertions(+)
>>>>>>>>
>>>>>>>> diff --git a/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts b/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
>>>>>>>> index ec9617c13cdb..d1d5278e0b94 100644
>>>>>>>> --- a/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
>>>>>>>> +++ b/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
>>>>>>>> @@ -18,6 +18,11 @@ / {
>>>>>>>> compatible = "siemens,iot2050-advanced", "ti,am654";
>>>>>>>> model = "SIMATIC IOT2050 Advanced";
>>>>>>>>
>>>>>>>> + aliases {
>>>>>>>> + mmc0 = &sdhci1;
>>>>>>>> + mmc1 = &sdhci0;
>>>>>>>> + };
>>>>>>>
>>>>>>>
>>>>>>> Should we do this at SoC level?
>>>>>>>
>>>>>>
>>>>>> Well, I wouldn't mind - but that would also impact your EVMs. For us,
>>>>>> this is fine as we are coming from that ordering above with our
>>>>>> downstream kernel/dts.
>>>>>>
>>>>>
>>>>> I think it'd probably be a welcome change. overall we've standardized on
>>>>> partuuid.
>>>>>
>>>>
>>>> Yeah, it's more about "dd if=emmc.img of=/dev/mmcblk1 - damn, the wrong
>>>> one again."
>>>>
>>>> Let me know what you prefer, and I'll update my patch.
>>>
>>>
>>> Lets do it at SoC level. I will follow it up with a patch for other K3
>>> SoCs as well.
>>>
>>>
>>> Unless someone has a strong opinion on this approach - if so, speak up
>>> with reasons.
>>>
>>
>> Making this change in SoC level for all K3 devices would force changes
>> to be made in U-Boot too, for consistency. In U-Boot, a major change
>> would be required in the environment variables to support this. As I
>> don't see any functional advantage by making this change, I feel that
>> this change would make things more confusing for users already using the
>> K3 devices. At present, the ordering is consistent across all the K3
>> devices, I feel that keeping it the same way would be better.
>>
>> As for making changes only on IoT boards, if it is okay to have the
>> ordering changed between U-Boot and kernel, I don't see any problem
>> making this change in kernel alone.
>
>
> arch/arm64/boot/dts/ti/k3-am65.dtsi has no ordering. u-boot is supposed
> to copy from kernel the dtsi files as is. I think having mmc aliases in
> kernel is a good thing as we do regard kernel as the canonical dts
> source.
>

Yes, you are correct. Aliases are not added for mmc in U-Boot too, but
due to the ordering in the device tree, mmc0 is always sdhci0 and mmc1
is always sdhci1 in U-Boot. I agree that, in kernel as the probe order
is not guaranteed, fixing the order would be better by adding aliases
explicitly.

> If you are suggesting we flip things so that mmc0 is sdhci0 and mmc1 is
> sdhci1 - that might be a valid suggestion - Jan, do you see a problem
> in having consistency here (flip the aliases)?
>
>

Yes, I am suggesting a flip in the order and this order can be applied
across all the K3 SoC's

Thanks,
Aswath

2021-09-07 18:47:32

by Aswath Govindraju

[permalink] [raw]
Subject: Re: [PATCH 1/3] arm64: dts: ti: iot2050: Flip mmc device ordering on Advanced devices

Hi Nishanth,

On 07/09/21 9:05 pm, Nishanth Menon wrote:
> On 17:30-20210907, Jan Kiszka wrote:
>> On 07.09.21 17:27, Nishanth Menon wrote:
>>> On 17:20-20210907, Jan Kiszka wrote:
>>>> On 07.09.21 17:13, Nishanth Menon wrote:
>>>>> On 16:22-20210907, Jan Kiszka wrote:
>>>>>> From: Jan Kiszka <[email protected]>
>>>>>>
>>>>>> This ensures that the SD card will remain mmc0 across Basic and Advanced
>>>>>> devices, also avoiding surprises for users coming from the downstream
>>>>>> kernels.
>>>>>>
>>>>>> Signed-off-by: Jan Kiszka <[email protected]>
>>>>>> ---
>>>>>> arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts | 5 +++++
>>>>>> 1 file changed, 5 insertions(+)
>>>>>>
>>>>>> diff --git a/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts b/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
>>>>>> index ec9617c13cdb..d1d5278e0b94 100644
>>>>>> --- a/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
>>>>>> +++ b/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
>>>>>> @@ -18,6 +18,11 @@ / {
>>>>>> compatible = "siemens,iot2050-advanced", "ti,am654";
>>>>>> model = "SIMATIC IOT2050 Advanced";
>>>>>>
>>>>>> + aliases {
>>>>>> + mmc0 = &sdhci1;
>>>>>> + mmc1 = &sdhci0;
>>>>>> + };
>>>>>
>>>>>
>>>>> Should we do this at SoC level?
>>>>>
>>>>
>>>> Well, I wouldn't mind - but that would also impact your EVMs. For us,
>>>> this is fine as we are coming from that ordering above with our
>>>> downstream kernel/dts.
>>>>
>>>
>>> I think it'd probably be a welcome change. overall we've standardized on
>>> partuuid.
>>>
>>
>> Yeah, it's more about "dd if=emmc.img of=/dev/mmcblk1 - damn, the wrong
>> one again."
>>
>> Let me know what you prefer, and I'll update my patch.
>
>
> Lets do it at SoC level. I will follow it up with a patch for other K3
> SoCs as well.
>
>
> Unless someone has a strong opinion on this approach - if so, speak up
> with reasons.
>

Making this change in SoC level for all K3 devices would force changes
to be made in U-Boot too, for consistency. In U-Boot, a major change
would be required in the environment variables to support this. As I
don't see any functional advantage by making this change, I feel that
this change would make things more confusing for users already using the
K3 devices. At present, the ordering is consistent across all the K3
devices, I feel that keeping it the same way would be better.

As for making changes only on IoT boards, if it is okay to have the
ordering changed between U-Boot and kernel, I don't see any problem
making this change in kernel alone.

Thanks,
Aswath

2021-09-07 20:54:24

by Jan Kiszka

[permalink] [raw]
Subject: Re: [PATCH 1/3] arm64: dts: ti: iot2050: Flip mmc device ordering on Advanced devices

On 07.09.21 19:01, Aswath Govindraju wrote:
> Hi Nishanth,
>
> On 07/09/21 10:23 pm, Nishanth Menon wrote:
>> On 22:17-20210907, Aswath Govindraju wrote:
>>> Hi Nishanth,
>>>
>>> On 07/09/21 9:05 pm, Nishanth Menon wrote:
>>>> On 17:30-20210907, Jan Kiszka wrote:
>>>>> On 07.09.21 17:27, Nishanth Menon wrote:
>>>>>> On 17:20-20210907, Jan Kiszka wrote:
>>>>>>> On 07.09.21 17:13, Nishanth Menon wrote:
>>>>>>>> On 16:22-20210907, Jan Kiszka wrote:
>>>>>>>>> From: Jan Kiszka <[email protected]>
>>>>>>>>>
>>>>>>>>> This ensures that the SD card will remain mmc0 across Basic and Advanced
>>>>>>>>> devices, also avoiding surprises for users coming from the downstream
>>>>>>>>> kernels.
>>>>>>>>>
>>>>>>>>> Signed-off-by: Jan Kiszka <[email protected]>
>>>>>>>>> ---
>>>>>>>>> arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts | 5 +++++
>>>>>>>>> 1 file changed, 5 insertions(+)
>>>>>>>>>
>>>>>>>>> diff --git a/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts b/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
>>>>>>>>> index ec9617c13cdb..d1d5278e0b94 100644
>>>>>>>>> --- a/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
>>>>>>>>> +++ b/arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts
>>>>>>>>> @@ -18,6 +18,11 @@ / {
>>>>>>>>> compatible = "siemens,iot2050-advanced", "ti,am654";
>>>>>>>>> model = "SIMATIC IOT2050 Advanced";
>>>>>>>>>
>>>>>>>>> + aliases {
>>>>>>>>> + mmc0 = &sdhci1;
>>>>>>>>> + mmc1 = &sdhci0;
>>>>>>>>> + };
>>>>>>>>
>>>>>>>>
>>>>>>>> Should we do this at SoC level?
>>>>>>>>
>>>>>>>
>>>>>>> Well, I wouldn't mind - but that would also impact your EVMs. For us,
>>>>>>> this is fine as we are coming from that ordering above with our
>>>>>>> downstream kernel/dts.
>>>>>>>
>>>>>>
>>>>>> I think it'd probably be a welcome change. overall we've standardized on
>>>>>> partuuid.
>>>>>>
>>>>>
>>>>> Yeah, it's more about "dd if=emmc.img of=/dev/mmcblk1 - damn, the wrong
>>>>> one again."
>>>>>
>>>>> Let me know what you prefer, and I'll update my patch.
>>>>
>>>>
>>>> Lets do it at SoC level. I will follow it up with a patch for other K3
>>>> SoCs as well.
>>>>
>>>>
>>>> Unless someone has a strong opinion on this approach - if so, speak up
>>>> with reasons.
>>>>
>>>
>>> Making this change in SoC level for all K3 devices would force changes
>>> to be made in U-Boot too, for consistency. In U-Boot, a major change
>>> would be required in the environment variables to support this. As I
>>> don't see any functional advantage by making this change, I feel that
>>> this change would make things more confusing for users already using the
>>> K3 devices. At present, the ordering is consistent across all the K3
>>> devices, I feel that keeping it the same way would be better.
>>>
>>> As for making changes only on IoT boards, if it is okay to have the
>>> ordering changed between U-Boot and kernel, I don't see any problem
>>> making this change in kernel alone.
>>
>>
>> arch/arm64/boot/dts/ti/k3-am65.dtsi has no ordering. u-boot is supposed
>> to copy from kernel the dtsi files as is. I think having mmc aliases in
>> kernel is a good thing as we do regard kernel as the canonical dts
>> source.
>>
>
> Yes, you are correct. Aliases are not added for mmc in U-Boot too, but
> due to the ordering in the device tree, mmc0 is always sdhci0 and mmc1
> is always sdhci1 in U-Boot. I agree that, in kernel as the probe order
> is not guaranteed, fixing the order would be better by adding aliases
> explicitly.
>

We had mmc reordered for our devices in U-Boot already. That separate
snippet would obviously be obsolete when sync'ing common reordering over.

>> If you are suggesting we flip things so that mmc0 is sdhci0 and mmc1 is
>> sdhci1 - that might be a valid suggestion - Jan, do you see a problem
>> in having consistency here (flip the aliases)?
>>
>>
>
> Yes, I am suggesting a flip in the order and this order can be applied
> across all the K3 SoC's
>

I'm not sure what you are suggesting. I've sent v2 already which moves
aliasing to SoC level, and I would push that to U-Boot as well if
acceptable. If not, we will keep this in our board DTs.

Jan

--
Siemens AG, T RDA IOT
Corporate Competence Center Embedded Linux

2021-09-08 04:18:59

by Nishanth Menon

[permalink] [raw]
Subject: Re: [PATCH 1/3] arm64: dts: ti: iot2050: Flip mmc device ordering on Advanced devices

On 22:28-20210907, Jan Kiszka wrote:
[...]

> > Yes, I am suggesting a flip in the order and this order can be applied
> > across all the K3 SoC's
> >
>
> I'm not sure what you are suggesting. I've sent v2 already which moves
> aliasing to SoC level, and I would push that to U-Boot as well if
> acceptable. If not, we will keep this in our board DTs.
>

responded in context of v2:
https://lore.kernel.org/all/20210908024442.jskmqqye432p4nmt@gatherer/
--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D