Skip to contentSkip to conversation

arm64: dts: r8a7795: Add support for R-Car H3 ES2.0

PATCH Superseded Geert Uytterhoeven 6 participants 16 messages Mar 24, 2017 – Apr 20, 2017 1 message not in the archive

Subsystems (2)

v2 of 5 Superseded Latest is v5 →

lore
Share & tools
lore

Geert Uytterhoeven

author maintainer
#0 lore raw

v2 cover arm64: dts: r8a7795: Add support for R-Car H3 ES2.0

Hi all,

This patch series adds preliminary support for Renesas Salvator-X development boards equipped with revision ES2.0 of the R-Car H3 Soc.

- Patch 1 adds support for the R-Car H3 ES2.0 Soc,
While this patch is safe as-is, as it doesn't affect any existing setups, it's probably a bit premature to apply it.
- Patch 2 adds support for Salvator-X boards with R-Car H3 ES2.0. This patch does affect existing development setups, as it changes the name of the DTB for Salvator-X boards equipped with ES1.x SoCs. Given most developers have access to ES1.x only, this patch must not be applied yet.

Note that for now, it is assumed that all H3ULCB boards are equipped with R-Car H3 ES1.x.

For changes compared to v1 (which was not posted), please refer to the individual patches.

Dependencies:
- renesas-devel-20170324-v4.11-rc3,
- [PATCH v2 0/4] clk: renesas: Add support for R-Car H3 ES2.0,
- [PATCH v2 0/4] pinctrl: sh-pfc: Add support for R-Car H3 ES2.0,
- [PATCH 0/3] soc: renesas: rcar-sysc: Add support for R-Car H3 ES2.0.

To do:
- Reduce duplication by sharing Salvator-X board description.

For testers, this series is available in the topic/r8a7795es2-dt-v2 branch of my renesas-drivers git repository at
git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers.git.

An integration branch (incl. all dependencies) for testing is provided as topic/r8a7795es2-integration. I plan to update this branch when any of the dependencies are updated.

This has been tested on Salvator-X with R-Car H3 ES1.0 and ES2.0 SoCs.

Thanks for your comments!

Geert Uytterhoeven (2):
arm64: dts: r8a7795: Add support for R-Car H3 ES2.0
arm64: dts: r8a7795: salvator-x: Add support for R-Car H3 ES2.0

 arch/arm64/boot/dts/renesas/Makefile               |  1 +
 ...5-salvator-x.dts => r8a7795-es1-salvator-x.dts} |  4 +-
 arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi       | 83 ++++++++++++++++++++++
 arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts     |  4 +-
 arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts |  2 +-
 arch/arm64/boot/dts/renesas/r8a7795.dtsi           | 70 +-----------------
 6 files changed, 90 insertions(+), 74 deletions(-)
 copy arch/arm64/boot/dts/renesas/{r8a7795-salvator-x.dts => r8a7795-es1-salvator-x.dts} (99%)
 create mode 100644 arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi
Signature · 12 lines
2.7.4

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at 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

A message that is not in the archive (sent off-list or not yet received): 1490362665-4422-1-git-send-email-geert+renesas-gXvu3+zWzMSzQB+pC5nmwQ@public.gmane.org

#2 lore raw

PATCH v2 1/2 arm64: dts: r8a7795: Add support for R-Car H3 ES2.0

Update r8a7795.dtsi so it corresponds to R-Car H3 ES2.0 or later:
- The following devices no longer exist on ES2.0, and are thus removed:

    fcpf2, fcpvd3, fcpvi2, fdp1-2, usb3-if1, vspd3, vspi2.

- The DU <-> VSPD topology is different on ES2.0, hence remove the "vsps" property from the DU node until the driver can handle this.

Move support for the ES1.x revision of the R-Car H3 SoC into a separate file. To avoid duplication, r8a7795-es1.dtsi includes r8a7795.dtsi, add adds/removes/overrides device nodes and properties where needed.

Switch r8a7795-salvator-x.dts and r8a7795-h3ulcb.dts from r8a7795.dtsi to r8a7795-es1.dtsi to preserve compatibility.

---
While currently r8a7795-es1.dtsi only adds device nodes, removal of devices nodes and properties can be implemented using the /delete-node/ and /delete-property/ keywords, as shown below:

	&soc {
		/delete-node/ <name>@<addr>;
	};

	&<name> {
		/delete-property/ <prop>;
	};

v2:
- Use a separate file for ES1.x instead of for ES2.0, so r8a7795.dtsi always corresponds to the latest SoC revision,
- Add a dash between SoC part number and revision, for compatibility with the BSP,
- Enhance the hardware description from basic support to everything already supported on ES1.x (except for DU due VSP),
- Let r8a7795-es1.dtsi include r8a7795.dtsi.

---
 arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi       | 83 ++++++++++++++++++++++
 arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts     |  4 +-
 arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts |  4 +-
 arch/arm64/boot/dts/renesas/r8a7795.dtsi           | 70 +-----------------
 4 files changed, 88 insertions(+), 73 deletions(-)
 create mode 100644 arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi
arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi new file +83 -0
new file mode 100644
index 0000000000000000..f1646334899f08ce
@@ -0,0 +1,83 @@
+/*
+ * Device Tree Source for the r8a7795 ES1.x SoC
+ *
+ * Copyright (C) 2015 Renesas Electronics Corp.
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2.  This program is licensed "as is" without any warranty of any
+ * kind, whether express or implied.
+ */
+
+#include "r8a7795.dtsi"
+
+&soc {
+	xhci1: usb@ee0400000 {
+		compatible = "renesas,xhci-r8a7795", "renesas,rcar-gen3-xhci";
+		reg = <0 0xee040000 0 0xc00>;
+		interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
+		clocks = <&cpg CPG_MOD 327>;
+		power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
+		resets = <&cpg 327>;
+		status = "disabled";
+	};
+
+	fcpf2: fcp@fe952000 {
+		compatible = "renesas,fcpf";
+		reg = <0 0xfe952000 0 0x200>;
+		clocks = <&cpg CPG_MOD 613>;
+		power-domains = <&sysc R8A7795_PD_A3VP>;
+		resets = <&cpg 613>;
+	};
+
+	vspi2: vsp@fe9c0000 {
+		compatible = "renesas,vsp2";
+		reg = <0 0xfe9c0000 0 0x8000>;
+		interrupts = <GIC_SPI 446 IRQ_TYPE_LEVEL_HIGH>;
+		clocks = <&cpg CPG_MOD 629>;
+		power-domains = <&sysc R8A7795_PD_A3VP>;
+		resets = <&cpg 629>;
+
+		renesas,fcp = <&fcpvi2>;
+	};
+
+	fcpvi2: fcp@fe9cf000 {
+		compatible = "renesas,fcpv";
+		reg = <0 0xfe9cf000 0 0x200>;
+		clocks = <&cpg CPG_MOD 609>;
+		power-domains = <&sysc R8A7795_PD_A3VP>;
+		resets = <&cpg 609>;
+	};
+
+	vspd3: vsp@fea38000 {
+		compatible = "renesas,vsp2";
+		reg = <0 0xfea38000 0 0x4000>;
+		interrupts = <GIC_SPI 469 IRQ_TYPE_LEVEL_HIGH>;
+		clocks = <&cpg CPG_MOD 620>;
+		power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
+		resets = <&cpg 620>;
+
+		renesas,fcp = <&fcpvd3>;
+	};
+
+	fcpvd3: fcp@fea3f000 {
+		compatible = "renesas,fcpv";
+		reg = <0 0xfea3f000 0 0x200>;
+		clocks = <&cpg CPG_MOD 600>;
+		power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
+		resets = <&cpg 600>;
+	};
+
+	fdp1@fe948000 {
+		compatible = "renesas,fdp1";
+		reg = <0 0xfe948000 0 0x2400>;
+		interrupts = <GIC_SPI 264 IRQ_TYPE_LEVEL_HIGH>;
+		clocks = <&cpg CPG_MOD 117>;
+		power-domains = <&sysc R8A7795_PD_A3VP>;
+		resets = <&cpg 117>;
+		renesas,fcp = <&fcpf2>;
+	};
+};
+
+&du {
+	vsps = <&vspd0 &vspd1 &vspd2 &vspd3>;
+};
arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts +2 -2
index ab352159de6572c9..60a1f4356b4b15c7 100644
@@ -10,12 +10,12 @@
  */
 
 /dts-v1/;
-#include "r8a7795.dtsi"
+#include "r8a7795-es1.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
 
 / {
-	model = "Renesas H3ULCB board based on r8a7795";
+	model = "Renesas H3ULCB board based on r8a7795 ES1.x";
 	compatible = "renesas,h3ulcb", "renesas,r8a7795";
 
 	aliases {
arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts +2 -2
index f25241921067dcef..7758b479dd98d2e9 100644
@@ -32,11 +32,11 @@
  */
 
 /dts-v1/;
-#include "r8a7795.dtsi"
+#include "r8a7795-es1.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 
 / {
-	model = "Renesas Salvator-X board based on r8a7795";
+	model = "Renesas Salvator-X board based on r8a7795 ES1.x";
 	compatible = "renesas,salvator-x", "renesas,r8a7795";
 
 	aliases {
arch/arm64/boot/dts/renesas/r8a7795.dtsi +1 -69

112 lines not on this page · raw message

Signature · 6 lines
2.7.4

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
#3 lore raw

PATCH v2 1/2 arm64: dts: r8a7795: Add support for R-Car H3 ES2.0

Hi Geert,

Thank you for the patch.

Quoted 5 lines · On Friday 24 Mar 2017 14:37:44 Geert Uytterhoeven wrote:

Update r8a7795.dtsi so it corresponds to R-Car H3 ES2.0 or later:
- The following devices no longer exist on ES2.0, and are thus removed:

    fcpf2, fcpvd3, fcpvi2, fdp1-2, usb3-if1, vspd3, vspi2.

- The DU <-> VSPD topology is different on ES2.0, hence remove the "vsps" property from the DU node until the driver can handle this.

I think I'll need a different compatible string between ES1.x and ES2 for the DU. It could make sense to move the whole DU node to *-es1.dtsi. We can decide about that later when I'll have a DU driver prototype ready.

Quoted 181 lines

Move support for the ES1.x revision of the R-Car H3 SoC into a separate file. To avoid duplication, r8a7795-es1.dtsi includes r8a7795.dtsi, add adds/removes/overrides device nodes and properties where needed.

Switch r8a7795-salvator-x.dts and r8a7795-h3ulcb.dts from r8a7795.dtsi to r8a7795-es1.dtsi to preserve compatibility.

---
While currently r8a7795-es1.dtsi only adds device nodes, removal of devices nodes and properties can be implemented using the /delete-node/ and /delete-property/ keywords, as shown below:

	&soc {
		/delete-node/ <name>@<addr>;
	};

	&<name> {
		/delete-property/ <prop>;
	};

v2:
- Use a separate file for ES1.x instead of for ES2.0, so r8a7795.dtsi always corresponds to the latest SoC revision,
- Add a dash between SoC part number and revision, for compatibility with the BSP,
- Enhance the hardware description from basic support to everything already supported on ES1.x (except for DU due VSP),
- Let r8a7795-es1.dtsi include r8a7795.dtsi.

---
 arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi       | 83 +++++++++++++++++++
 arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts     |  4 +-
 arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts |  4 +-
 arch/arm64/boot/dts/renesas/r8a7795.dtsi           | 70 +-----------------
 4 files changed, 88 insertions(+), 73 deletions(-)
 create mode 100644 arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi
(quoted diff) +0 -0

b/arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi new file mode 100644 index 0000000000000000..f1646334899f08ce

arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi new file +83 -0
@@ -0,0 +1,83 @@
+/*
+ * Device Tree Source for the r8a7795 ES1.x SoC
+ *
+ * Copyright (C) 2015 Renesas Electronics Corp.
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2.  This program is licensed "as is" without any warranty of any
+ * kind, whether express or implied.
+ */
+
+#include "r8a7795.dtsi"
+
+&soc {
+	xhci1: usb@ee0400000 {
+		compatible = "renesas,xhci-r8a7795", "renesas,rcar-gen3-xhci";
+		reg = <0 0xee040000 0 0xc00>;
+		interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
+		clocks = <&cpg CPG_MOD 327>;
+		power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
+		resets = <&cpg 327>;
+		status = "disabled";
+	};
+
+	fcpf2: fcp@fe952000 {
+		compatible = "renesas,fcpf";
+		reg = <0 0xfe952000 0 0x200>;
+		clocks = <&cpg CPG_MOD 613>;
+		power-domains = <&sysc R8A7795_PD_A3VP>;
+		resets = <&cpg 613>;
+	};
+
+	vspi2: vsp@fe9c0000 {
+		compatible = "renesas,vsp2";
+		reg = <0 0xfe9c0000 0 0x8000>;
+		interrupts = <GIC_SPI 446 IRQ_TYPE_LEVEL_HIGH>;
+		clocks = <&cpg CPG_MOD 629>;
+		power-domains = <&sysc R8A7795_PD_A3VP>;
+		resets = <&cpg 629>;
+
+		renesas,fcp = <&fcpvi2>;
+	};
+
+	fcpvi2: fcp@fe9cf000 {
+		compatible = "renesas,fcpv";
+		reg = <0 0xfe9cf000 0 0x200>;
+		clocks = <&cpg CPG_MOD 609>;
+		power-domains = <&sysc R8A7795_PD_A3VP>;
+		resets = <&cpg 609>;
+	};
+
+	vspd3: vsp@fea38000 {
+		compatible = "renesas,vsp2";
+		reg = <0 0xfea38000 0 0x4000>;
+		interrupts = <GIC_SPI 469 IRQ_TYPE_LEVEL_HIGH>;
+		clocks = <&cpg CPG_MOD 620>;
+		power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
+		resets = <&cpg 620>;
+
+		renesas,fcp = <&fcpvd3>;
+	};
+
+	fcpvd3: fcp@fea3f000 {
+		compatible = "renesas,fcpv";
+		reg = <0 0xfea3f000 0 0x200>;
+		clocks = <&cpg CPG_MOD 600>;
+		power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
+		resets = <&cpg 600>;
+	};
+
+	fdp1@fe948000 {
+		compatible = "renesas,fdp1";
+		reg = <0 0xfe948000 0 0x2400>;
+		interrupts = <GIC_SPI 264 IRQ_TYPE_LEVEL_HIGH>;
+		clocks = <&cpg CPG_MOD 117>;
+		power-domains = <&sysc R8A7795_PD_A3VP>;
+		resets = <&cpg 117>;
+		renesas,fcp = <&fcpf2>;
+	};
+};
+
+&du {
+	vsps = <&vspd0 &vspd1 &vspd2 &vspd3>;
+};
(quoted diff) +0 -0

b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts index ab352159de6572c9..60a1f4356b4b15c7 100644

arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts +2 -2
@@ -10,12 +10,12 @@
  */
 
 /dts-v1/;
-#include "r8a7795.dtsi"
+#include "r8a7795-es1.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
 
 / {
-	model = "Renesas H3ULCB board based on r8a7795";
+	model = "Renesas H3ULCB board based on r8a7795 ES1.x";
 	compatible = "renesas,h3ulcb", "renesas,r8a7795";
 
 	aliases {
(quoted diff) +0 -0

b/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts index f25241921067dcef..7758b479dd98d2e9 100644

arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts +2 -2
@@ -32,11 +32,11 @@
  */
 
 /dts-v1/;
-#include "r8a7795.dtsi"
+#include "r8a7795-es1.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 
 / {
-	model = "Renesas Salvator-X board based on r8a7795";
+	model = "Renesas Salvator-X board based on r8a7795 ES1.x";
 	compatible = "renesas,salvator-x", "renesas,r8a7795";
 
 	aliases {
(quoted diff) +0 -0

b/arch/arm64/boot/dts/renesas/r8a7795.dtsi index
e99d6443b3e493a4..e1caa4e14593a299 100644

arch/arm64/boot/dts/renesas/r8a7795.dtsi +1 -1
@@ -182,7 +182,7 @@
 		clock-frequency = <0>;
 	};
 
-	soc {
+	soc: soc {
 		compatible = "simple-bus";
 		interrupt-parent = <&gic>;
 

arch/arm64/boot/dts/renesas/r8a7795.dtsi line 1278

Quoted 5 lines
arch/arm64/boot/dts/renesas/r8a7795.dtsi +0 -2
@@ -1274,16 +1274,6 @@
 			status = "disabled";
 		};
 
-		xhci1: usb@ee0400000 {
-			compatible = "renesas,xhci-r8a7795", "renesas,rcar-

gen3-xhci";

Quoted 96 lines
arch/arm64/boot/dts/renesas/r8a7795.dtsi +0 -64
-			reg = <0 0xee040000 0 0xc00>;
-			interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
-			clocks = <&cpg CPG_MOD 327>;
-			power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
-			resets = <&cpg 327>;
-			status = "disabled";
-		};
-
 		usb_dmac0: dma-controller@e65a0000 {
 			compatible = "renesas,r8a7795-usb-dmac",
 				     "renesas,usb-dmac";
@@ -1568,14 +1558,6 @@
 			resets = <&cpg 614>;
 		};
 
-		fcpf2: fcp@fe952000 {
-			compatible = "renesas,fcpf";
-			reg = <0 0xfe952000 0 0x200>;
-			clocks = <&cpg CPG_MOD 613>;
-			power-domains = <&sysc R8A7795_PD_A3VP>;
-			resets = <&cpg 613>;
-		};
-
 		vspbd: vsp@fe960000 {
 			compatible = "renesas,vsp2";
 			reg = <0 0xfe960000 0 0x8000>;
@@ -1633,25 +1615,6 @@
 			resets = <&cpg 610>;
 		};
 
-		vspi2: vsp@fe9c0000 {
-			compatible = "renesas,vsp2";
-			reg = <0 0xfe9c0000 0 0x8000>;
-			interrupts = <GIC_SPI 446 IRQ_TYPE_LEVEL_HIGH>;
-			clocks = <&cpg CPG_MOD 629>;
-			power-domains = <&sysc R8A7795_PD_A3VP>;
-			resets = <&cpg 629>;
-
-			renesas,fcp = <&fcpvi2>;
-		};
-
-		fcpvi2: fcp@fe9cf000 {
-			compatible = "renesas,fcpv";
-			reg = <0 0xfe9cf000 0 0x200>;
-			clocks = <&cpg CPG_MOD 609>;
-			power-domains = <&sysc R8A7795_PD_A3VP>;
-			resets = <&cpg 609>;
-		};
-
 		vspd0: vsp@fea20000 {
 			compatible = "renesas,vsp2";
 			reg = <0 0xfea20000 0 0x4000>;
@@ -1709,25 +1672,6 @@
 			resets = <&cpg 601>;
 		};
 
-		vspd3: vsp@fea38000 {
-			compatible = "renesas,vsp2";
-			reg = <0 0xfea38000 0 0x4000>;
-			interrupts = <GIC_SPI 469 IRQ_TYPE_LEVEL_HIGH>;
-			clocks = <&cpg CPG_MOD 620>;
-			power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
-			resets = <&cpg 620>;
-
-			renesas,fcp = <&fcpvd3>;
-		};
-
-		fcpvd3: fcp@fea3f000 {
-			compatible = "renesas,fcpv";
-			reg = <0 0xfea3f000 0 0x200>;
-			clocks = <&cpg CPG_MOD 600>;
-			power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
-			resets = <&cpg 600>;
-		};
-
 		fdp1@fe940000 {
 			compatible = "renesas,fdp1";
 			reg = <0 0xfe940000 0 0x2400>;
@@ -1748,16 +1692,6 @@
 			renesas,fcp = <&fcpf1>;
 		};
 
-		fdp1@fe948000 {
-			compatible = "renesas,fdp1";
-			reg = <0 0xfe948000 0 0x2400>;
-			interrupts = <GIC_SPI 264 IRQ_TYPE_LEVEL_HIGH>;
-			clocks = <&cpg CPG_MOD 117>;
-			power-domains = <&sysc R8A7795_PD_A3VP>;
-			resets = <&cpg 117>;
-			renesas,fcp = <&fcpf2>;
-		};
-
 		du: display@feb00000 {
 			compatible = "renesas,du-r8a7795";
 			reg = <0 0xfeb00000 0 0x80000>,

arch/arm64/boot/dts/renesas/r8a7795.dtsi line 1709

Quoted 1 line
arch/arm64/boot/dts/renesas/r8a7795.dtsi +0 -0
@@ -1775,8 +1709,6 @@
 			clock-names = "du.0", "du.1", "du.2", "du.3", 

"lvds.0";

Quoted 7 lines
arch/arm64/boot/dts/renesas/r8a7795.dtsi +0 -2
 			status = "disabled";
 
-			vsps = <&vspd0 &vspd1 &vspd2 &vspd3>;
-
 			ports {
 				#address-cells = <1>;
 				#size-cells = <0>;
Signature · 3 lines
Regards,

Laurent Pinchart
#4 lore raw

PATCH v2 1/2 arm64: dts: r8a7795: Add support for R-Car H3 ES2.0

Quoted 11 lines · Laurent Pinchart

Hi Geert,

Thank you for the patch.

Quoted 5 lines · On Friday 24 Mar 2017 14:37:44 Geert Uytterhoeven wrote:

Update r8a7795.dtsi so it corresponds to R-Car H3 ES2.0 or later:
- The following devices no longer exist on ES2.0, and are thus removed:

    fcpf2, fcpvd3, fcpvi2, fdp1-2, usb3-if1, vspd3, vspi2.

- The DU <-> VSPD topology is different on ES2.0, hence remove the "vsps" property from the DU node until the driver can handle this.

Quoted 3 lines

I think I'll need a different compatible string between ES1.x and ES2 for the DU. It could make sense to move the whole DU node to *-es1.dtsi. We can decide about that later when I'll have a DU driver prototype ready.

That makes sense to me.

Geert, will you respin this?

#5 lore raw

PATCH v2 1/2 arm64: dts: r8a7795: Add support for R-Car H3 ES2.0

Hi Simon,

Quoted 8 lines · Simon Horman
Quoted 7 lines · Laurent Pinchart
Quoted 5 lines · On Friday 24 Mar 2017 14:37:44 Geert Uytterhoeven wrote:

Update r8a7795.dtsi so it corresponds to R-Car H3 ES2.0 or later:
- The following devices no longer exist on ES2.0, and are thus removed:

    fcpf2, fcpvd3, fcpvi2, fdp1-2, usb3-if1, vspd3, vspi2.

- The DU <-> VSPD topology is different on ES2.0, hence remove the "vsps" property from the DU node until the driver can handle this.

Quoted 7 lines
Quoted 3 lines

I think I'll need a different compatible string between ES1.x and ES2 for the DU. It could make sense to move the whole DU node to *-es1.dtsi. We can decide about that later when I'll have a DU driver prototype ready.

That makes sense to me.

Geert, will you respin this?

Sure. The DTS parts are definitely not v4.12 material.
- For ES2.0, they depend on clk/pfc/rcar-sysc updates.
- For ES1.x, I don't want to break people's setup (scripts copying

    r8a7795-salvator-x.dtb) prematurely.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at 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

#6 lore raw

PATCH v2 1/2 arm64: dts: r8a7795: Add support for R-Car H3 ES2.0

Quoted 15 lines · Geert Uytterhoeven

Hi Simon,

Quoted 12 lines · Simon Horman
Quoted 10 lines · Laurent Pinchart
Quoted 5 lines · On Friday 24 Mar 2017 14:37:44 Geert Uytterhoeven wrote:

Update r8a7795.dtsi so it corresponds to R-Car H3 ES2.0 or later:
- The following devices no longer exist on ES2.0, and are thus removed:

    fcpf2, fcpvd3, fcpvi2, fdp1-2, usb3-if1, vspd3, vspi2.

- The DU <-> VSPD topology is different on ES2.0, hence remove the "vsps" property from the DU node until the driver can handle this.

I think I'll need a different compatible string between ES1.x and ES2 for the DU. It could make sense to move the whole DU node to *-es1.dtsi. We can decide about that later when I'll have a DU driver prototype ready.

Quoted 8 lines
Quoted 3 lines

That makes sense to me.

Geert, will you respin this?

Sure. The DTS parts are definitely not v4.12 material.
- For ES2.0, they depend on clk/pfc/rcar-sysc updates.
- For ES1.x, I don't want to break people's setup (scripts copying

    r8a7795-salvator-x.dtb) prematurely.

Ok.

#7 lore raw

PATCH v2 1/2 arm64: dts: r8a7795: Add support for R-Car H3 ES2.0

In reply to Laurent Pinchart

Hi Laurent,

Quoted 10 lines · Laurent Pinchart
Quoted 5 lines · On Friday 24 Mar 2017 14:37:44 Geert Uytterhoeven wrote:

Update r8a7795.dtsi so it corresponds to R-Car H3 ES2.0 or later:
- The following devices no longer exist on ES2.0, and are thus removed:

    fcpf2, fcpvd3, fcpvi2, fdp1-2, usb3-if1, vspd3, vspi2.

- The DU <-> VSPD topology is different on ES2.0, hence remove the "vsps" property from the DU node until the driver can handle this.

I think I'll need a different compatible string between ES1.x and ES2 for the DU. It could make sense to move the whole DU node to *-es1.dtsi. We can decide about that later when I'll have a DU driver prototype ready.

Why would you need a different compatible string? Can't you use soc_device_match() to handle ES1.x SoCs?

The different DU <-> VSPD topology is handled through the vsps property in DTS. Are the ports different, too? That can be handled in DTS.

The main reason why I kept the DU node in r8a7795.dtsi is that the board DTS refers to it. Sharing board DTS means there needs to be at least a placeholder node for the DU in r8a7795.dtsi, unless you want to keep on shuffling board overrides around.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at 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

#8 lore raw

PATCH v2 1/2 arm64: dts: r8a7795: Add support for R-Car H3 ES2.0

Hi Geert,

Quoted 13 lines · On Thursday 20 Apr 2017 11:36:59 Geert Uytterhoeven wrote:
Quoted 11 lines · Laurent Pinchart
Quoted 6 lines · On Friday 24 Mar 2017 14:37:44 Geert Uytterhoeven wrote:

Update r8a7795.dtsi so it corresponds to R-Car H3 ES2.0 or later:
- The following devices no longer exist on ES2.0, and are thus removed:

    fcpf2, fcpvd3, fcpvi2, fdp1-2, usb3-if1, vspd3, vspi2.

- The DU <-> VSPD topology is different on ES2.0, hence remove the "vsps" property from the DU node until the driver can handle this.

I think I'll need a different compatible string between ES1.x and ES2 for the DU. It could make sense to move the whole DU node to *-es1.dtsi. We can decide about that later when I'll have a DU driver prototype ready.

Quoted 5 lines

Why would you need a different compatible string? Can't you use soc_device_match() to handle ES1.x SoCs?

The different DU <-> VSPD topology is handled through the vsps property in DTS. Are the ports different, too? That can be handled in DTS.

My point (not expressed clearly) was that, as I'll need a different vsps property, I can as well go for a different compatible string.

Quoted 4 lines

The main reason why I kept the DU node in r8a7795.dtsi is that the board DTS refers to it. Sharing board DTS means there needs to be at least a placeholder node for the DU in r8a7795.dtsi, unless you want to keep on shuffling board overrides around.

As the ports are identical it makes sense to share the same board DTS, I agree with you. We could override the compatible string in r8a7795-es1.dtsi and leave it blank in r8a7795.dtsi for now, as there's no driver support for ES2.0. That's a bit of a workaround as it shouldn't matter to DT whether driver support is available or not. On the other hand, leaving the vsps property out is a workaround too.

The current driver will fail probing if the number of VSPs is different than the number of CRTCs, so I believe you can keep the vsps property in r8a7795.dtsi with 3 VSPS without causing any problem. However, there's no DT bindings for the H3 ES2.0 DU yet, so we would end up merging DT without bindings, which is not good. I think that regardless of how we proceed, keeping the DU node in the ES2.0 .dtsi will be a violation of that policy.

Signature · 3 lines
Regards,

Laurent Pinchart
#9 lore raw

PATCH v2 1/2 arm64: dts: r8a7795: Add support for R-Car H3 ES2.0

Hi Laurent,

Quoted 14 lines · Laurent Pinchart
Quoted 13 lines · On Thursday 20 Apr 2017 11:36:59 Geert Uytterhoeven wrote:
Quoted 11 lines · Laurent Pinchart
Quoted 6 lines · On Friday 24 Mar 2017 14:37:44 Geert Uytterhoeven wrote:

Update r8a7795.dtsi so it corresponds to R-Car H3 ES2.0 or later:
- The following devices no longer exist on ES2.0, and are thus removed:

    fcpf2, fcpvd3, fcpvi2, fdp1-2, usb3-if1, vspd3, vspi2.

- The DU <-> VSPD topology is different on ES2.0, hence remove the "vsps" property from the DU node until the driver can handle this.

I think I'll need a different compatible string between ES1.x and ES2 for the DU. It could make sense to move the whole DU node to *-es1.dtsi. We can decide about that later when I'll have a DU driver prototype ready.

Quoted 8 lines
Quoted 5 lines

Why would you need a different compatible string? Can't you use soc_device_match() to handle ES1.x SoCs?

The different DU <-> VSPD topology is handled through the vsps property in DTS. Are the ports different, too? That can be handled in DTS.

My point (not expressed clearly) was that, as I'll need a different vsps property, I can as well go for a different compatible string.

Do you need a different vsps property?
AFAIK, the current array links each DU channel to a VSPD. When a VSPD is shared between multiple channels, you can still link these channels to the same VSPD.

Or is my understanding incorrect?

Quoted 12 lines
Quoted 4 lines

The main reason why I kept the DU node in r8a7795.dtsi is that the board DTS refers to it. Sharing board DTS means there needs to be at least a placeholder node for the DU in r8a7795.dtsi, unless you want to keep on shuffling board overrides around.

As the ports are identical it makes sense to share the same board DTS, I agree with you. We could override the compatible string in r8a7795-es1.dtsi and leave it blank in r8a7795.dtsi for now, as there's no driver support for ES2.0. That's a bit of a workaround as it shouldn't matter to DT whether driver support is available or not. On the other hand, leaving the vsps property out is a workaround too.

Quoted 6 lines

The current driver will fail probing if the number of VSPs is different than the number of CRTCs, so I believe you can keep the vsps property in r8a7795.dtsi with 3 VSPS without causing any problem. However, there's no DT bindings for the H3 ES2.0 DU yet, so we would end up merging DT without bindings, which is not good. I think that regardless of how we proceed, keeping the DU node in the ES2.0 .dtsi will be a violation of that policy.

What does the current driver do if the number of VSPs is the same as the number of CRTCs, but some VSPs are listed more than once?
I guess it will break in a subtle way, instead of refusing to probe?

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at 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

#10 lore raw

PATCH v2 1/2 arm64: dts: r8a7795: Add support for R-Car H3 ES2.0

Hi Geert,

Quoted 27 lines · On Thursday 20 Apr 2017 12:55:28 Geert Uytterhoeven wrote:
Quoted 19 lines · Laurent Pinchart
Quoted 18 lines · On Thursday 20 Apr 2017 11:36:59 Geert Uytterhoeven wrote:
Quoted 6 lines · Laurent Pinchart
Quoted 5 lines · On Friday 24 Mar 2017 14:37:44 Geert Uytterhoeven wrote:

Update r8a7795.dtsi so it corresponds to R-Car H3 ES2.0 or later:
- The following devices no longer exist on ES2.0, and are thus

    removed:
    fcpf2, fcpvd3, fcpvi2, fdp1-2, usb3-if1, vspd3, vspi2.
Quoted 7 lines
Quoted 2 lines

- The DU <-> VSPD topology is different on ES2.0, hence remove the "vsps" property from the DU node until the driver can handle this.

I think I'll need a different compatible string between ES1.x and ES2 for the DU. It could make sense to move the whole DU node to *-es1.dtsi. We can decide about that later when I'll have a DU driver prototype ready.

Why would you need a different compatible string? Can't you use soc_device_match() to handle ES1.x SoCs?

Quoted 6 lines
Quoted 3 lines

The different DU <-> VSPD topology is handled through the vsps property in
DTS. Are the ports different, too? That can be handled in DTS.

My point (not expressed clearly) was that, as I'll need a different vsps property, I can as well go for a different compatible string.

Quoted 6 lines

Do you need a different vsps property?
AFAIK, the current array links each DU channel to a VSPD. When a VSPD is shared between multiple channels, you can still link these channels to the same VSPD.

Or is my understanding incorrect?

Do you mean listing the same VSP multiple times in the vsps array ? Yes, from a bindings point of view I think that would work too. That is, until we get a ES2.1 that will have a completely different hardware topology :-)

Quoted 20 lines
Quoted 12 lines
Quoted 4 lines

The main reason why I kept the DU node in r8a7795.dtsi is that the board DTS refers to it. Sharing board DTS means there needs to be at least a placeholder node for the DU in r8a7795.dtsi, unless you want to keep on shuffling board overrides around.

As the ports are identical it makes sense to share the same board DTS, I agree with you. We could override the compatible string in r8a7795-es1.dtsi and leave it blank in r8a7795.dtsi for now, as there's no driver support for ES2.0. That's a bit of a workaround as it shouldn't matter to DT whether driver support is available or not. On the other hand, leaving the vsps property out is a workaround too.

Quoted 7 lines

The current driver will fail probing if the number of VSPs is different than the number of CRTCs, so I believe you can keep the vsps property in r8a7795.dtsi with 3 VSPS without causing any problem. However, there's no DT bindings for the H3 ES2.0 DU yet, so we would end up merging DT without bindings, which is not good. I think that regardless of how we proceed, keeping the DU node in the ES2.0 .dtsi will be a violation of that policy.

Quoted 3 lines

What does the current driver do if the number of VSPs is the same as the number of CRTCs, but some VSPs are listed more than once?
I guess it will break in a subtle way, instead of refusing to probe?

Correct, it will be messy.

Signature · 3 lines
Regards,

Laurent Pinchart
#11 lore raw

PATCH v2 1/2 arm64: dts: r8a7795: Add support for R-Car H3 ES2.0

Hi Laurent,

Quoted 28 lines · Laurent Pinchart
Quoted 27 lines · On Thursday 20 Apr 2017 12:55:28 Geert Uytterhoeven wrote:
Quoted 25 lines · Laurent Pinchart
Quoted 15 lines · On Thursday 20 Apr 2017 11:36:59 Geert Uytterhoeven wrote:
Quoted 6 lines · Laurent Pinchart
Quoted 5 lines · On Friday 24 Mar 2017 14:37:44 Geert Uytterhoeven wrote:

Update r8a7795.dtsi so it corresponds to R-Car H3 ES2.0 or later:
- The following devices no longer exist on ES2.0, and are thus

    removed:
    fcpf2, fcpvd3, fcpvi2, fdp1-2, usb3-if1, vspd3, vspi2.
Quoted 7 lines
Quoted 2 lines

- The DU <-> VSPD topology is different on ES2.0, hence remove the "vsps" property from the DU node until the driver can handle this.

I think I'll need a different compatible string between ES1.x and ES2 for the DU. It could make sense to move the whole DU node to *-es1.dtsi. We can decide about that later when I'll have a DU driver prototype ready.

Quoted 6 lines

Why would you need a different compatible string? Can't you use soc_device_match() to handle ES1.x SoCs?

The different DU <-> VSPD topology is handled through the vsps property in
DTS. Are the ports different, too? That can be handled in DTS.

My point (not expressed clearly) was that, as I'll need a different vsps property, I can as well go for a different compatible string.

Quoted 8 lines
Quoted 6 lines

Do you need a different vsps property?
AFAIK, the current array links each DU channel to a VSPD. When a VSPD is shared between multiple channels, you can still link these channels to the same VSPD.

Or is my understanding incorrect?

Do you mean listing the same VSP multiple times in the vsps array ? Yes, from

Yes, that's what I mean.

Quoted 1 line

a bindings point of view I think that would work too. That is, until we get a

OK.

Quoted 1 line

ES2.1 that will have a completely different hardware topology :-)

We'll fix that after we have received ES2.1 documentation...

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at 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

author maintainer
#12 lore raw

PATCH v2 2/2 arm64: dts: r8a7795: salvator-x: Add support for R-Car H3 ES2.0

In reply to Geert Uytterhoeven

Split off support for Salvator-X boards with the ES1.x revision of the R-Car H3 SoC into a separate file. The main r8a7795-salvator-x.dts file now corresponds to Salvator-X with R-Car H3 ES2.0 or later.

---
v2:
- Use a separate file for ES1.x instead of for ES2.0, so r8a7795-salvator-x.dts always corresponds to the board with the latest SoC revision,
- Add a dash between SoC part number and revision, for compatibility with the BSP,
- Enhance the hardware description from basic support to everything already supported on ES1.x.

---
 arch/arm64/boot/dts/renesas/Makefile                                  | 1 +
 .../renesas/{r8a7795-salvator-x.dts => r8a7795-es1-salvator-x.dts}    | 0
 arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts                    | 4 ++--
 3 files changed, 3 insertions(+), 2 deletions(-)
 copy arch/arm64/boot/dts/renesas/{r8a7795-salvator-x.dts => r8a7795-es1-salvator-x.dts} (100%)
arch/arm64/boot/dts/renesas/Makefile +1 -0
index 1618e0a3c81d48bd..b6c723d8f6875f2d 100644
@@ -1,4 +1,5 @@
 dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-salvator-x.dtb r8a7795-h3ulcb.dtb
+dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-es1-salvator-x.dtb
 dtb-$(CONFIG_ARCH_R8A7796) += r8a7796-salvator-x.dtb r8a7796-m3ulcb.dtb
 
 always		:= $(dtb-y)
arch/arm64/boot/dts/renesas/r8a7795-es1-salvator-x.dts renamed from arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts +0 -0
similarity index 100%
copy from arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
copy to arch/arm64/boot/dts/renesas/r8a7795-es1-salvator-x.dts
arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts +2 -2
index 7758b479dd98d2e9..baf5d34653d27e28 100644
@@ -32,11 +32,11 @@
  */
 
 /dts-v1/;
-#include "r8a7795-es1.dtsi"
+#include "r8a7795.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 
 / {
-	model = "Renesas Salvator-X board based on r8a7795 ES1.x";
+	model = "Renesas Salvator-X board based on r8a7795 ES2.0+";
 	compatible = "renesas,salvator-x", "renesas,r8a7795";
 
 	aliases {
Signature · 1 line
2.7.4
#13 lore raw

v2 cover arm64: dts: r8a7795: Add support for R-Car H3 ES2.0

In reply to Geert Uytterhoeven
Quoted 5 lines · Geert Uytterhoeven

Hi all,

This patch series adds preliminary support for Renesas Salvator-X development boards equipped with revision ES2.0 of the R-Car H3 Soc.

Quoted 10 lines

? - Patch 1 adds support for the R-Car H3 ES2.0 Soc, ????While this patch is safe as-is, as it doesn't affect any existing ????setups, it's probably a bit premature to apply it.
? - Patch 2 adds support for Salvator-X boards with R-Car H3 ES2.0. ????This patch does affect existing development setups, as it changes the
????name of the DTB for Salvator-X boards equipped with ES1.x SoCs. ????Given most developers have access to ES1.x only, this patch must not be
????applied yet.

Would it make more sense to add a new r8a7795-es2.dtsi and keep the current dtsi for es1? Having to load different device-trees based on which kernel is used would be rather nasty.

Signature · 2 lines
Sjoerd Simons
Collabora Ltd.
#14 lore raw

v2 cover arm64: dts: r8a7795: Add support for R-Car H3 ES2.0

Hi Sjoerd,

Quoted 15 lines · Sjoerd Simons
Quoted 13 lines · Geert Uytterhoeven

This patch series adds preliminary support for Renesas Salvator-X development boards equipped with revision ES2.0 of the R-Car H3 Soc.

- Patch 1 adds support for the R-Car H3 ES2.0 Soc,
While this patch is safe as-is, as it doesn't affect any existing setups, it's probably a bit premature to apply it.
- Patch 2 adds support for Salvator-X boards with R-Car H3 ES2.0. This patch does affect existing development setups, as it changes
the
name of the DTB for Salvator-X boards equipped with ES1.x SoCs. Given most developers have access to ES1.x only, this patch must
not be
applied yet.

Quoted 3 lines

Would it make more sense to add a new r8a7795-es2.dtsi and keep the current dtsi for es1? Having to load different device-trees based on which kernel is used would be rather nasty.

We definitely considered that option.
However, we concluded that in the end, we want to mainly support production SoCs. Hence the default files should represent the production version. Using a preproduction SoC can be considered a special case, and thus needs a file with a special esX ID in its name.

We do realize this can cause some inconveniences during the transition period, when most developers don't have access to ES2.0 SoCs yet, or have mixed environments of ES1.x and ES2.0.

Of course you can keep on using the current DTB (binary) on your H3 ES1.x boards, as long as you don't need to use devices not yet described in that DTB.

Thanks!

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at 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

#15 lore raw

v2 cover arm64: dts: r8a7795: Add support for R-Car H3 ES2.0

Quoted 30 lines · Geert Uytterhoeven

Hi Sjoerd,

Quoted 21 lines · Sjoerd Simons
Quoted 4 lines · Geert Uytterhoeven

This patch series adds preliminary support for Renesas Salvator-X development boards equipped with revision ES2.0 of the R-Car H3 Soc.

Quoted 15 lines

? - Patch 1 adds support for the R-Car H3 ES2.0 Soc, ????While this patch is safe as-is, as it doesn't affect any existing
????setups, it's probably a bit premature to apply it. ? - Patch 2 adds support for Salvator-X boards with R-Car H3 ES2.0.
????This patch does affect existing development setups, as it changes
the
????name of the DTB for Salvator-X boards equipped with ES1.x SoCs.
????Given most developers have access to ES1.x only, this patch must
not be
????applied yet.

Quoted 4 lines

Would it make more sense to add a new r8a7795-es2.dtsi and keep the current dtsi for es1? Having to load different device-trees based on
which kernel is used would be rather nasty.

Quoted 8 lines

We definitely considered that option.
However, we concluded that in the end, we want to mainly support production
SoCs.??Hence the default files should represent the production version.
Using a preproduction SoC can be considered a special case, and thus needs
a file with a special esX ID in its name.

The problem is that even though they are pre-production, these are out there and in active use, e.g. kernelci is at least doing automated testing on one of those in Kevins lab and should be an additional soonish in the Collabora lab.?

And for developers it'll be extra fun if halfway through a bisect the dts name changes..

Having a es2 in your dtb name might be a bit quirky, but it's really just a name without other meaning :).

Quoted 5 lines

We do realize this can cause some inconveniences during the transition period,
when most developers don't have access to ES2.0 SoCs yet, or have mixed
environments of ES1.x and ES2.0.

Heh yeah, i'd expect we'd have a mixed environment for quite a while given these boards are a bit too expensive to just throw in the trash..

Quoted 20 lines

Of course you can keep on using the current DTB (binary) on your H3 ES1.x
boards, as long as you don't need to use devices not yet described in that DTB.

Thanks!

Gr{oetje,eeting}s,

????????????????????????Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linu x-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

Signature · 2 lines
Sjoerd Simons
Collabora Ltd.
#16 lore raw

v2 cover arm64: dts: r8a7795: Add support for R-Car H3 ES2.0

Hi Sjoerd,

Quoted 49 lines · Sjoerd Simons
Quoted 28 lines · Geert Uytterhoeven
Quoted 21 lines · Sjoerd Simons
Quoted 4 lines · Geert Uytterhoeven

This patch series adds preliminary support for Renesas Salvator-X development boards equipped with revision ES2.0 of the R-Car H3 Soc.

Quoted 15 lines

- Patch 1 adds support for the R-Car H3 ES2.0 Soc, While this patch is safe as-is, as it doesn't affect any
existing
setups, it's probably a bit premature to apply it.
- Patch 2 adds support for Salvator-X boards with R-Car H3
ES2.0.
This patch does affect existing development setups, as it
changes
the
name of the DTB for Salvator-X boards equipped with ES1.x
SoCs.
Given most developers have access to ES1.x only, this patch
must
not be
applied yet.

Quoted 4 lines

Would it make more sense to add a new r8a7795-es2.dtsi and keep the current dtsi for es1? Having to load different device-trees based on
which kernel is used would be rather nasty.

Quoted 8 lines

We definitely considered that option.
However, we concluded that in the end, we want to mainly support production
SoCs. Hence the default files should represent the production version.
Using a preproduction SoC can be considered a special case, and thus needs
a file with a special esX ID in its name.

The problem is that even though they are pre-production, these are out there and in active use, e.g. kernelci is at least doing automated testing on one of those in Kevins lab and should be an additional soonish in the Collabora lab.

And for developers it'll be extra fun if halfway through a bisect the dts name changes..

Having a es2 in your dtb name might be a bit quirky, but it's really just a name without other meaning :).

Quoted 13 lines
Quoted 5 lines

We do realize this can cause some inconveniences during the transition period,
when most developers don't have access to ES2.0 SoCs yet, or have mixed
environments of ES1.x and ES2.0.

Heh yeah, i'd expect we'd have a mixed environment for quite a while given these boards are a bit too expensive to just throw in the trash..

Quoted 4 lines

Of course you can keep on using the current DTB (binary) on your H3 ES1.x
boards, as long as you don't need to use devices not yet described in that DTB.

We can keep on discussing this for a while, this is definitely v4.13+ material.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at 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