Thread (6 messages) 6 messages, 3 authors, 2021-09-23

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

From: Ahmad Fatoum <a.fatoum@pengutronix.de>
Date: 2021-09-23 19:49:11
Also in: linux-arm-kernel, linux-rockchip, lkml

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:
quoted
Hello Heiko,

On 17.09.21 14:01, Heiko Stübner wrote:
quoted
Hi Michael,

Am Freitag, 17. September 2021, 13:05:28 CEST schrieb Michael Riesch:
quoted
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


quoted
quoted
Heiko

quoted
Signed-off-by: Michael Riesch <redacted>
---
 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
linux-arm-kernel@lists.infradead.org
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 |
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help