diff mbox series

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

Message ID 8e2e435ef67868cb98382b44c51ddb5c8d045d66.1631024536.git.jan.kiszka@siemens.com
State New
Headers show
Series [1/3] arm64: dts: ti: iot2050: Flip mmc device ordering on Advanced devices | expand

Commit Message

Jan Kiszka Sept. 7, 2021, 2:22 p.m. UTC
From: Jan Kiszka <jan.kiszka@siemens.com>

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@siemens.com>
---
 arch/arm64/boot/dts/ti/k3-am6548-iot2050-advanced.dts | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Nishanth Menon Sept. 7, 2021, 3:13 p.m. UTC | #1
On 16:22-20210907, Jan Kiszka wrote:
> From: Jan Kiszka <jan.kiszka@siemens.com>
> 
> 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@siemens.com>
> ---
>  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?
Jan Kiszka Sept. 7, 2021, 3:20 p.m. UTC | #2
On 07.09.21 17:13, Nishanth Menon wrote:
> On 16:22-20210907, Jan Kiszka wrote:
>> From: Jan Kiszka <jan.kiszka@siemens.com>
>>
>> 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@siemens.com>
>> ---
>>  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
Nishanth Menon Sept. 7, 2021, 3:27 p.m. UTC | #3
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@siemens.com>
> >>
> >> 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@siemens.com>
> >> ---
> >>  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.
Nishanth Menon Sept. 7, 2021, 3:35 p.m. UTC | #4
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@siemens.com>
> >>>>
> >>>> 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@siemens.com>
> >>>> ---
> >>>>  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.
Aswath Govindraju Sept. 7, 2021, 4:47 p.m. UTC | #5
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@siemens.com>
>>>>>>
>>>>>> 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@siemens.com>
>>>>>> ---
>>>>>>  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
Nishanth Menon Sept. 7, 2021, 4:53 p.m. UTC | #6
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@siemens.com>
> >>>>>>
> >>>>>> 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@siemens.com>
> >>>>>> ---
> >>>>>>  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)?
Jan Kiszka Sept. 7, 2021, 8:28 p.m. UTC | #7
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@siemens.com>
>>>>>>>>>
>>>>>>>>> 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@siemens.com>
>>>>>>>>> ---
>>>>>>>>>  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
Nishanth Menon Sept. 8, 2021, 2:47 a.m. UTC | #8
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
diff mbox series

Patch

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 */