2021-09-17 14:06:35

by Michael Riesch

[permalink] [raw]
Subject: [PATCH] arm64: dts: rockchip: move aliases to rk356x dtsi

In order to ensure deterministic probe order over different boards,
move the aliases of on-SoC components to the corresponding dtsi
files.

Signed-off-by: Michael Riesch <[email protected]>
---
arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts | 6 ------
arch/arm64/boot/dts/rockchip/rk3566.dtsi | 4 ++++
arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts | 7 -------
arch/arm64/boot/dts/rockchip/rk3568.dtsi | 5 +++++
arch/arm64/boot/dts/rockchip/rk356x.dtsi | 2 ++
5 files changed, 11 insertions(+), 13 deletions(-)

diff --git a/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts b/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts
index a244f7b87e38..156bbb8aa4c4 100644
--- a/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts
@@ -10,12 +10,6 @@
model = "Pine64 RK3566 Quartz64-A Board";
compatible = "pine64,quartz64-a", "rockchip,rk3566";

- aliases {
- ethernet0 = &gmac1;
- mmc0 = &sdmmc0;
- mmc1 = &sdhci;
- };
-
chosen: chosen {
stdout-path = "serial2:1500000n8";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3566.dtsi b/arch/arm64/boot/dts/rockchip/rk3566.dtsi
index 3839eef5e4f7..c1b3841caa77 100644
--- a/arch/arm64/boot/dts/rockchip/rk3566.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3566.dtsi
@@ -4,6 +4,10 @@

/ {
compatible = "rockchip,rk3566";
+
+ aliases {
+ ethernet0 = &gmac1;
+ };
};

&power {
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts b/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts
index 184e2aa2416a..218f85af730c 100644
--- a/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts
@@ -13,13 +13,6 @@
model = "Rockchip RK3568 EVB1 DDR4 V10 Board";
compatible = "rockchip,rk3568-evb1-v10", "rockchip,rk3568";

- aliases {
- ethernet0 = &gmac0;
- ethernet1 = &gmac1;
- mmc0 = &sdmmc0;
- mmc1 = &sdhci;
- };
-
chosen: chosen {
stdout-path = "serial2:1500000n8";
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3568.dtsi b/arch/arm64/boot/dts/rockchip/rk3568.dtsi
index 2fd313a295f8..dd0e800cf752 100644
--- a/arch/arm64/boot/dts/rockchip/rk3568.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3568.dtsi
@@ -8,6 +8,11 @@
/ {
compatible = "rockchip,rk3568";

+ aliases {
+ ethernet0 = &gmac0;
+ ethernet1 = &gmac1;
+ };
+
qos_pcie3x1: qos@fe190080 {
compatible = "rockchip,rk3568-qos", "syscon";
reg = <0x0 0xfe190080 0x0 0x20>;
diff --git a/arch/arm64/boot/dts/rockchip/rk356x.dtsi b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
index e42fbac6147b..bb0540d3008c 100644
--- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
@@ -29,6 +29,8 @@
i2c3 = &i2c3;
i2c4 = &i2c4;
i2c5 = &i2c5;
+ mmc0 = &sdmmc0;
+ mmc1 = &sdhci;
serial0 = &uart0;
serial1 = &uart1;
serial2 = &uart2;
--
2.17.1


2021-09-17 14:25:07

by Heiko Stuebner

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: rockchip: move aliases to rk356x dtsi

Hi Michael,

Am Freitag, 17. September 2021, 13:05:28 CEST schrieb Michael Riesch:
> In order to ensure deterministic probe order over different boards,
> move the aliases of on-SoC components to the corresponding dtsi
> files.

please read the git history on the other Rockchip SoCs. We just moved
the aliases on them _to_ the board-files, as requested by
arm-soc maintainers ;-)


Heiko


>
> Signed-off-by: Michael Riesch <[email protected]>
> ---
> arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts | 6 ------
> arch/arm64/boot/dts/rockchip/rk3566.dtsi | 4 ++++
> arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts | 7 -------
> arch/arm64/boot/dts/rockchip/rk3568.dtsi | 5 +++++
> arch/arm64/boot/dts/rockchip/rk356x.dtsi | 2 ++
> 5 files changed, 11 insertions(+), 13 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts b/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts
> index a244f7b87e38..156bbb8aa4c4 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts
> @@ -10,12 +10,6 @@
> model = "Pine64 RK3566 Quartz64-A Board";
> compatible = "pine64,quartz64-a", "rockchip,rk3566";
>
> - aliases {
> - ethernet0 = &gmac1;
> - mmc0 = &sdmmc0;
> - mmc1 = &sdhci;
> - };
> -
> chosen: chosen {
> stdout-path = "serial2:1500000n8";
> };
> diff --git a/arch/arm64/boot/dts/rockchip/rk3566.dtsi b/arch/arm64/boot/dts/rockchip/rk3566.dtsi
> index 3839eef5e4f7..c1b3841caa77 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3566.dtsi
> +++ b/arch/arm64/boot/dts/rockchip/rk3566.dtsi
> @@ -4,6 +4,10 @@
>
> / {
> compatible = "rockchip,rk3566";
> +
> + aliases {
> + ethernet0 = &gmac1;
> + };
> };
>
> &power {
> diff --git a/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts b/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts
> index 184e2aa2416a..218f85af730c 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts
> @@ -13,13 +13,6 @@
> model = "Rockchip RK3568 EVB1 DDR4 V10 Board";
> compatible = "rockchip,rk3568-evb1-v10", "rockchip,rk3568";
>
> - aliases {
> - ethernet0 = &gmac0;
> - ethernet1 = &gmac1;
> - mmc0 = &sdmmc0;
> - mmc1 = &sdhci;
> - };
> -
> chosen: chosen {
> stdout-path = "serial2:1500000n8";
> };
> diff --git a/arch/arm64/boot/dts/rockchip/rk3568.dtsi b/arch/arm64/boot/dts/rockchip/rk3568.dtsi
> index 2fd313a295f8..dd0e800cf752 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3568.dtsi
> +++ b/arch/arm64/boot/dts/rockchip/rk3568.dtsi
> @@ -8,6 +8,11 @@
> / {
> compatible = "rockchip,rk3568";
>
> + aliases {
> + ethernet0 = &gmac0;
> + ethernet1 = &gmac1;
> + };
> +
> qos_pcie3x1: qos@fe190080 {
> compatible = "rockchip,rk3568-qos", "syscon";
> reg = <0x0 0xfe190080 0x0 0x20>;
> diff --git a/arch/arm64/boot/dts/rockchip/rk356x.dtsi b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
> index e42fbac6147b..bb0540d3008c 100644
> --- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi
> +++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
> @@ -29,6 +29,8 @@
> i2c3 = &i2c3;
> i2c4 = &i2c4;
> i2c5 = &i2c5;
> + mmc0 = &sdmmc0;
> + mmc1 = &sdhci;
> serial0 = &uart0;
> serial1 = &uart1;
> serial2 = &uart2;
>




2021-09-17 19:52:25

by Michael Riesch

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: rockchip: move aliases to rk356x dtsi

Hi Heiko,

On 9/17/21 2:01 PM, Heiko Stübner wrote:
> Hi Michael,
>
> Am Freitag, 17. September 2021, 13:05:28 CEST schrieb Michael Riesch:
>> In order to ensure deterministic probe order over different boards,
>> move the aliases of on-SoC components to the corresponding dtsi
>> files.
>
> please read the git history on the other Rockchip SoCs. We just moved
> the aliases on them _to_ the board-files, as requested by
> arm-soc maintainers ;-)

OK, I was not aware of this. Some SoC families (e.g., Freescale IMX)
have those aliases in the dtsi and I was not sure what the desired
approach was. Thanks for the clarification.

Best regards,
Michael
>
> Heiko
>
>
>>
>> Signed-off-by: Michael Riesch <[email protected]>
>> ---
>> arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts | 6 ------
>> arch/arm64/boot/dts/rockchip/rk3566.dtsi | 4 ++++
>> arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts | 7 -------
>> arch/arm64/boot/dts/rockchip/rk3568.dtsi | 5 +++++
>> arch/arm64/boot/dts/rockchip/rk356x.dtsi | 2 ++
>> 5 files changed, 11 insertions(+), 13 deletions(-)
>>
>> diff --git a/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts b/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts
>> index a244f7b87e38..156bbb8aa4c4 100644
>> --- a/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts
>> +++ b/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts
>> @@ -10,12 +10,6 @@
>> model = "Pine64 RK3566 Quartz64-A Board";
>> compatible = "pine64,quartz64-a", "rockchip,rk3566";
>>
>> - aliases {
>> - ethernet0 = &gmac1;
>> - mmc0 = &sdmmc0;
>> - mmc1 = &sdhci;
>> - };
>> -
>> chosen: chosen {
>> stdout-path = "serial2:1500000n8";
>> };
>> diff --git a/arch/arm64/boot/dts/rockchip/rk3566.dtsi b/arch/arm64/boot/dts/rockchip/rk3566.dtsi
>> index 3839eef5e4f7..c1b3841caa77 100644
>> --- a/arch/arm64/boot/dts/rockchip/rk3566.dtsi
>> +++ b/arch/arm64/boot/dts/rockchip/rk3566.dtsi
>> @@ -4,6 +4,10 @@
>>
>> / {
>> compatible = "rockchip,rk3566";
>> +
>> + aliases {
>> + ethernet0 = &gmac1;
>> + };
>> };
>>
>> &power {
>> diff --git a/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts b/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts
>> index 184e2aa2416a..218f85af730c 100644
>> --- a/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts
>> +++ b/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts
>> @@ -13,13 +13,6 @@
>> model = "Rockchip RK3568 EVB1 DDR4 V10 Board";
>> compatible = "rockchip,rk3568-evb1-v10", "rockchip,rk3568";
>>
>> - aliases {
>> - ethernet0 = &gmac0;
>> - ethernet1 = &gmac1;
>> - mmc0 = &sdmmc0;
>> - mmc1 = &sdhci;
>> - };
>> -
>> chosen: chosen {
>> stdout-path = "serial2:1500000n8";
>> };
>> diff --git a/arch/arm64/boot/dts/rockchip/rk3568.dtsi b/arch/arm64/boot/dts/rockchip/rk3568.dtsi
>> index 2fd313a295f8..dd0e800cf752 100644
>> --- a/arch/arm64/boot/dts/rockchip/rk3568.dtsi
>> +++ b/arch/arm64/boot/dts/rockchip/rk3568.dtsi
>> @@ -8,6 +8,11 @@
>> / {
>> compatible = "rockchip,rk3568";
>>
>> + aliases {
>> + ethernet0 = &gmac0;
>> + ethernet1 = &gmac1;
>> + };
>> +
>> qos_pcie3x1: qos@fe190080 {
>> compatible = "rockchip,rk3568-qos", "syscon";
>> reg = <0x0 0xfe190080 0x0 0x20>;
>> diff --git a/arch/arm64/boot/dts/rockchip/rk356x.dtsi b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
>> index e42fbac6147b..bb0540d3008c 100644
>> --- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi
>> +++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
>> @@ -29,6 +29,8 @@
>> i2c3 = &i2c3;
>> i2c4 = &i2c4;
>> i2c5 = &i2c5;
>> + mmc0 = &sdmmc0;
>> + mmc1 = &sdhci;
>> serial0 = &uart0;
>> serial1 = &uart1;
>> serial2 = &uart2;
>>
>
>
>
>

2021-09-22 13:45:17

by Ahmad Fatoum

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: rockchip: move aliases to rk356x dtsi

Hello Heiko,

On 17.09.21 14:01, Heiko Stübner wrote:
> Hi Michael,
>
> Am Freitag, 17. September 2021, 13:05:28 CEST schrieb Michael Riesch:
>> In order to ensure deterministic probe order over different boards,
>> move the aliases of on-SoC components to the corresponding dtsi
>> files.
>
> please read the git history on the other Rockchip SoCs. We just moved
> the aliases on them _to_ the board-files, as requested by
> arm-soc maintainers ;-)

[Adding Arnd to CC]

For old boards, changing the aliases may introduce breakage that outweighs
the benefit of having consistent numbering. This doesn't seem to apply here:
rk3566.dtsi is a new device tree not yet in v5.15-rc2 and rk3568 is new in
v5.14 and has only one board partially supported, so if we were to do this
change we should do it now. Boards will still be free to override the aliases,
but those that don't will have consistent numbering regardless of whether
nodes are enabled, cards are detected or probe order.


Cheers,
Ahmad

>
>
> Heiko
>
>
>>
>> Signed-off-by: Michael Riesch <[email protected]>
>> ---
>> arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts | 6 ------
>> arch/arm64/boot/dts/rockchip/rk3566.dtsi | 4 ++++
>> arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts | 7 -------
>> arch/arm64/boot/dts/rockchip/rk3568.dtsi | 5 +++++
>> arch/arm64/boot/dts/rockchip/rk356x.dtsi | 2 ++
>> 5 files changed, 11 insertions(+), 13 deletions(-)
>>
>> diff --git a/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts b/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts
>> index a244f7b87e38..156bbb8aa4c4 100644
>> --- a/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts
>> +++ b/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts
>> @@ -10,12 +10,6 @@
>> model = "Pine64 RK3566 Quartz64-A Board";
>> compatible = "pine64,quartz64-a", "rockchip,rk3566";
>>
>> - aliases {
>> - ethernet0 = &gmac1;
>> - mmc0 = &sdmmc0;
>> - mmc1 = &sdhci;
>> - };
>> -
>> chosen: chosen {
>> stdout-path = "serial2:1500000n8";
>> };
>> diff --git a/arch/arm64/boot/dts/rockchip/rk3566.dtsi b/arch/arm64/boot/dts/rockchip/rk3566.dtsi
>> index 3839eef5e4f7..c1b3841caa77 100644
>> --- a/arch/arm64/boot/dts/rockchip/rk3566.dtsi
>> +++ b/arch/arm64/boot/dts/rockchip/rk3566.dtsi
>> @@ -4,6 +4,10 @@
>>
>> / {
>> compatible = "rockchip,rk3566";
>> +
>> + aliases {
>> + ethernet0 = &gmac1;
>> + };
>> };
>>
>> &power {
>> diff --git a/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts b/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts
>> index 184e2aa2416a..218f85af730c 100644
>> --- a/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts
>> +++ b/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts
>> @@ -13,13 +13,6 @@
>> model = "Rockchip RK3568 EVB1 DDR4 V10 Board";
>> compatible = "rockchip,rk3568-evb1-v10", "rockchip,rk3568";
>>
>> - aliases {
>> - ethernet0 = &gmac0;
>> - ethernet1 = &gmac1;
>> - mmc0 = &sdmmc0;
>> - mmc1 = &sdhci;
>> - };
>> -
>> chosen: chosen {
>> stdout-path = "serial2:1500000n8";
>> };
>> diff --git a/arch/arm64/boot/dts/rockchip/rk3568.dtsi b/arch/arm64/boot/dts/rockchip/rk3568.dtsi
>> index 2fd313a295f8..dd0e800cf752 100644
>> --- a/arch/arm64/boot/dts/rockchip/rk3568.dtsi
>> +++ b/arch/arm64/boot/dts/rockchip/rk3568.dtsi
>> @@ -8,6 +8,11 @@
>> / {
>> compatible = "rockchip,rk3568";
>>
>> + aliases {
>> + ethernet0 = &gmac0;
>> + ethernet1 = &gmac1;
>> + };
>> +
>> qos_pcie3x1: qos@fe190080 {
>> compatible = "rockchip,rk3568-qos", "syscon";
>> reg = <0x0 0xfe190080 0x0 0x20>;
>> diff --git a/arch/arm64/boot/dts/rockchip/rk356x.dtsi b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
>> index e42fbac6147b..bb0540d3008c 100644
>> --- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi
>> +++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
>> @@ -29,6 +29,8 @@
>> i2c3 = &i2c3;
>> i2c4 = &i2c4;
>> i2c5 = &i2c5;
>> + mmc0 = &sdmmc0;
>> + mmc1 = &sdhci;
>> serial0 = &uart0;
>> serial1 = &uart1;
>> serial2 = &uart2;
>>
>
>
>
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> [email protected]
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>


--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |

2021-09-22 16:53:19

by Heiko Stuebner

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: rockchip: move aliases to rk356x dtsi

Hi Ahmad,

Am Mittwoch, 22. September 2021, 15:40:33 CEST schrieb Ahmad Fatoum:
> Hello Heiko,
>
> On 17.09.21 14:01, Heiko St?bner wrote:
> > Hi Michael,
> >
> > Am Freitag, 17. September 2021, 13:05:28 CEST schrieb Michael Riesch:
> >> In order to ensure deterministic probe order over different boards,
> >> move the aliases of on-SoC components to the corresponding dtsi
> >> files.
> >
> > please read the git history on the other Rockchip SoCs. We just moved
> > the aliases on them _to_ the board-files, as requested by
> > arm-soc maintainers ;-)
>
> [Adding Arnd to CC]
>
> For old boards, changing the aliases may introduce breakage that outweighs
> the benefit of having consistent numbering. This doesn't seem to apply here:
> rk3566.dtsi is a new device tree not yet in v5.15-rc2 and rk3568 is new in
> v5.14 and has only one board partially supported, so if we were to do this
> change we should do it now. Boards will still be free to override the aliases,
> but those that don't will have consistent numbering regardless of whether
> nodes are enabled, cards are detected or probe order.

the request from Arnd was actually to move things like mmc aliases _to_
board files away from the soc-level dtsi. Supposedly to prevent holes in
the numbering for example if the sdmmc is mmc0, emmc is mmc1,
but sdmmc not used on a board, which would then leave mmc0 empty .


Heiko



> > Heiko
> >
> >
> >>
> >> Signed-off-by: Michael Riesch <[email protected]>
> >> ---
> >> arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts | 6 ------
> >> arch/arm64/boot/dts/rockchip/rk3566.dtsi | 4 ++++
> >> arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts | 7 -------
> >> arch/arm64/boot/dts/rockchip/rk3568.dtsi | 5 +++++
> >> arch/arm64/boot/dts/rockchip/rk356x.dtsi | 2 ++
> >> 5 files changed, 11 insertions(+), 13 deletions(-)
> >>
> >> diff --git a/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts b/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts
> >> index a244f7b87e38..156bbb8aa4c4 100644
> >> --- a/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts
> >> +++ b/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts
> >> @@ -10,12 +10,6 @@
> >> model = "Pine64 RK3566 Quartz64-A Board";
> >> compatible = "pine64,quartz64-a", "rockchip,rk3566";
> >>
> >> - aliases {
> >> - ethernet0 = &gmac1;
> >> - mmc0 = &sdmmc0;
> >> - mmc1 = &sdhci;
> >> - };
> >> -
> >> chosen: chosen {
> >> stdout-path = "serial2:1500000n8";
> >> };
> >> diff --git a/arch/arm64/boot/dts/rockchip/rk3566.dtsi b/arch/arm64/boot/dts/rockchip/rk3566.dtsi
> >> index 3839eef5e4f7..c1b3841caa77 100644
> >> --- a/arch/arm64/boot/dts/rockchip/rk3566.dtsi
> >> +++ b/arch/arm64/boot/dts/rockchip/rk3566.dtsi
> >> @@ -4,6 +4,10 @@
> >>
> >> / {
> >> compatible = "rockchip,rk3566";
> >> +
> >> + aliases {
> >> + ethernet0 = &gmac1;
> >> + };
> >> };
> >>
> >> &power {
> >> diff --git a/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts b/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts
> >> index 184e2aa2416a..218f85af730c 100644
> >> --- a/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts
> >> +++ b/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts
> >> @@ -13,13 +13,6 @@
> >> model = "Rockchip RK3568 EVB1 DDR4 V10 Board";
> >> compatible = "rockchip,rk3568-evb1-v10", "rockchip,rk3568";
> >>
> >> - aliases {
> >> - ethernet0 = &gmac0;
> >> - ethernet1 = &gmac1;
> >> - mmc0 = &sdmmc0;
> >> - mmc1 = &sdhci;
> >> - };
> >> -
> >> chosen: chosen {
> >> stdout-path = "serial2:1500000n8";
> >> };
> >> diff --git a/arch/arm64/boot/dts/rockchip/rk3568.dtsi b/arch/arm64/boot/dts/rockchip/rk3568.dtsi
> >> index 2fd313a295f8..dd0e800cf752 100644
> >> --- a/arch/arm64/boot/dts/rockchip/rk3568.dtsi
> >> +++ b/arch/arm64/boot/dts/rockchip/rk3568.dtsi
> >> @@ -8,6 +8,11 @@
> >> / {
> >> compatible = "rockchip,rk3568";
> >>
> >> + aliases {
> >> + ethernet0 = &gmac0;
> >> + ethernet1 = &gmac1;
> >> + };
> >> +
> >> qos_pcie3x1: qos@fe190080 {
> >> compatible = "rockchip,rk3568-qos", "syscon";
> >> reg = <0x0 0xfe190080 0x0 0x20>;
> >> diff --git a/arch/arm64/boot/dts/rockchip/rk356x.dtsi b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
> >> index e42fbac6147b..bb0540d3008c 100644
> >> --- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi
> >> +++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
> >> @@ -29,6 +29,8 @@
> >> i2c3 = &i2c3;
> >> i2c4 = &i2c4;
> >> i2c5 = &i2c5;
> >> + mmc0 = &sdmmc0;
> >> + mmc1 = &sdhci;
> >> serial0 = &uart0;
> >> serial1 = &uart1;
> >> serial2 = &uart2;
> >>
> >
> >
> >
> >
> >
> > _______________________________________________
> > linux-arm-kernel mailing list
> > [email protected]
> > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> >
>
>
>




2021-09-23 19:53:05

by Ahmad Fatoum

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: rockchip: move aliases to rk356x dtsi

Hello Heiko,

On 22.09.21 18:51, Heiko Stübner wrote:
> Hi Ahmad,
>
> Am Mittwoch, 22. September 2021, 15:40:33 CEST schrieb Ahmad Fatoum:
>> Hello Heiko,
>>
>> On 17.09.21 14:01, Heiko Stübner wrote:
>>> Hi Michael,
>>>
>>> Am Freitag, 17. September 2021, 13:05:28 CEST schrieb Michael Riesch:
>>>> In order to ensure deterministic probe order over different boards,
>>>> move the aliases of on-SoC components to the corresponding dtsi
>>>> files.
>>>
>>> please read the git history on the other Rockchip SoCs. We just moved
>>> the aliases on them _to_ the board-files, as requested by
>>> arm-soc maintainers ;-)
>>
>> [Adding Arnd to CC]
>>
>> For old boards, changing the aliases may introduce breakage that outweighs
>> the benefit of having consistent numbering. This doesn't seem to apply here:
>> rk3566.dtsi is a new device tree not yet in v5.15-rc2 and rk3568 is new in
>> v5.14 and has only one board partially supported, so if we were to do this
>> change we should do it now. Boards will still be free to override the aliases,
>> but those that don't will have consistent numbering regardless of whether
>> nodes are enabled, cards are detected or probe order.
>
> the request from Arnd was actually to move things like mmc aliases _to_
> board files away from the soc-level dtsi.

Yes, I understood that. But I think for new SoCs, there is a convincing
case for having them in the SoC dtsi.

> Supposedly to prevent holes in
> the numbering for example if the sdmmc is mmc0, emmc is mmc1,
> but sdmmc not used on a board, which would then leave mmc0 empty .

Without aliases, the numbering of the MMC devices in Linux can't be relied
on. partuuids don't work when you have the same image on e.g. eMMC and SD
and initramfs may be overkill. I'd thus say it's recommended to have aliases
for every MMC described in a device tree.

Arguably, the majority of people are fine with the numbering used by the
SoC vendor and having any numbering will prevent scripts from breaking after
updates. Board vendors that mind the holes or want to renumber the MMCs can
just override the aliases on board level.

Cheers,
Ahmad

>
>
> Heiko
>
>
>
>>> Heiko
>>>
>>>
>>>>
>>>> Signed-off-by: Michael Riesch <[email protected]>
>>>> ---
>>>> arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts | 6 ------
>>>> arch/arm64/boot/dts/rockchip/rk3566.dtsi | 4 ++++
>>>> arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts | 7 -------
>>>> arch/arm64/boot/dts/rockchip/rk3568.dtsi | 5 +++++
>>>> arch/arm64/boot/dts/rockchip/rk356x.dtsi | 2 ++
>>>> 5 files changed, 11 insertions(+), 13 deletions(-)
>>>>
>>>> diff --git a/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts b/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts
>>>> index a244f7b87e38..156bbb8aa4c4 100644
>>>> --- a/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts
>>>> +++ b/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts
>>>> @@ -10,12 +10,6 @@
>>>> model = "Pine64 RK3566 Quartz64-A Board";
>>>> compatible = "pine64,quartz64-a", "rockchip,rk3566";
>>>>
>>>> - aliases {
>>>> - ethernet0 = &gmac1;
>>>> - mmc0 = &sdmmc0;
>>>> - mmc1 = &sdhci;
>>>> - };
>>>> -
>>>> chosen: chosen {
>>>> stdout-path = "serial2:1500000n8";
>>>> };
>>>> diff --git a/arch/arm64/boot/dts/rockchip/rk3566.dtsi b/arch/arm64/boot/dts/rockchip/rk3566.dtsi
>>>> index 3839eef5e4f7..c1b3841caa77 100644
>>>> --- a/arch/arm64/boot/dts/rockchip/rk3566.dtsi
>>>> +++ b/arch/arm64/boot/dts/rockchip/rk3566.dtsi
>>>> @@ -4,6 +4,10 @@
>>>>
>>>> / {
>>>> compatible = "rockchip,rk3566";
>>>> +
>>>> + aliases {
>>>> + ethernet0 = &gmac1;
>>>> + };
>>>> };
>>>>
>>>> &power {
>>>> diff --git a/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts b/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts
>>>> index 184e2aa2416a..218f85af730c 100644
>>>> --- a/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts
>>>> +++ b/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts
>>>> @@ -13,13 +13,6 @@
>>>> model = "Rockchip RK3568 EVB1 DDR4 V10 Board";
>>>> compatible = "rockchip,rk3568-evb1-v10", "rockchip,rk3568";
>>>>
>>>> - aliases {
>>>> - ethernet0 = &gmac0;
>>>> - ethernet1 = &gmac1;
>>>> - mmc0 = &sdmmc0;
>>>> - mmc1 = &sdhci;
>>>> - };
>>>> -
>>>> chosen: chosen {
>>>> stdout-path = "serial2:1500000n8";
>>>> };
>>>> diff --git a/arch/arm64/boot/dts/rockchip/rk3568.dtsi b/arch/arm64/boot/dts/rockchip/rk3568.dtsi
>>>> index 2fd313a295f8..dd0e800cf752 100644
>>>> --- a/arch/arm64/boot/dts/rockchip/rk3568.dtsi
>>>> +++ b/arch/arm64/boot/dts/rockchip/rk3568.dtsi
>>>> @@ -8,6 +8,11 @@
>>>> / {
>>>> compatible = "rockchip,rk3568";
>>>>
>>>> + aliases {
>>>> + ethernet0 = &gmac0;
>>>> + ethernet1 = &gmac1;
>>>> + };
>>>> +
>>>> qos_pcie3x1: qos@fe190080 {
>>>> compatible = "rockchip,rk3568-qos", "syscon";
>>>> reg = <0x0 0xfe190080 0x0 0x20>;
>>>> diff --git a/arch/arm64/boot/dts/rockchip/rk356x.dtsi b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
>>>> index e42fbac6147b..bb0540d3008c 100644
>>>> --- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi
>>>> +++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
>>>> @@ -29,6 +29,8 @@
>>>> i2c3 = &i2c3;
>>>> i2c4 = &i2c4;
>>>> i2c5 = &i2c5;
>>>> + mmc0 = &sdmmc0;
>>>> + mmc1 = &sdhci;
>>>> serial0 = &uart0;
>>>> serial1 = &uart1;
>>>> serial2 = &uart2;
>>>>
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> linux-arm-kernel mailing list
>>> [email protected]
>>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>>>
>>
>>
>>
>
>
>
>
>


--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |