linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] arm64: dts: renesas: salvator-x(s): Factor out common optional parts
@ 2021-06-07 17:39 Geert Uytterhoeven
  2021-06-07 17:39 ` [PATCH 1/4] arm64: dts: renesas: salvator-x(s): Factor out HDMI1 parts Geert Uytterhoeven
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Geert Uytterhoeven @ 2021-06-07 17:39 UTC (permalink / raw)
  To: Magnus Damm; +Cc: linux-renesas-soc, linux-arm-kernel, Geert Uytterhoeven

	Hi all,

The Renesas Salvator-X(S) family of boards are available with different
SiP options (R-Car H3 ES1.x, H3 ES2.0+, M3-W, M3-W+, M3-N).  To reduce
duplication of board descriptions, the parts common to all SoC and board
combinations are already factored out into salvator-common.dtsi,
salvator-x.dtsi, and salvator-xs.dtsi.  Still, there are a few board
features that are not common to all combos, as the corresponding support
is not present on all SoCs.

Hence this patch series moves out support for the second HDMI channel,
the SATA interface, and the third and fourth USB channels to
salvator-common.dtsi and/or salvator-xs.dtsi.  As these are not present
on all SoCs, its descriptions are protected by SOC_HAS_* preprocessor
symbols, defined in SoC-specific .dtsi files.

This series causes no changes in the generated DTB, except for the
enablement of the SATA device node on Salvator-X board with an R-Car
M3-N SiP, cfr. the comments in [PATCH 2/4].

Thanks for your comments!

Geert Uytterhoeven (4):
  arm64: dts: renesas: salvator-x(s): Factor out HDMI1 parts
  arm64: dts: renesas: salvator-x(s): Factor out SATA parts
  arm64: dts: renesas: salvator-x(s): Factor out USB ch2 parts
  arm64: dts: renesas: salvator-xs: Factor out USB ch3 parts

 .../boot/dts/renesas/r8a77950-salvator-x.dts  |  73 -----------
 arch/arm64/boot/dts/renesas/r8a77950.dtsi     |   2 +
 .../boot/dts/renesas/r8a77951-salvator-x.dts  |  73 -----------
 .../boot/dts/renesas/r8a77951-salvator-xs.dts | 122 ------------------
 arch/arm64/boot/dts/renesas/r8a77951.dtsi     |   5 +
 .../boot/dts/renesas/r8a77965-salvator-xs.dts |  14 --
 arch/arm64/boot/dts/renesas/r8a77965.dtsi     |   2 +
 .../boot/dts/renesas/salvator-common.dtsi     |  76 ++++++++++-
 arch/arm64/boot/dts/renesas/salvator-xs.dtsi  |  56 ++++++++
 9 files changed, 140 insertions(+), 283 deletions(-)

-- 
2.25.1

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 1/4] arm64: dts: renesas: salvator-x(s): Factor out HDMI1 parts
  2021-06-07 17:39 [PATCH 0/4] arm64: dts: renesas: salvator-x(s): Factor out common optional parts Geert Uytterhoeven
@ 2021-06-07 17:39 ` Geert Uytterhoeven
  2021-06-07 17:39 ` [PATCH 2/4] arm64: dts: renesas: salvator-x(s): Factor out SATA parts Geert Uytterhoeven
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Geert Uytterhoeven @ 2021-06-07 17:39 UTC (permalink / raw)
  To: Magnus Damm; +Cc: linux-renesas-soc, linux-arm-kernel, Geert Uytterhoeven

Move the common parts related to the second HDMI interface on
Salvator-X(S) boards to salvator-common.dtsi, to reduce current and
avoid future duplication of board descriptions.

As this interface is not present on all SoCs that can be found on
Salvator-X(S), but only on R-Car H3, its description are protected by
the preprocessor symbol SOC_HAS_HDMI1, defined in r8a77951.dtsi.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
 .../boot/dts/renesas/r8a77950-salvator-x.dts  | 47 -------------------
 .../boot/dts/renesas/r8a77951-salvator-x.dts  | 47 -------------------
 .../boot/dts/renesas/r8a77951-salvator-xs.dts | 47 -------------------
 arch/arm64/boot/dts/renesas/r8a77951.dtsi     |  2 +
 .../boot/dts/renesas/salvator-common.dtsi     | 46 +++++++++++++++++-
 5 files changed, 47 insertions(+), 142 deletions(-)

diff --git a/arch/arm64/boot/dts/renesas/r8a77950-salvator-x.dts b/arch/arm64/boot/dts/renesas/r8a77950-salvator-x.dts
index 3e3b954a4a9defe8..718d1597af03dc2e 100644
--- a/arch/arm64/boot/dts/renesas/r8a77950-salvator-x.dts
+++ b/arch/arm64/boot/dts/renesas/r8a77950-salvator-x.dts
@@ -52,29 +52,6 @@ &ehci2 {
 	status = "okay";
 };
 
-&hdmi1 {
-	status = "okay";
-
-	ports {
-		port@1 {
-			reg = <1>;
-			rcar_dw_hdmi1_out: endpoint {
-				remote-endpoint = <&hdmi1_con>;
-			};
-		};
-		port@2 {
-			reg = <2>;
-			dw_hdmi1_snd_in: endpoint {
-				remote-endpoint = <&rsnd_endpoint2>;
-			};
-		};
-	};
-};
-
-&hdmi1_con {
-	remote-endpoint = <&rcar_dw_hdmi1_out>;
-};
-
 &ohci2 {
 	status = "okay";
 };
@@ -86,34 +63,10 @@ usb2_pins: usb2 {
 	};
 };
 
-&rcar_sound {
-	ports {
-		/* rsnd_port0/1 are described in salvator-common.dtsi */
-		rsnd_port2: port@2 {
-			reg = <2>;
-			rsnd_endpoint2: endpoint {
-				remote-endpoint = <&dw_hdmi1_snd_in>;
-
-				dai-format = "i2s";
-				bitclock-master = <&rsnd_endpoint2>;
-				frame-master = <&rsnd_endpoint2>;
-
-				playback = <&ssi3>;
-			};
-		};
-	};
-};
-
 &sata {
 	status = "okay";
 };
 
-&sound_card {
-	dais = <&rsnd_port0	/* ak4613 */
-		&rsnd_port1	/* HDMI0  */
-		&rsnd_port2>;	/* HDMI1  */
-};
-
 &usb2_phy2 {
 	pinctrl-0 = <&usb2_pins>;
 	pinctrl-names = "default";
diff --git a/arch/arm64/boot/dts/renesas/r8a77951-salvator-x.dts b/arch/arm64/boot/dts/renesas/r8a77951-salvator-x.dts
index cf2165bdf62511ff..d75fb9a9d3e4309d 100644
--- a/arch/arm64/boot/dts/renesas/r8a77951-salvator-x.dts
+++ b/arch/arm64/boot/dts/renesas/r8a77951-salvator-x.dts
@@ -52,29 +52,6 @@ &ehci2 {
 	status = "okay";
 };
 
-&hdmi1 {
-	status = "okay";
-
-	ports {
-		port@1 {
-			reg = <1>;
-			rcar_dw_hdmi1_out: endpoint {
-				remote-endpoint = <&hdmi1_con>;
-			};
-		};
-		port@2 {
-			reg = <2>;
-			dw_hdmi1_snd_in: endpoint {
-				remote-endpoint = <&rsnd_endpoint2>;
-			};
-		};
-	};
-};
-
-&hdmi1_con {
-	remote-endpoint = <&rcar_dw_hdmi1_out>;
-};
-
 &ohci2 {
 	status = "okay";
 };
@@ -86,34 +63,10 @@ usb2_pins: usb2 {
 	};
 };
 
-&rcar_sound {
-	ports {
-		/* rsnd_port0/1 are described in salvator-common.dtsi */
-		rsnd_port2: port@2 {
-			reg = <2>;
-			rsnd_endpoint2: endpoint {
-				remote-endpoint = <&dw_hdmi1_snd_in>;
-
-				dai-format = "i2s";
-				bitclock-master = <&rsnd_endpoint2>;
-				frame-master = <&rsnd_endpoint2>;
-
-				playback = <&ssi3>;
-			};
-		};
-	};
-};
-
 &sata {
 	status = "okay";
 };
 
-&sound_card {
-	dais = <&rsnd_port0	/* ak4613 */
-		&rsnd_port1	/* HDMI0  */
-		&rsnd_port2>;	/* HDMI1  */
-};
-
 &usb2_phy2 {
 	pinctrl-0 = <&usb2_pins>;
 	pinctrl-names = "default";
diff --git a/arch/arm64/boot/dts/renesas/r8a77951-salvator-xs.dts b/arch/arm64/boot/dts/renesas/r8a77951-salvator-xs.dts
index 37202fcdc35bc773..fb8734ea5bc37b49 100644
--- a/arch/arm64/boot/dts/renesas/r8a77951-salvator-xs.dts
+++ b/arch/arm64/boot/dts/renesas/r8a77951-salvator-xs.dts
@@ -57,29 +57,6 @@ &ehci3 {
 	status = "okay";
 };
 
-&hdmi1 {
-	status = "okay";
-
-	ports {
-		port@1 {
-			reg = <1>;
-			rcar_dw_hdmi1_out: endpoint {
-				remote-endpoint = <&hdmi1_con>;
-			};
-		};
-		port@2 {
-			reg = <2>;
-			dw_hdmi1_snd_in: endpoint {
-				remote-endpoint = <&rsnd_endpoint2>;
-			};
-		};
-	};
-};
-
-&hdmi1_con {
-	remote-endpoint = <&rcar_dw_hdmi1_out>;
-};
-
 &hsusb3 {
 	dr_mode = "otg";
 	status = "okay";
@@ -127,35 +104,11 @@ usb2_ch3_pins: usb2_ch3 {
 	};
 };
 
-&rcar_sound {
-	ports {
-		/* rsnd_port0/1 are described in salvator-common.dtsi */
-		rsnd_port2: port@2 {
-			reg = <2>;
-			rsnd_endpoint2: endpoint {
-				remote-endpoint = <&dw_hdmi1_snd_in>;
-
-				dai-format = "i2s";
-				bitclock-master = <&rsnd_endpoint2>;
-				frame-master = <&rsnd_endpoint2>;
-
-				playback = <&ssi3>;
-			};
-		};
-	};
-};
-
 /* SW12-7 must be set 'Off' (MD12 set to 1) which is not the default! */
 &sata {
 	status = "okay";
 };
 
-&sound_card {
-	dais = <&rsnd_port0	/* ak4613 */
-		&rsnd_port1	/* HDMI0  */
-		&rsnd_port2>;	/* HDMI1  */
-};
-
 &usb2_phy2 {
 	pinctrl-0 = <&usb2_pins>;
 	pinctrl-names = "default";
diff --git a/arch/arm64/boot/dts/renesas/r8a77951.dtsi b/arch/arm64/boot/dts/renesas/r8a77951.dtsi
index 2e4c18b8eee49f5e..68e54ead31b451ca 100644
--- a/arch/arm64/boot/dts/renesas/r8a77951.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a77951.dtsi
@@ -11,6 +11,8 @@
 
 #define CPG_AUDIO_CLK_I		R8A7795_CLK_S0D4
 
+#define SOC_HAS_HDMI1
+
 / {
 	compatible = "renesas,r8a7795";
 	#address-cells = <2>;
diff --git a/arch/arm64/boot/dts/renesas/salvator-common.dtsi b/arch/arm64/boot/dts/renesas/salvator-common.dtsi
index e4d9742e147a1bd9..ea1d8693a38eacbb 100644
--- a/arch/arm64/boot/dts/renesas/salvator-common.dtsi
+++ b/arch/arm64/boot/dts/renesas/salvator-common.dtsi
@@ -208,7 +208,11 @@ sound_card: sound {
 		label = "rcar-sound";
 
 		dais = <&rsnd_port0	/* ak4613 */
-			&rsnd_port1>;	/* HDMI0  */
+			&rsnd_port1	/* HDMI0  */
+#ifdef SOC_HAS_HDMI1
+			&rsnd_port2	/* HDMI1  */
+#endif
+			>;
 	};
 
 	vbus0_usb2: regulator-vbus0-usb2 {
@@ -428,6 +432,31 @@ &hdmi0_con {
 	remote-endpoint = <&rcar_dw_hdmi0_out>;
 };
 
+#ifdef SOC_HAS_HDMI1
+&hdmi1 {
+	status = "okay";
+
+	ports {
+		port@1 {
+			reg = <1>;
+			rcar_dw_hdmi1_out: endpoint {
+				remote-endpoint = <&hdmi1_con>;
+			};
+		};
+		port@2 {
+			reg = <2>;
+			dw_hdmi1_snd_in: endpoint {
+				remote-endpoint = <&rsnd_endpoint2>;
+			};
+		};
+	};
+};
+
+&hdmi1_con {
+	remote-endpoint = <&rcar_dw_hdmi1_out>;
+};
+#endif /* SOC_HAS_HDMI1 */
+
 &hscif1 {
 	pinctrl-0 = <&hscif1_pins>;
 	pinctrl-names = "default";
@@ -824,6 +853,21 @@ rsnd_endpoint1: endpoint {
 				playback = <&ssi2>;
 			};
 		};
+
+#ifdef SOC_HAS_HDMI1
+		rsnd_port2: port@2 {
+			reg = <2>;
+			rsnd_endpoint2: endpoint {
+				remote-endpoint = <&dw_hdmi1_snd_in>;
+
+				dai-format = "i2s";
+				bitclock-master = <&rsnd_endpoint2>;
+				frame-master = <&rsnd_endpoint2>;
+
+				playback = <&ssi3>;
+			};
+		};
+#endif /* SOC_HAS_HDMI1 */
 	};
 };
 
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/4] arm64: dts: renesas: salvator-x(s): Factor out SATA parts
  2021-06-07 17:39 [PATCH 0/4] arm64: dts: renesas: salvator-x(s): Factor out common optional parts Geert Uytterhoeven
  2021-06-07 17:39 ` [PATCH 1/4] arm64: dts: renesas: salvator-x(s): Factor out HDMI1 parts Geert Uytterhoeven
@ 2021-06-07 17:39 ` Geert Uytterhoeven
  2021-06-07 17:39 ` [PATCH 3/4] arm64: dts: renesas: salvator-x(s): Factor out USB ch2 parts Geert Uytterhoeven
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Geert Uytterhoeven @ 2021-06-07 17:39 UTC (permalink / raw)
  To: Magnus Damm; +Cc: linux-renesas-soc, linux-arm-kernel, Geert Uytterhoeven

Move the common parts related to the SATA interface on Salvator-X(S)
boards to salvator-common.dtsi and salvator-xs.dtsi, to reduce current
and avoid future duplication of board descriptions.

As this interface is not present on all SoCs that can be found on
Salvator-X(S), but only on R-Car H3 and M3-N, its descriptions are
protected by the preprocessor symbol SOC_HAS_SATA, defined in
r8a77951.dtsi and r8a77965.dtsi.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
After this, the SATA device node in r8a77965-salvator-x.dtb is no longer
disabled.  However, I'm not sure if SATA is actually supported on the
(rare) combination of a Salvator-X board with an R-Car M3-N SiP.
Perhaps it should be kept disabled, by undefining SOC_HAS_SATA in
arch/arm64/boot/dts/renesas/r8a77965-salvator-x.dts, right after the
inclusion of r8a77965.dtsi?
---
 .../arm64/boot/dts/renesas/r8a77950-salvator-x.dts |  4 ----
 .../arm64/boot/dts/renesas/r8a77951-salvator-x.dts |  4 ----
 .../boot/dts/renesas/r8a77951-salvator-xs.dts      | 14 --------------
 arch/arm64/boot/dts/renesas/r8a77951.dtsi          |  1 +
 .../boot/dts/renesas/r8a77965-salvator-xs.dts      | 14 --------------
 arch/arm64/boot/dts/renesas/r8a77965.dtsi          |  2 ++
 arch/arm64/boot/dts/renesas/salvator-common.dtsi   |  6 ++++++
 arch/arm64/boot/dts/renesas/salvator-xs.dtsi       | 13 +++++++++++++
 8 files changed, 22 insertions(+), 36 deletions(-)

diff --git a/arch/arm64/boot/dts/renesas/r8a77950-salvator-x.dts b/arch/arm64/boot/dts/renesas/r8a77950-salvator-x.dts
index 718d1597af03dc2e..199bd909c4008451 100644
--- a/arch/arm64/boot/dts/renesas/r8a77950-salvator-x.dts
+++ b/arch/arm64/boot/dts/renesas/r8a77950-salvator-x.dts
@@ -63,10 +63,6 @@ usb2_pins: usb2 {
 	};
 };
 
-&sata {
-	status = "okay";
-};
-
 &usb2_phy2 {
 	pinctrl-0 = <&usb2_pins>;
 	pinctrl-names = "default";
diff --git a/arch/arm64/boot/dts/renesas/r8a77951-salvator-x.dts b/arch/arm64/boot/dts/renesas/r8a77951-salvator-x.dts
index d75fb9a9d3e4309d..74de36703bc02b90 100644
--- a/arch/arm64/boot/dts/renesas/r8a77951-salvator-x.dts
+++ b/arch/arm64/boot/dts/renesas/r8a77951-salvator-x.dts
@@ -63,10 +63,6 @@ usb2_pins: usb2 {
 	};
 };
 
-&sata {
-	status = "okay";
-};
-
 &usb2_phy2 {
 	pinctrl-0 = <&usb2_pins>;
 	pinctrl-names = "default";
diff --git a/arch/arm64/boot/dts/renesas/r8a77951-salvator-xs.dts b/arch/arm64/boot/dts/renesas/r8a77951-salvator-xs.dts
index fb8734ea5bc37b49..e9d421d7fcbbc404 100644
--- a/arch/arm64/boot/dts/renesas/r8a77951-salvator-xs.dts
+++ b/arch/arm64/boot/dts/renesas/r8a77951-salvator-xs.dts
@@ -71,15 +71,6 @@ &ohci3 {
 	status = "okay";
 };
 
-&pca9654 {
-	pcie-sata-switch-hog {
-		gpio-hog;
-		gpios = <7 GPIO_ACTIVE_HIGH>;
-		output-low; /* enable SATA by default */
-		line-name = "PCIE/SATA switch";
-	};
-};
-
 &pfc {
 	usb2_pins: usb2 {
 		groups = "usb2";
@@ -104,11 +95,6 @@ usb2_ch3_pins: usb2_ch3 {
 	};
 };
 
-/* SW12-7 must be set 'Off' (MD12 set to 1) which is not the default! */
-&sata {
-	status = "okay";
-};
-
 &usb2_phy2 {
 	pinctrl-0 = <&usb2_pins>;
 	pinctrl-names = "default";
diff --git a/arch/arm64/boot/dts/renesas/r8a77951.dtsi b/arch/arm64/boot/dts/renesas/r8a77951.dtsi
index 68e54ead31b451ca..4602ebf5d28945d2 100644
--- a/arch/arm64/boot/dts/renesas/r8a77951.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a77951.dtsi
@@ -12,6 +12,7 @@
 #define CPG_AUDIO_CLK_I		R8A7795_CLK_S0D4
 
 #define SOC_HAS_HDMI1
+#define SOC_HAS_SATA
 
 / {
 	compatible = "renesas,r8a7795";
diff --git a/arch/arm64/boot/dts/renesas/r8a77965-salvator-xs.dts b/arch/arm64/boot/dts/renesas/r8a77965-salvator-xs.dts
index 729756c24c7479a3..a1d3c8d531cfe9ef 100644
--- a/arch/arm64/boot/dts/renesas/r8a77965-salvator-xs.dts
+++ b/arch/arm64/boot/dts/renesas/r8a77965-salvator-xs.dts
@@ -30,17 +30,3 @@ &du {
 	clock-names = "du.0", "du.1", "du.3",
 		      "dclkin.0", "dclkin.1", "dclkin.3";
 };
-
-&pca9654 {
-	pcie-sata-switch-hog {
-		gpio-hog;
-		gpios = <7 GPIO_ACTIVE_HIGH>;
-		output-low; /* enable SATA by default */
-		line-name = "PCIE/SATA switch";
-	};
-};
-
-/* SW12-7 must be set 'Off' (MD12 set to 1) which is not the default! */
-&sata {
-	status = "okay";
-};
diff --git a/arch/arm64/boot/dts/renesas/r8a77965.dtsi b/arch/arm64/boot/dts/renesas/r8a77965.dtsi
index ad69da362a72ef99..08df75606430bd4a 100644
--- a/arch/arm64/boot/dts/renesas/r8a77965.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a77965.dtsi
@@ -14,6 +14,8 @@
 
 #define CPG_AUDIO_CLK_I		R8A77965_CLK_S0D4
 
+#define SOC_HAS_SATA
+
 / {
 	compatible = "renesas,r8a77965";
 	#address-cells = <2>;
diff --git a/arch/arm64/boot/dts/renesas/salvator-common.dtsi b/arch/arm64/boot/dts/renesas/salvator-common.dtsi
index ea1d8693a38eacbb..11bca200cf3d8ad5 100644
--- a/arch/arm64/boot/dts/renesas/salvator-common.dtsi
+++ b/arch/arm64/boot/dts/renesas/salvator-common.dtsi
@@ -876,6 +876,12 @@ &rwdt {
 	status = "okay";
 };
 
+#ifdef SOC_HAS_SATA
+&sata {
+	status = "okay";
+};
+#endif /* SOC_HAS_SATA */
+
 &scif1 {
 	pinctrl-0 = <&scif1_pins>;
 	pinctrl-names = "default";
diff --git a/arch/arm64/boot/dts/renesas/salvator-xs.dtsi b/arch/arm64/boot/dts/renesas/salvator-xs.dtsi
index 717d42758cbc4b39..3f7f6cf4a3338125 100644
--- a/arch/arm64/boot/dts/renesas/salvator-xs.dtsi
+++ b/arch/arm64/boot/dts/renesas/salvator-xs.dtsi
@@ -27,3 +27,16 @@ versaclock6: clock-generator@6a {
 		clock-names = "xin";
 	};
 };
+
+#ifdef SOC_HAS_SATA
+&pca9654 {
+	pcie-sata-switch-hog {
+		gpio-hog;
+		gpios = <7 GPIO_ACTIVE_HIGH>;
+		output-low; /* enable SATA by default */
+		line-name = "PCIE/SATA switch";
+	};
+};
+
+/* SW12-7 must be set 'Off' (MD12 set to 1) which is not the default! */
+#endif /* SOC_HAS_SATA */
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 3/4] arm64: dts: renesas: salvator-x(s): Factor out USB ch2 parts
  2021-06-07 17:39 [PATCH 0/4] arm64: dts: renesas: salvator-x(s): Factor out common optional parts Geert Uytterhoeven
  2021-06-07 17:39 ` [PATCH 1/4] arm64: dts: renesas: salvator-x(s): Factor out HDMI1 parts Geert Uytterhoeven
  2021-06-07 17:39 ` [PATCH 2/4] arm64: dts: renesas: salvator-x(s): Factor out SATA parts Geert Uytterhoeven
@ 2021-06-07 17:39 ` Geert Uytterhoeven
  2021-06-07 17:39 ` [PATCH 4/4] arm64: dts: renesas: salvator-xs: Factor out USB ch3 parts Geert Uytterhoeven
  2021-06-08 11:17 ` [PATCH 0/4] arm64: dts: renesas: salvator-x(s): Factor out common optional parts Niklas Söderlund
  4 siblings, 0 replies; 6+ messages in thread
From: Geert Uytterhoeven @ 2021-06-07 17:39 UTC (permalink / raw)
  To: Magnus Damm; +Cc: linux-renesas-soc, linux-arm-kernel, Geert Uytterhoeven

Move the common parts related to the third USB2 interface on
Salvator-X(S) boards to salvator-common.dtsi, to reduce current and
avoid future duplication of board descriptions.

As this interface is not present on all SoCs that can be found on
Salvator-X(S), but only on R-Car H3, its descriptions are protected by
the preprocessor symbol SOC_HAS_USB2_CH2, defined in r8a77951.dtsi.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
 .../boot/dts/renesas/r8a77950-salvator-x.dts  | 22 -----------------
 .../boot/dts/renesas/r8a77951-salvator-x.dts  | 22 -----------------
 .../boot/dts/renesas/r8a77951-salvator-xs.dts | 20 ----------------
 arch/arm64/boot/dts/renesas/r8a77951.dtsi     |  1 +
 .../boot/dts/renesas/salvator-common.dtsi     | 24 +++++++++++++++++++
 5 files changed, 25 insertions(+), 64 deletions(-)

diff --git a/arch/arm64/boot/dts/renesas/r8a77950-salvator-x.dts b/arch/arm64/boot/dts/renesas/r8a77950-salvator-x.dts
index 199bd909c4008451..c6ca61a8ed40eb9d 100644
--- a/arch/arm64/boot/dts/renesas/r8a77950-salvator-x.dts
+++ b/arch/arm64/boot/dts/renesas/r8a77950-salvator-x.dts
@@ -47,25 +47,3 @@ &du {
 	clock-names = "du.0", "du.1", "du.2", "du.3",
 		      "dclkin.0", "dclkin.1", "dclkin.2", "dclkin.3";
 };
-
-&ehci2 {
-	status = "okay";
-};
-
-&ohci2 {
-	status = "okay";
-};
-
-&pfc {
-	usb2_pins: usb2 {
-		groups = "usb2";
-		function = "usb2";
-	};
-};
-
-&usb2_phy2 {
-	pinctrl-0 = <&usb2_pins>;
-	pinctrl-names = "default";
-
-	status = "okay";
-};
diff --git a/arch/arm64/boot/dts/renesas/r8a77951-salvator-x.dts b/arch/arm64/boot/dts/renesas/r8a77951-salvator-x.dts
index 74de36703bc02b90..d8e655ba81bd5939 100644
--- a/arch/arm64/boot/dts/renesas/r8a77951-salvator-x.dts
+++ b/arch/arm64/boot/dts/renesas/r8a77951-salvator-x.dts
@@ -47,25 +47,3 @@ &du {
 	clock-names = "du.0", "du.1", "du.2", "du.3",
 		      "dclkin.0", "dclkin.1", "dclkin.2", "dclkin.3";
 };
-
-&ehci2 {
-	status = "okay";
-};
-
-&ohci2 {
-	status = "okay";
-};
-
-&pfc {
-	usb2_pins: usb2 {
-		groups = "usb2";
-		function = "usb2";
-	};
-};
-
-&usb2_phy2 {
-	pinctrl-0 = <&usb2_pins>;
-	pinctrl-names = "default";
-
-	status = "okay";
-};
diff --git a/arch/arm64/boot/dts/renesas/r8a77951-salvator-xs.dts b/arch/arm64/boot/dts/renesas/r8a77951-salvator-xs.dts
index e9d421d7fcbbc404..bdea6f84ddb5cccd 100644
--- a/arch/arm64/boot/dts/renesas/r8a77951-salvator-xs.dts
+++ b/arch/arm64/boot/dts/renesas/r8a77951-salvator-xs.dts
@@ -48,10 +48,6 @@ &du {
 		      "dclkin.0", "dclkin.1", "dclkin.2", "dclkin.3";
 };
 
-&ehci2 {
-	status = "okay";
-};
-
 &ehci3 {
 	dr_mode = "otg";
 	status = "okay";
@@ -62,21 +58,12 @@ &hsusb3 {
 	status = "okay";
 };
 
-&ohci2 {
-	status = "okay";
-};
-
 &ohci3 {
 	dr_mode = "otg";
 	status = "okay";
 };
 
 &pfc {
-	usb2_pins: usb2 {
-		groups = "usb2";
-		function = "usb2";
-	};
-
 	/*
 	 * - On Salvator-X[S], GP6_3[01] are connected to ADV7482 as irq pins
 	 *   (when SW31 is the default setting on Salvator-XS).
@@ -95,13 +82,6 @@ usb2_ch3_pins: usb2_ch3 {
 	};
 };
 
-&usb2_phy2 {
-	pinctrl-0 = <&usb2_pins>;
-	pinctrl-names = "default";
-
-	status = "okay";
-};
-
 &usb2_phy3 {
 	pinctrl-0 = <&usb2_ch3_pins>;
 	pinctrl-names = "default";
diff --git a/arch/arm64/boot/dts/renesas/r8a77951.dtsi b/arch/arm64/boot/dts/renesas/r8a77951.dtsi
index 4602ebf5d28945d2..fd3180ddc7bff452 100644
--- a/arch/arm64/boot/dts/renesas/r8a77951.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a77951.dtsi
@@ -13,6 +13,7 @@
 
 #define SOC_HAS_HDMI1
 #define SOC_HAS_SATA
+#define SOC_HAS_USB2_CH2
 
 / {
 	compatible = "renesas,r8a7795";
diff --git a/arch/arm64/boot/dts/renesas/salvator-common.dtsi b/arch/arm64/boot/dts/renesas/salvator-common.dtsi
index 11bca200cf3d8ad5..de959f28ad6ce27b 100644
--- a/arch/arm64/boot/dts/renesas/salvator-common.dtsi
+++ b/arch/arm64/boot/dts/renesas/salvator-common.dtsi
@@ -1029,3 +1029,27 @@ &xhci0 {
 
 	status = "okay";
 };
+
+#ifdef SOC_HAS_USB2_CH2
+&ehci2 {
+	status = "okay";
+};
+
+&ohci2 {
+	status = "okay";
+};
+
+&pfc {
+	usb2_pins: usb2 {
+		groups = "usb2";
+		function = "usb2";
+	};
+};
+
+&usb2_phy2 {
+	pinctrl-0 = <&usb2_pins>;
+	pinctrl-names = "default";
+
+	status = "okay";
+};
+#endif /* SOC_HAS_USB2_CH2 */
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 4/4] arm64: dts: renesas: salvator-xs: Factor out USB ch3 parts
  2021-06-07 17:39 [PATCH 0/4] arm64: dts: renesas: salvator-x(s): Factor out common optional parts Geert Uytterhoeven
                   ` (2 preceding siblings ...)
  2021-06-07 17:39 ` [PATCH 3/4] arm64: dts: renesas: salvator-x(s): Factor out USB ch2 parts Geert Uytterhoeven
@ 2021-06-07 17:39 ` Geert Uytterhoeven
  2021-06-08 11:17 ` [PATCH 0/4] arm64: dts: renesas: salvator-x(s): Factor out common optional parts Niklas Söderlund
  4 siblings, 0 replies; 6+ messages in thread
From: Geert Uytterhoeven @ 2021-06-07 17:39 UTC (permalink / raw)
  To: Magnus Damm; +Cc: linux-renesas-soc, linux-arm-kernel, Geert Uytterhoeven

Move the parts related to the fourth USB2 interface on Salvator-XS
boards to salvator-xs.dtsi, to avoid future duplication of board
descriptions.

As this interface is not present on all SoCs that can be found on
Salvator-X(S), but only on R-Car H3 ES2.0+, its descriptions are
protected by the preprocessor symbol SOC_HAS_USB2_CH3, defined in
r8a77951.dtsi, and undefined in r8a77950.dtsi.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
 arch/arm64/boot/dts/renesas/r8a77950.dtsi     |  2 +
 .../boot/dts/renesas/r8a77951-salvator-xs.dts | 41 ------------------
 arch/arm64/boot/dts/renesas/r8a77951.dtsi     |  1 +
 arch/arm64/boot/dts/renesas/salvator-xs.dtsi  | 43 +++++++++++++++++++
 4 files changed, 46 insertions(+), 41 deletions(-)

diff --git a/arch/arm64/boot/dts/renesas/r8a77950.dtsi b/arch/arm64/boot/dts/renesas/r8a77950.dtsi
index b643d3079db1e7aa..57eb88177e92880e 100644
--- a/arch/arm64/boot/dts/renesas/r8a77950.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a77950.dtsi
@@ -7,6 +7,8 @@
 
 #include "r8a77951.dtsi"
 
+#undef SOC_HAS_USB2_CH3
+
 &audma0 {
 	iommus = <&ipmmu_mp1 0>, <&ipmmu_mp1 1>,
 	       <&ipmmu_mp1 2>, <&ipmmu_mp1 3>,
diff --git a/arch/arm64/boot/dts/renesas/r8a77951-salvator-xs.dts b/arch/arm64/boot/dts/renesas/r8a77951-salvator-xs.dts
index bdea6f84ddb5cccd..7f9fa842f01e59f0 100644
--- a/arch/arm64/boot/dts/renesas/r8a77951-salvator-xs.dts
+++ b/arch/arm64/boot/dts/renesas/r8a77951-salvator-xs.dts
@@ -47,44 +47,3 @@ &du {
 	clock-names = "du.0", "du.1", "du.2", "du.3",
 		      "dclkin.0", "dclkin.1", "dclkin.2", "dclkin.3";
 };
-
-&ehci3 {
-	dr_mode = "otg";
-	status = "okay";
-};
-
-&hsusb3 {
-	dr_mode = "otg";
-	status = "okay";
-};
-
-&ohci3 {
-	dr_mode = "otg";
-	status = "okay";
-};
-
-&pfc {
-	/*
-	 * - On Salvator-X[S], GP6_3[01] are connected to ADV7482 as irq pins
-	 *   (when SW31 is the default setting on Salvator-XS).
-	 * - If SW31 is the default setting, you cannot use USB2.0 ch3 on
-	 *   r8a77951 with Salvator-XS.
-	 *   Hence the SW31 setting must be changed like 2) below.
-	 *   1) Default setting of SW31: ON-ON-OFF-OFF-OFF-OFF:
-	 *	- Connect GP6_3[01] to ADV7842.
-	 *   2) Changed setting of SW31: OFF-OFF-ON-ON-ON-ON:
-	 *	- Connect GP6_3[01] to BD082065 (USB2.0 ch3's host power).
-	 *	- Connect GP6_{04,21} to ADV7842.
-	 */
-	usb2_ch3_pins: usb2_ch3 {
-		groups = "usb2_ch3";
-		function = "usb2_ch3";
-	};
-};
-
-&usb2_phy3 {
-	pinctrl-0 = <&usb2_ch3_pins>;
-	pinctrl-names = "default";
-
-	status = "okay";
-};
diff --git a/arch/arm64/boot/dts/renesas/r8a77951.dtsi b/arch/arm64/boot/dts/renesas/r8a77951.dtsi
index fd3180ddc7bff452..1768a3e6bb8da6a1 100644
--- a/arch/arm64/boot/dts/renesas/r8a77951.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a77951.dtsi
@@ -14,6 +14,7 @@
 #define SOC_HAS_HDMI1
 #define SOC_HAS_SATA
 #define SOC_HAS_USB2_CH2
+#define SOC_HAS_USB2_CH3
 
 / {
 	compatible = "renesas,r8a7795";
diff --git a/arch/arm64/boot/dts/renesas/salvator-xs.dtsi b/arch/arm64/boot/dts/renesas/salvator-xs.dtsi
index 3f7f6cf4a3338125..08b925624e129205 100644
--- a/arch/arm64/boot/dts/renesas/salvator-xs.dtsi
+++ b/arch/arm64/boot/dts/renesas/salvator-xs.dtsi
@@ -40,3 +40,46 @@ pcie-sata-switch-hog {
 
 /* SW12-7 must be set 'Off' (MD12 set to 1) which is not the default! */
 #endif /* SOC_HAS_SATA */
+
+#ifdef SOC_HAS_USB2_CH3
+&ehci3 {
+	dr_mode = "otg";
+	status = "okay";
+};
+
+&hsusb3 {
+	dr_mode = "otg";
+	status = "okay";
+};
+
+&ohci3 {
+	dr_mode = "otg";
+	status = "okay";
+};
+
+&pfc {
+	/*
+	 * - On Salvator-X[S], GP6_3[01] are connected to ADV7482 as irq pins
+	 *   (when SW31 is the default setting on Salvator-XS).
+	 * - If SW31 is the default setting, you cannot use USB2.0 ch3 on
+	 *   r8a77951 with Salvator-XS.
+	 *   Hence the SW31 setting must be changed like 2) below.
+	 *   1) Default setting of SW31: ON-ON-OFF-OFF-OFF-OFF:
+	 *	- Connect GP6_3[01] to ADV7842.
+	 *   2) Changed setting of SW31: OFF-OFF-ON-ON-ON-ON:
+	 *	- Connect GP6_3[01] to BD082065 (USB2.0 ch3's host power).
+	 *	- Connect GP6_{04,21} to ADV7842.
+	 */
+	usb2_ch3_pins: usb2_ch3 {
+		groups = "usb2_ch3";
+		function = "usb2_ch3";
+	};
+};
+
+&usb2_phy3 {
+	pinctrl-0 = <&usb2_ch3_pins>;
+	pinctrl-names = "default";
+
+	status = "okay";
+};
+#endif /* SOC_HAS_USB2_CH3 */
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 0/4] arm64: dts: renesas: salvator-x(s): Factor out common optional parts
  2021-06-07 17:39 [PATCH 0/4] arm64: dts: renesas: salvator-x(s): Factor out common optional parts Geert Uytterhoeven
                   ` (3 preceding siblings ...)
  2021-06-07 17:39 ` [PATCH 4/4] arm64: dts: renesas: salvator-xs: Factor out USB ch3 parts Geert Uytterhoeven
@ 2021-06-08 11:17 ` Niklas Söderlund
  4 siblings, 0 replies; 6+ messages in thread
From: Niklas Söderlund @ 2021-06-08 11:17 UTC (permalink / raw)
  To: Geert Uytterhoeven; +Cc: Magnus Damm, linux-renesas-soc, linux-arm-kernel

Hi Geert,

Thanks for your work.

On 2021-06-07 19:39:01 +0200, Geert Uytterhoeven wrote:
> 	Hi all,
> 
> The Renesas Salvator-X(S) family of boards are available with different
> SiP options (R-Car H3 ES1.x, H3 ES2.0+, M3-W, M3-W+, M3-N).  To reduce
> duplication of board descriptions, the parts common to all SoC and board
> combinations are already factored out into salvator-common.dtsi,
> salvator-x.dtsi, and salvator-xs.dtsi.  Still, there are a few board
> features that are not common to all combos, as the corresponding support
> is not present on all SoCs.
> 
> Hence this patch series moves out support for the second HDMI channel,
> the SATA interface, and the third and fourth USB channels to
> salvator-common.dtsi and/or salvator-xs.dtsi.  As these are not present
> on all SoCs, its descriptions are protected by SOC_HAS_* preprocessor
> symbols, defined in SoC-specific .dtsi files.
> 
> This series causes no changes in the generated DTB, except for the
> enablement of the SATA device node on Salvator-X board with an R-Car
> M3-N SiP, cfr. the comments in [PATCH 2/4].
> 
> Thanks for your comments!

With a bit more of logic in dts files we might get back to board files 
;-) For the whole series,

Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>

> 
> Geert Uytterhoeven (4):
>   arm64: dts: renesas: salvator-x(s): Factor out HDMI1 parts
>   arm64: dts: renesas: salvator-x(s): Factor out SATA parts
>   arm64: dts: renesas: salvator-x(s): Factor out USB ch2 parts
>   arm64: dts: renesas: salvator-xs: Factor out USB ch3 parts
> 
>  .../boot/dts/renesas/r8a77950-salvator-x.dts  |  73 -----------
>  arch/arm64/boot/dts/renesas/r8a77950.dtsi     |   2 +
>  .../boot/dts/renesas/r8a77951-salvator-x.dts  |  73 -----------
>  .../boot/dts/renesas/r8a77951-salvator-xs.dts | 122 ------------------
>  arch/arm64/boot/dts/renesas/r8a77951.dtsi     |   5 +
>  .../boot/dts/renesas/r8a77965-salvator-xs.dts |  14 --
>  arch/arm64/boot/dts/renesas/r8a77965.dtsi     |   2 +
>  .../boot/dts/renesas/salvator-common.dtsi     |  76 ++++++++++-
>  arch/arm64/boot/dts/renesas/salvator-xs.dtsi  |  56 ++++++++
>  9 files changed, 140 insertions(+), 283 deletions(-)
> 
> -- 
> 2.25.1
> 
> Gr{oetje,eeting}s,
> 
> 						Geert
> 
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
> 
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
> 							    -- Linus Torvalds

-- 
Regards,
Niklas Söderlund

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-06-08 11:26 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-07 17:39 [PATCH 0/4] arm64: dts: renesas: salvator-x(s): Factor out common optional parts Geert Uytterhoeven
2021-06-07 17:39 ` [PATCH 1/4] arm64: dts: renesas: salvator-x(s): Factor out HDMI1 parts Geert Uytterhoeven
2021-06-07 17:39 ` [PATCH 2/4] arm64: dts: renesas: salvator-x(s): Factor out SATA parts Geert Uytterhoeven
2021-06-07 17:39 ` [PATCH 3/4] arm64: dts: renesas: salvator-x(s): Factor out USB ch2 parts Geert Uytterhoeven
2021-06-07 17:39 ` [PATCH 4/4] arm64: dts: renesas: salvator-xs: Factor out USB ch3 parts Geert Uytterhoeven
2021-06-08 11:17 ` [PATCH 0/4] arm64: dts: renesas: salvator-x(s): Factor out common optional parts Niklas Söderlund

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).