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

From: Jan Kiszka
Date: Tue Sep 07 2021 - 16:29:03 EST


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 <jan.kiszka@xxxxxxxxxxx>
>>>>>>>>>
>>>>>>>>> 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 <jan.kiszka@xxxxxxxxxxx>
>>>>>>>>> ---
>>>>>>>>> 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