All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/3] arm64: dts: r8a7795: Add support for R-Car H3 ES2.0
@ 2017-05-11 11:58 ` Geert Uytterhoeven
  0 siblings, 0 replies; 24+ messages in thread
From: Geert Uytterhoeven @ 2017-05-11 11:58 UTC (permalink / raw)
  To: Simon Horman, Magnus Damm
  Cc: Yoshihiro Shimoda, Kuninori Morimoto, Laurent Pinchart,
	Wolfram Sang, Sjoerd Simons, linux-renesas-soc, linux-arm-kernel,
	Geert Uytterhoeven

	Hi all,

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

Our goal is to have a single kernel image supporting both ES1. and ES2.0
revisions of the R-Car H3 SoC, and let r8a7795-salvator-x.dtb and
r8a7795-h3ulcb.dtb represent the latest production hardware.
As R-Car H3 ES1.x SoCs are pre-production revisions, the DTB files for
these revisions are renamed to r8a7795-es1-salvator-x.dtb resp.
r8a7795-es1-h3ulcb.dtb.

While this will cause a slight inconvenience for developers using
pre-production hardware, it will make it easier to deploy production
hardware, and phase out support for pre-production hardware later.
Note that unless you need access to new features not yet described in
DT, you can keep on using the existing DTBs on pre-production hardware.

  - Patch 1 adds support for the R-Car H3 ES2.0 Soc, by providing 2
    .dtsi files: r8a7795.dtsi (ES2.0), and r8a7795-es1.dtsi (ES1.x).
  - Patch 2 adds support for Salvator-X with R-Car H3 ES2.0 by providing
    2 .dts files: r8a7795-salvator-x.dts (ES2.0), and
    r8a7795-es1-salvator-x.dts(ES1.x),
  - Patch 3 adds support for ator-X with R-Car H3 ES2.0 by providing 2
    .dts files: r8a7795-salvator-x.dts (ES2.0), and
    r8a7795-es1-salvator-x.dts(ES1.x).

While patch 1 has no user-visible impact, patches 2 and 3 do.

Changes compared to v2:
  - Rebase on top of common Salvator-X board support extraction,
  - Remove the "compatible" property from the DU node in r8a7795.dtsi,
    in addition to the "vsps" property,
  - Add support for ES2.0-based H3ULCB.

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

Dependencies:
  - This patch series is against renesas-devel-20170503-v4.11.
    I expect a sync with other pending patches will be needed after the
    release of v4.12-rc1.
  - For proper operation, this depends on driver (clk, pfc, sysc)
    support that will be available in v4.12-rc1.

This series is available in the topic/r8a7795es2-dt-v3 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 (H3 ES1.0 and ES2.0), and H3ULCB with
H3 ES1.1.
This has not been tested on H3ULCB with H3 ES2.0 due to lack of
hardware.

Thanks!

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

 arch/arm64/boot/dts/renesas/Makefile               |  1 +
 .../{r8a7795-h3ulcb.dts => r8a7795-es1-h3ulcb.dts} |  4 +-
 ...5-salvator-x.dts => r8a7795-es1-salvator-x.dts} |  4 +-
 arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi       | 84 ++++++++++++++++++++++
 arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts     |  2 +-
 arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts |  2 +-
 arch/arm64/boot/dts/renesas/r8a7795.dtsi           | 71 +-----------------
 7 files changed, 92 insertions(+), 76 deletions(-)
 copy arch/arm64/boot/dts/renesas/{r8a7795-h3ulcb.dts => r8a7795-es1-h3ulcb.dts} (91%)
 copy arch/arm64/boot/dts/renesas/{r8a7795-salvator-x.dts => r8a7795-es1-salvator-x.dts} (92%)
 create mode 100644 arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi

-- 
2.7.4

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

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

* [PATCH v3 0/3] arm64: dts: r8a7795: Add support for R-Car H3 ES2.0
@ 2017-05-11 11:58 ` Geert Uytterhoeven
  0 siblings, 0 replies; 24+ messages in thread
From: Geert Uytterhoeven @ 2017-05-11 11:58 UTC (permalink / raw)
  To: linux-arm-kernel

	Hi all,

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

Our goal is to have a single kernel image supporting both ES1. and ES2.0
revisions of the R-Car H3 SoC, and let r8a7795-salvator-x.dtb and
r8a7795-h3ulcb.dtb represent the latest production hardware.
As R-Car H3 ES1.x SoCs are pre-production revisions, the DTB files for
these revisions are renamed to r8a7795-es1-salvator-x.dtb resp.
r8a7795-es1-h3ulcb.dtb.

While this will cause a slight inconvenience for developers using
pre-production hardware, it will make it easier to deploy production
hardware, and phase out support for pre-production hardware later.
Note that unless you need access to new features not yet described in
DT, you can keep on using the existing DTBs on pre-production hardware.

  - Patch 1 adds support for the R-Car H3 ES2.0 Soc, by providing 2
    .dtsi files: r8a7795.dtsi (ES2.0), and r8a7795-es1.dtsi (ES1.x).
  - Patch 2 adds support for Salvator-X with R-Car H3 ES2.0 by providing
    2 .dts files: r8a7795-salvator-x.dts (ES2.0), and
    r8a7795-es1-salvator-x.dts(ES1.x),
  - Patch 3 adds support for ator-X with R-Car H3 ES2.0 by providing 2
    .dts files: r8a7795-salvator-x.dts (ES2.0), and
    r8a7795-es1-salvator-x.dts(ES1.x).

While patch 1 has no user-visible impact, patches 2 and 3 do.

Changes compared to v2:
  - Rebase on top of common Salvator-X board support extraction,
  - Remove the "compatible" property from the DU node in r8a7795.dtsi,
    in addition to the "vsps" property,
  - Add support for ES2.0-based H3ULCB.

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

Dependencies:
  - This patch series is against renesas-devel-20170503-v4.11.
    I expect a sync with other pending patches will be needed after the
    release of v4.12-rc1.
  - For proper operation, this depends on driver (clk, pfc, sysc)
    support that will be available in v4.12-rc1.

This series is available in the topic/r8a7795es2-dt-v3 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 (H3 ES1.0 and ES2.0), and H3ULCB with
H3 ES1.1.
This has not been tested on H3ULCB with H3 ES2.0 due to lack of
hardware.

Thanks!

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

 arch/arm64/boot/dts/renesas/Makefile               |  1 +
 .../{r8a7795-h3ulcb.dts => r8a7795-es1-h3ulcb.dts} |  4 +-
 ...5-salvator-x.dts => r8a7795-es1-salvator-x.dts} |  4 +-
 arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi       | 84 ++++++++++++++++++++++
 arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts     |  2 +-
 arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts |  2 +-
 arch/arm64/boot/dts/renesas/r8a7795.dtsi           | 71 +-----------------
 7 files changed, 92 insertions(+), 76 deletions(-)
 copy arch/arm64/boot/dts/renesas/{r8a7795-h3ulcb.dts => r8a7795-es1-h3ulcb.dts} (91%)
 copy arch/arm64/boot/dts/renesas/{r8a7795-salvator-x.dts => r8a7795-es1-salvator-x.dts} (92%)
 create mode 100644 arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi

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

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

* [PATCH v3 1/3] arm64: dts: r8a7795: Add support for R-Car H3 ES2.0
  2017-05-11 11:58 ` Geert Uytterhoeven
@ 2017-05-11 11:58   ` Geert Uytterhoeven
  -1 siblings, 0 replies; 24+ messages in thread
From: Geert Uytterhoeven @ 2017-05-11 11:58 UTC (permalink / raw)
  To: Simon Horman, Magnus Damm
  Cc: Yoshihiro Shimoda, Kuninori Morimoto, Laurent Pinchart,
	Wolfram Sang, Sjoerd Simons, linux-renesas-soc, linux-arm-kernel,
	Geert Uytterhoeven

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
    "compatible" and "vsps" properties 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.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
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>;
	};

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

v3:
  - Rebase on top of common Salvator-X board support extraction,
  - Remove the "compatible" property from the DU node in r8a7795.dtsi,
    in addition to the "vsps" property,

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       | 84 ++++++++++++++++++++++
 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           | 71 +-----------------
 4 files changed, 89 insertions(+), 74 deletions(-)
 create mode 100644 arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi

diff --git a/arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi b/arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi
new file mode 100644
index 0000000000000000..a0ba7bd21ea3aa18
--- /dev/null
+++ b/arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi
@@ -0,0 +1,84 @@
+/*
+ * 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 {
+	compatible = "renesas,du-r8a7795";
+	vsps = <&vspd0 &vspd1 &vspd2 &vspd3>;
+};
diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
index a1fbf0ab8ad8e425..95fe207cb6a3fd2f 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
@@ -12,11 +12,11 @@
 #define CPG_AUDIO_CLK_I		R8A7795_CLK_S0D4
 
 /dts-v1/;
-#include "r8a7795.dtsi"
+#include "r8a7795-es1.dtsi"
 #include "ulcb.dtsi"
 
 / {
-	model = "Renesas H3ULCB board based on r8a7795";
+	model = "Renesas H3ULCB board based on r8a7795 ES1.x";
 	compatible = "renesas,h3ulcb", "renesas,r8a7795";
 
 	memory@48000000 {
diff --git a/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts b/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
index 52fce67df3413f1f..be5b2e966ea1700e 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
@@ -11,11 +11,11 @@
 #define CPG_AUDIO_CLK_I		R8A7795_CLK_S0D4
 
 /dts-v1/;
-#include "r8a7795.dtsi"
+#include "r8a7795-es1.dtsi"
 #include "salvator-x.dtsi"
 
 / {
-	model = "Renesas Salvator-X board based on r8a7795";
+	model = "Renesas Salvator-X board based on r8a7795 ES1.x";
 	compatible = "renesas,salvator-x", "renesas,r8a7795";
 
 	memory@48000000 {
diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
index 7d87dff70ac84c40..e2c447cc12fe7f3a 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
@@ -182,7 +182,7 @@
 		clock-frequency = <0>;
 	};
 
-	soc {
+	soc: soc {
 		compatible = "simple-bus";
 		interrupt-parent = <&gic>;
 
@@ -1274,16 +1274,6 @@
 			status = "disabled";
 		};
 
-		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";
-		};
-
 		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,18 +1692,7 @@
 			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>,
 			      <0 0xfeb90000 0 0x14>;
 			reg-names = "du", "lvds.0";
@@ -1775,8 +1708,6 @@
 			clock-names = "du.0", "du.1", "du.2", "du.3", "lvds.0";
 			status = "disabled";
 
-			vsps = <&vspd0 &vspd1 &vspd2 &vspd3>;
-
 			ports {
 				#address-cells = <1>;
 				#size-cells = <0>;
-- 
2.7.4

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

* [PATCH v3 1/3] arm64: dts: r8a7795: Add support for R-Car H3 ES2.0
@ 2017-05-11 11:58   ` Geert Uytterhoeven
  0 siblings, 0 replies; 24+ messages in thread
From: Geert Uytterhoeven @ 2017-05-11 11:58 UTC (permalink / raw)
  To: linux-arm-kernel

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
    "compatible" and "vsps" properties 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.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
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>;
	};

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

v3:
  - Rebase on top of common Salvator-X board support extraction,
  - Remove the "compatible" property from the DU node in r8a7795.dtsi,
    in addition to the "vsps" property,

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       | 84 ++++++++++++++++++++++
 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           | 71 +-----------------
 4 files changed, 89 insertions(+), 74 deletions(-)
 create mode 100644 arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi

diff --git a/arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi b/arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi
new file mode 100644
index 0000000000000000..a0ba7bd21ea3aa18
--- /dev/null
+++ b/arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi
@@ -0,0 +1,84 @@
+/*
+ * 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 {
+	compatible = "renesas,du-r8a7795";
+	vsps = <&vspd0 &vspd1 &vspd2 &vspd3>;
+};
diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
index a1fbf0ab8ad8e425..95fe207cb6a3fd2f 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
@@ -12,11 +12,11 @@
 #define CPG_AUDIO_CLK_I		R8A7795_CLK_S0D4
 
 /dts-v1/;
-#include "r8a7795.dtsi"
+#include "r8a7795-es1.dtsi"
 #include "ulcb.dtsi"
 
 / {
-	model = "Renesas H3ULCB board based on r8a7795";
+	model = "Renesas H3ULCB board based on r8a7795 ES1.x";
 	compatible = "renesas,h3ulcb", "renesas,r8a7795";
 
 	memory at 48000000 {
diff --git a/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts b/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
index 52fce67df3413f1f..be5b2e966ea1700e 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
@@ -11,11 +11,11 @@
 #define CPG_AUDIO_CLK_I		R8A7795_CLK_S0D4
 
 /dts-v1/;
-#include "r8a7795.dtsi"
+#include "r8a7795-es1.dtsi"
 #include "salvator-x.dtsi"
 
 / {
-	model = "Renesas Salvator-X board based on r8a7795";
+	model = "Renesas Salvator-X board based on r8a7795 ES1.x";
 	compatible = "renesas,salvator-x", "renesas,r8a7795";
 
 	memory at 48000000 {
diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
index 7d87dff70ac84c40..e2c447cc12fe7f3a 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
@@ -182,7 +182,7 @@
 		clock-frequency = <0>;
 	};
 
-	soc {
+	soc: soc {
 		compatible = "simple-bus";
 		interrupt-parent = <&gic>;
 
@@ -1274,16 +1274,6 @@
 			status = "disabled";
 		};
 
-		xhci1: usb at 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";
-		};
-
 		usb_dmac0: dma-controller at e65a0000 {
 			compatible = "renesas,r8a7795-usb-dmac",
 				     "renesas,usb-dmac";
@@ -1568,14 +1558,6 @@
 			resets = <&cpg 614>;
 		};
 
-		fcpf2: fcp at 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 at fe960000 {
 			compatible = "renesas,vsp2";
 			reg = <0 0xfe960000 0 0x8000>;
@@ -1633,25 +1615,6 @@
 			resets = <&cpg 610>;
 		};
 
-		vspi2: vsp at 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 at 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 at fea20000 {
 			compatible = "renesas,vsp2";
 			reg = <0 0xfea20000 0 0x4000>;
@@ -1709,25 +1672,6 @@
 			resets = <&cpg 601>;
 		};
 
-		vspd3: vsp at 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 at 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 at fe940000 {
 			compatible = "renesas,fdp1";
 			reg = <0 0xfe940000 0 0x2400>;
@@ -1748,18 +1692,7 @@
 			renesas,fcp = <&fcpf1>;
 		};
 
-		fdp1 at 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 at feb00000 {
-			compatible = "renesas,du-r8a7795";
 			reg = <0 0xfeb00000 0 0x80000>,
 			      <0 0xfeb90000 0 0x14>;
 			reg-names = "du", "lvds.0";
@@ -1775,8 +1708,6 @@
 			clock-names = "du.0", "du.1", "du.2", "du.3", "lvds.0";
 			status = "disabled";
 
-			vsps = <&vspd0 &vspd1 &vspd2 &vspd3>;
-
 			ports {
 				#address-cells = <1>;
 				#size-cells = <0>;
-- 
2.7.4

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

* [PATCH v3 2/3] arm64: dts: r8a7795: salvator-x: Add support for R-Car H3 ES2.0
  2017-05-11 11:58 ` Geert Uytterhoeven
@ 2017-05-11 11:58   ` Geert Uytterhoeven
  -1 siblings, 0 replies; 24+ messages in thread
From: Geert Uytterhoeven @ 2017-05-11 11:58 UTC (permalink / raw)
  To: Simon Horman, Magnus Damm
  Cc: Yoshihiro Shimoda, Kuninori Morimoto, Laurent Pinchart,
	Wolfram Sang, Sjoerd Simons, linux-renesas-soc, linux-arm-kernel,
	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.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
v3:
  - Rebase on top of common Salvator-X board support extraction,

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%)

diff --git a/arch/arm64/boot/dts/renesas/Makefile b/arch/arm64/boot/dts/renesas/Makefile
index 1618e0a3c81d48bd..b6c723d8f6875f2d 100644
--- a/arch/arm64/boot/dts/renesas/Makefile
+++ b/arch/arm64/boot/dts/renesas/Makefile
@@ -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)
diff --git a/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts b/arch/arm64/boot/dts/renesas/r8a7795-es1-salvator-x.dts
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
diff --git a/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts b/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
index be5b2e966ea1700e..fc26909dfa47b61f 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
@@ -11,11 +11,11 @@
 #define CPG_AUDIO_CLK_I		R8A7795_CLK_S0D4
 
 /dts-v1/;
-#include "r8a7795-es1.dtsi"
+#include "r8a7795.dtsi"
 #include "salvator-x.dtsi"
 
 / {
-	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";
 
 	memory@48000000 {
-- 
2.7.4

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

* [PATCH v3 2/3] arm64: dts: r8a7795: salvator-x: Add support for R-Car H3 ES2.0
@ 2017-05-11 11:58   ` Geert Uytterhoeven
  0 siblings, 0 replies; 24+ messages in thread
From: Geert Uytterhoeven @ 2017-05-11 11:58 UTC (permalink / raw)
  To: linux-arm-kernel

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.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
v3:
  - Rebase on top of common Salvator-X board support extraction,

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%)

diff --git a/arch/arm64/boot/dts/renesas/Makefile b/arch/arm64/boot/dts/renesas/Makefile
index 1618e0a3c81d48bd..b6c723d8f6875f2d 100644
--- a/arch/arm64/boot/dts/renesas/Makefile
+++ b/arch/arm64/boot/dts/renesas/Makefile
@@ -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)
diff --git a/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts b/arch/arm64/boot/dts/renesas/r8a7795-es1-salvator-x.dts
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
diff --git a/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts b/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
index be5b2e966ea1700e..fc26909dfa47b61f 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
@@ -11,11 +11,11 @@
 #define CPG_AUDIO_CLK_I		R8A7795_CLK_S0D4
 
 /dts-v1/;
-#include "r8a7795-es1.dtsi"
+#include "r8a7795.dtsi"
 #include "salvator-x.dtsi"
 
 / {
-	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";
 
 	memory at 48000000 {
-- 
2.7.4

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

* [PATCH v3 3/3] arm64: dts: r8a7795: h3ulcb: Add support for R-Car H3 ES2.0
  2017-05-11 11:58 ` Geert Uytterhoeven
@ 2017-05-11 11:58   ` Geert Uytterhoeven
  -1 siblings, 0 replies; 24+ messages in thread
From: Geert Uytterhoeven @ 2017-05-11 11:58 UTC (permalink / raw)
  To: Simon Horman, Magnus Damm
  Cc: Yoshihiro Shimoda, Kuninori Morimoto, Laurent Pinchart,
	Wolfram Sang, Sjoerd Simons, linux-renesas-soc, linux-arm-kernel,
	Geert Uytterhoeven

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

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
v3:
  - New.
---
 arch/arm64/boot/dts/renesas/Makefile                                  | 2 +-
 .../boot/dts/renesas/{r8a7795-h3ulcb.dts => r8a7795-es1-h3ulcb.dts}   | 0
 arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts                        | 4 ++--
 3 files changed, 3 insertions(+), 3 deletions(-)
 copy arch/arm64/boot/dts/renesas/{r8a7795-h3ulcb.dts => r8a7795-es1-h3ulcb.dts} (100%)

diff --git a/arch/arm64/boot/dts/renesas/Makefile b/arch/arm64/boot/dts/renesas/Makefile
index b6c723d8f6875f2d..d5451015950e3dfc 100644
--- a/arch/arm64/boot/dts/renesas/Makefile
+++ b/arch/arm64/boot/dts/renesas/Makefile
@@ -1,5 +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_R8A7795) += r8a7795-es1-salvator-x.dtb r8a7795-es1-h3ulcb.dtb
 dtb-$(CONFIG_ARCH_R8A7796) += r8a7796-salvator-x.dtb r8a7796-m3ulcb.dtb
 
 always		:= $(dtb-y)
diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts b/arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb.dts
similarity index 100%
copy from arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
copy to arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb.dts
diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
index 95fe207cb6a3fd2f..0426f41765f0bc68 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
@@ -12,11 +12,11 @@
 #define CPG_AUDIO_CLK_I		R8A7795_CLK_S0D4
 
 /dts-v1/;
-#include "r8a7795-es1.dtsi"
+#include "r8a7795.dtsi"
 #include "ulcb.dtsi"
 
 / {
-	model = "Renesas H3ULCB board based on r8a7795 ES1.x";
+	model = "Renesas H3ULCB board based on r8a7795 ES2.0+";
 	compatible = "renesas,h3ulcb", "renesas,r8a7795";
 
 	memory@48000000 {
-- 
2.7.4

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

* [PATCH v3 3/3] arm64: dts: r8a7795: h3ulcb: Add support for R-Car H3 ES2.0
@ 2017-05-11 11:58   ` Geert Uytterhoeven
  0 siblings, 0 replies; 24+ messages in thread
From: Geert Uytterhoeven @ 2017-05-11 11:58 UTC (permalink / raw)
  To: linux-arm-kernel

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

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
v3:
  - New.
---
 arch/arm64/boot/dts/renesas/Makefile                                  | 2 +-
 .../boot/dts/renesas/{r8a7795-h3ulcb.dts => r8a7795-es1-h3ulcb.dts}   | 0
 arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts                        | 4 ++--
 3 files changed, 3 insertions(+), 3 deletions(-)
 copy arch/arm64/boot/dts/renesas/{r8a7795-h3ulcb.dts => r8a7795-es1-h3ulcb.dts} (100%)

diff --git a/arch/arm64/boot/dts/renesas/Makefile b/arch/arm64/boot/dts/renesas/Makefile
index b6c723d8f6875f2d..d5451015950e3dfc 100644
--- a/arch/arm64/boot/dts/renesas/Makefile
+++ b/arch/arm64/boot/dts/renesas/Makefile
@@ -1,5 +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_R8A7795) += r8a7795-es1-salvator-x.dtb r8a7795-es1-h3ulcb.dtb
 dtb-$(CONFIG_ARCH_R8A7796) += r8a7796-salvator-x.dtb r8a7796-m3ulcb.dtb
 
 always		:= $(dtb-y)
diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts b/arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb.dts
similarity index 100%
copy from arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
copy to arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb.dts
diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
index 95fe207cb6a3fd2f..0426f41765f0bc68 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
@@ -12,11 +12,11 @@
 #define CPG_AUDIO_CLK_I		R8A7795_CLK_S0D4
 
 /dts-v1/;
-#include "r8a7795-es1.dtsi"
+#include "r8a7795.dtsi"
 #include "ulcb.dtsi"
 
 / {
-	model = "Renesas H3ULCB board based on r8a7795 ES1.x";
+	model = "Renesas H3ULCB board based on r8a7795 ES2.0+";
 	compatible = "renesas,h3ulcb", "renesas,r8a7795";
 
 	memory at 48000000 {
-- 
2.7.4

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

* Re: [PATCH v3 2/3] arm64: dts: r8a7795: salvator-x: Add support for R-Car H3 ES2.0
  2017-05-11 11:58   ` Geert Uytterhoeven
@ 2017-05-11 14:53     ` Simon Horman
  -1 siblings, 0 replies; 24+ messages in thread
From: Simon Horman @ 2017-05-11 14:53 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Magnus Damm, Yoshihiro Shimoda, Kuninori Morimoto,
	Laurent Pinchart, Wolfram Sang, Sjoerd Simons, linux-renesas-soc,
	linux-arm-kernel

On Thu, May 11, 2017 at 01:58:53PM +0200, Geert Uytterhoeven wrote:
> 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.
> 
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> ---
> v3:
>   - Rebase on top of common Salvator-X board support extraction,
> 
> 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%)
> 
> diff --git a/arch/arm64/boot/dts/renesas/Makefile b/arch/arm64/boot/dts/renesas/Makefile
> index 1618e0a3c81d48bd..b6c723d8f6875f2d 100644
> --- a/arch/arm64/boot/dts/renesas/Makefile
> +++ b/arch/arm64/boot/dts/renesas/Makefile
> @@ -1,4 +1,5 @@
>  dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-salvator-x.dtb r8a7795-h3ulcb.dtb
> +dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-es1-salvator-x.dtb

Probably this was already discussed but I wonder if there is any value
in a CONFIG_ARCH_R8A7795_ES1 Kconfig symbol to allow more fine grained
control over what is compiled into the kernel.

>  dtb-$(CONFIG_ARCH_R8A7796) += r8a7796-salvator-x.dtb r8a7796-m3ulcb.dtb
>  
>  always		:= $(dtb-y)
> diff --git a/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts b/arch/arm64/boot/dts/renesas/r8a7795-es1-salvator-x.dts
> 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
> diff --git a/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts b/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
> index be5b2e966ea1700e..fc26909dfa47b61f 100644
> --- a/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
> +++ b/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
> @@ -11,11 +11,11 @@
>  #define CPG_AUDIO_CLK_I		R8A7795_CLK_S0D4
>  
>  /dts-v1/;
> -#include "r8a7795-es1.dtsi"
> +#include "r8a7795.dtsi"
>  #include "salvator-x.dtsi"
>  
>  / {
> -	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";
>  
>  	memory@48000000 {
> -- 
> 2.7.4
> 

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

* [PATCH v3 2/3] arm64: dts: r8a7795: salvator-x: Add support for R-Car H3 ES2.0
@ 2017-05-11 14:53     ` Simon Horman
  0 siblings, 0 replies; 24+ messages in thread
From: Simon Horman @ 2017-05-11 14:53 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, May 11, 2017 at 01:58:53PM +0200, Geert Uytterhoeven wrote:
> 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.
> 
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> ---
> v3:
>   - Rebase on top of common Salvator-X board support extraction,
> 
> 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%)
> 
> diff --git a/arch/arm64/boot/dts/renesas/Makefile b/arch/arm64/boot/dts/renesas/Makefile
> index 1618e0a3c81d48bd..b6c723d8f6875f2d 100644
> --- a/arch/arm64/boot/dts/renesas/Makefile
> +++ b/arch/arm64/boot/dts/renesas/Makefile
> @@ -1,4 +1,5 @@
>  dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-salvator-x.dtb r8a7795-h3ulcb.dtb
> +dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-es1-salvator-x.dtb

Probably this was already discussed but I wonder if there is any value
in a CONFIG_ARCH_R8A7795_ES1 Kconfig symbol to allow more fine grained
control over what is compiled into the kernel.

>  dtb-$(CONFIG_ARCH_R8A7796) += r8a7796-salvator-x.dtb r8a7796-m3ulcb.dtb
>  
>  always		:= $(dtb-y)
> diff --git a/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts b/arch/arm64/boot/dts/renesas/r8a7795-es1-salvator-x.dts
> 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
> diff --git a/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts b/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
> index be5b2e966ea1700e..fc26909dfa47b61f 100644
> --- a/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
> +++ b/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
> @@ -11,11 +11,11 @@
>  #define CPG_AUDIO_CLK_I		R8A7795_CLK_S0D4
>  
>  /dts-v1/;
> -#include "r8a7795-es1.dtsi"
> +#include "r8a7795.dtsi"
>  #include "salvator-x.dtsi"
>  
>  / {
> -	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";
>  
>  	memory at 48000000 {
> -- 
> 2.7.4
> 

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

* Re: [PATCH v3 1/3] arm64: dts: r8a7795: Add support for R-Car H3 ES2.0
  2017-05-11 11:58   ` Geert Uytterhoeven
@ 2017-05-11 14:53     ` Simon Horman
  -1 siblings, 0 replies; 24+ messages in thread
From: Simon Horman @ 2017-05-11 14:53 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Magnus Damm, Yoshihiro Shimoda, Kuninori Morimoto,
	Laurent Pinchart, Wolfram Sang, Sjoerd Simons, linux-renesas-soc,
	linux-arm-kernel

On Thu, May 11, 2017 at 01:58:52PM +0200, 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
>     "compatible" and "vsps" properties 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.

I think the above should be re-worded given your explanation below the
scissors that no deletion or overriding occurs.

> 
> Switch r8a7795-salvator-x.dts and r8a7795-h3ulcb.dts from r8a7795.dtsi
> to r8a7795-es1.dtsi to preserve compatibility.
> 
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> ---
> 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>;
> 	};
> 
> 	&<label> {
> 		/delete-property/ <prop>;
> 	};

I would be interested to also see an example of an override and
for the examples to be included in the changelog itself.

> 
> v3:
>   - Rebase on top of common Salvator-X board support extraction,
>   - Remove the "compatible" property from the DU node in r8a7795.dtsi,
>     in addition to the "vsps" property,
> 
> 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       | 84 ++++++++++++++++++++++
>  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           | 71 +-----------------
>  4 files changed, 89 insertions(+), 74 deletions(-)
>  create mode 100644 arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi
> 
> diff --git a/arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi b/arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi
> new file mode 100644
> index 0000000000000000..a0ba7bd21ea3aa18
> --- /dev/null
> +++ b/arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi
> @@ -0,0 +1,84 @@
> +/*
> + * 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 {
> +	compatible = "renesas,du-r8a7795";
> +	vsps = <&vspd0 &vspd1 &vspd2 &vspd3>;
> +};
> diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
> index a1fbf0ab8ad8e425..95fe207cb6a3fd2f 100644
> --- a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
> +++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
> @@ -12,11 +12,11 @@
>  #define CPG_AUDIO_CLK_I		R8A7795_CLK_S0D4
>  
>  /dts-v1/;
> -#include "r8a7795.dtsi"
> +#include "r8a7795-es1.dtsi"
>  #include "ulcb.dtsi"
>  
>  / {
> -	model = "Renesas H3ULCB board based on r8a7795";
> +	model = "Renesas H3ULCB board based on r8a7795 ES1.x";
>  	compatible = "renesas,h3ulcb", "renesas,r8a7795";
>  
>  	memory@48000000 {
> diff --git a/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts b/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
> index 52fce67df3413f1f..be5b2e966ea1700e 100644
> --- a/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
> +++ b/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
> @@ -11,11 +11,11 @@
>  #define CPG_AUDIO_CLK_I		R8A7795_CLK_S0D4
>  
>  /dts-v1/;
> -#include "r8a7795.dtsi"
> +#include "r8a7795-es1.dtsi"
>  #include "salvator-x.dtsi"
>  
>  / {
> -	model = "Renesas Salvator-X board based on r8a7795";
> +	model = "Renesas Salvator-X board based on r8a7795 ES1.x";
>  	compatible = "renesas,salvator-x", "renesas,r8a7795";
>  
>  	memory@48000000 {
> diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
> index 7d87dff70ac84c40..e2c447cc12fe7f3a 100644
> --- a/arch/arm64/boot/dts/renesas/r8a7795.dtsi
> +++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
> @@ -182,7 +182,7 @@
>  		clock-frequency = <0>;
>  	};
>  
> -	soc {
> +	soc: soc {
>  		compatible = "simple-bus";
>  		interrupt-parent = <&gic>;
>  
> @@ -1274,16 +1274,6 @@
>  			status = "disabled";
>  		};
>  
> -		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";
> -		};
> -
>  		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,18 +1692,7 @@
>  			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>,
>  			      <0 0xfeb90000 0 0x14>;
>  			reg-names = "du", "lvds.0";
> @@ -1775,8 +1708,6 @@
>  			clock-names = "du.0", "du.1", "du.2", "du.3", "lvds.0";
>  			status = "disabled";
>  
> -			vsps = <&vspd0 &vspd1 &vspd2 &vspd3>;
> -
>  			ports {
>  				#address-cells = <1>;
>  				#size-cells = <0>;
> -- 
> 2.7.4
> 

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

* [PATCH v3 1/3] arm64: dts: r8a7795: Add support for R-Car H3 ES2.0
@ 2017-05-11 14:53     ` Simon Horman
  0 siblings, 0 replies; 24+ messages in thread
From: Simon Horman @ 2017-05-11 14:53 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, May 11, 2017 at 01:58:52PM +0200, 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
>     "compatible" and "vsps" properties 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.

I think the above should be re-worded given your explanation below the
scissors that no deletion or overriding occurs.

> 
> Switch r8a7795-salvator-x.dts and r8a7795-h3ulcb.dts from r8a7795.dtsi
> to r8a7795-es1.dtsi to preserve compatibility.
> 
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> ---
> 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>;
> 	};
> 
> 	&<label> {
> 		/delete-property/ <prop>;
> 	};

I would be interested to also see an example of an override and
for the examples to be included in the changelog itself.

> 
> v3:
>   - Rebase on top of common Salvator-X board support extraction,
>   - Remove the "compatible" property from the DU node in r8a7795.dtsi,
>     in addition to the "vsps" property,
> 
> 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       | 84 ++++++++++++++++++++++
>  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           | 71 +-----------------
>  4 files changed, 89 insertions(+), 74 deletions(-)
>  create mode 100644 arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi
> 
> diff --git a/arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi b/arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi
> new file mode 100644
> index 0000000000000000..a0ba7bd21ea3aa18
> --- /dev/null
> +++ b/arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi
> @@ -0,0 +1,84 @@
> +/*
> + * 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 {
> +	compatible = "renesas,du-r8a7795";
> +	vsps = <&vspd0 &vspd1 &vspd2 &vspd3>;
> +};
> diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
> index a1fbf0ab8ad8e425..95fe207cb6a3fd2f 100644
> --- a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
> +++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
> @@ -12,11 +12,11 @@
>  #define CPG_AUDIO_CLK_I		R8A7795_CLK_S0D4
>  
>  /dts-v1/;
> -#include "r8a7795.dtsi"
> +#include "r8a7795-es1.dtsi"
>  #include "ulcb.dtsi"
>  
>  / {
> -	model = "Renesas H3ULCB board based on r8a7795";
> +	model = "Renesas H3ULCB board based on r8a7795 ES1.x";
>  	compatible = "renesas,h3ulcb", "renesas,r8a7795";
>  
>  	memory at 48000000 {
> diff --git a/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts b/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
> index 52fce67df3413f1f..be5b2e966ea1700e 100644
> --- a/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
> +++ b/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
> @@ -11,11 +11,11 @@
>  #define CPG_AUDIO_CLK_I		R8A7795_CLK_S0D4
>  
>  /dts-v1/;
> -#include "r8a7795.dtsi"
> +#include "r8a7795-es1.dtsi"
>  #include "salvator-x.dtsi"
>  
>  / {
> -	model = "Renesas Salvator-X board based on r8a7795";
> +	model = "Renesas Salvator-X board based on r8a7795 ES1.x";
>  	compatible = "renesas,salvator-x", "renesas,r8a7795";
>  
>  	memory at 48000000 {
> diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
> index 7d87dff70ac84c40..e2c447cc12fe7f3a 100644
> --- a/arch/arm64/boot/dts/renesas/r8a7795.dtsi
> +++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
> @@ -182,7 +182,7 @@
>  		clock-frequency = <0>;
>  	};
>  
> -	soc {
> +	soc: soc {
>  		compatible = "simple-bus";
>  		interrupt-parent = <&gic>;
>  
> @@ -1274,16 +1274,6 @@
>  			status = "disabled";
>  		};
>  
> -		xhci1: usb at 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";
> -		};
> -
>  		usb_dmac0: dma-controller at e65a0000 {
>  			compatible = "renesas,r8a7795-usb-dmac",
>  				     "renesas,usb-dmac";
> @@ -1568,14 +1558,6 @@
>  			resets = <&cpg 614>;
>  		};
>  
> -		fcpf2: fcp at 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 at fe960000 {
>  			compatible = "renesas,vsp2";
>  			reg = <0 0xfe960000 0 0x8000>;
> @@ -1633,25 +1615,6 @@
>  			resets = <&cpg 610>;
>  		};
>  
> -		vspi2: vsp at 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 at 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 at fea20000 {
>  			compatible = "renesas,vsp2";
>  			reg = <0 0xfea20000 0 0x4000>;
> @@ -1709,25 +1672,6 @@
>  			resets = <&cpg 601>;
>  		};
>  
> -		vspd3: vsp at 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 at 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 at fe940000 {
>  			compatible = "renesas,fdp1";
>  			reg = <0 0xfe940000 0 0x2400>;
> @@ -1748,18 +1692,7 @@
>  			renesas,fcp = <&fcpf1>;
>  		};
>  
> -		fdp1 at 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 at feb00000 {
> -			compatible = "renesas,du-r8a7795";
>  			reg = <0 0xfeb00000 0 0x80000>,
>  			      <0 0xfeb90000 0 0x14>;
>  			reg-names = "du", "lvds.0";
> @@ -1775,8 +1708,6 @@
>  			clock-names = "du.0", "du.1", "du.2", "du.3", "lvds.0";
>  			status = "disabled";
>  
> -			vsps = <&vspd0 &vspd1 &vspd2 &vspd3>;
> -
>  			ports {
>  				#address-cells = <1>;
>  				#size-cells = <0>;
> -- 
> 2.7.4
> 

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

* Re: [PATCH v3 2/3] arm64: dts: r8a7795: salvator-x: Add support for R-Car H3 ES2.0
  2017-05-11 14:53     ` Simon Horman
@ 2017-05-11 15:18       ` Geert Uytterhoeven
  -1 siblings, 0 replies; 24+ messages in thread
From: Geert Uytterhoeven @ 2017-05-11 15:18 UTC (permalink / raw)
  To: Simon Horman
  Cc: Geert Uytterhoeven, Magnus Damm, Yoshihiro Shimoda,
	Kuninori Morimoto, Laurent Pinchart, Wolfram Sang, Sjoerd Simons,
	Linux-Renesas, linux-arm-kernel

Hi Simon,

On Thu, May 11, 2017 at 4:53 PM, Simon Horman <horms@verge.net.au> wrote:
> On Thu, May 11, 2017 at 01:58:53PM +0200, Geert Uytterhoeven wrote:
>> 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.
>>
>> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>

>> --- a/arch/arm64/boot/dts/renesas/Makefile
>> +++ b/arch/arm64/boot/dts/renesas/Makefile
>> @@ -1,4 +1,5 @@
>>  dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-salvator-x.dtb r8a7795-h3ulcb.dtb
>> +dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-es1-salvator-x.dtb
>
> Probably this was already discussed but I wonder if there is any value
> in a CONFIG_ARCH_R8A7795_ES1 Kconfig symbol to allow more fine grained
> control over what is compiled into the kernel.

The plan was always to have a single binary supporting both.
So I think it makes sense to have a single DT build (as in both DTBs are
built), too.

Note that if we add and use CONFIG_ARCH_R8A7795_ES1 here, the ES1 DTB will
no longer be always created, making it even harder for people who want to
support multiple kernel versions.

E.g. to pick the correct DTB for Salvator-X with H3 ES1.0, I have the
following in my install script:

    DTB=arch/arm64/boot/dts/renesas/r8a7795-es1-salvator-x.dtb
    if [ ! -e $DTB ]; then
        DTB=arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dtb
    fi

If we change our mind, it means we can/should sprinkle some
"#ifdef CONFIG_ARCH_R8A7795_ES1" checks in the clk/pfc/sysc driver code?

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

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

* [PATCH v3 2/3] arm64: dts: r8a7795: salvator-x: Add support for R-Car H3 ES2.0
@ 2017-05-11 15:18       ` Geert Uytterhoeven
  0 siblings, 0 replies; 24+ messages in thread
From: Geert Uytterhoeven @ 2017-05-11 15:18 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Simon,

On Thu, May 11, 2017 at 4:53 PM, Simon Horman <horms@verge.net.au> wrote:
> On Thu, May 11, 2017 at 01:58:53PM +0200, Geert Uytterhoeven wrote:
>> 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.
>>
>> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>

>> --- a/arch/arm64/boot/dts/renesas/Makefile
>> +++ b/arch/arm64/boot/dts/renesas/Makefile
>> @@ -1,4 +1,5 @@
>>  dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-salvator-x.dtb r8a7795-h3ulcb.dtb
>> +dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-es1-salvator-x.dtb
>
> Probably this was already discussed but I wonder if there is any value
> in a CONFIG_ARCH_R8A7795_ES1 Kconfig symbol to allow more fine grained
> control over what is compiled into the kernel.

The plan was always to have a single binary supporting both.
So I think it makes sense to have a single DT build (as in both DTBs are
built), too.

Note that if we add and use CONFIG_ARCH_R8A7795_ES1 here, the ES1 DTB will
no longer be always created, making it even harder for people who want to
support multiple kernel versions.

E.g. to pick the correct DTB for Salvator-X with H3 ES1.0, I have the
following in my install script:

    DTB=arch/arm64/boot/dts/renesas/r8a7795-es1-salvator-x.dtb
    if [ ! -e $DTB ]; then
        DTB=arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dtb
    fi

If we change our mind, it means we can/should sprinkle some
"#ifdef CONFIG_ARCH_R8A7795_ES1" checks in the clk/pfc/sysc driver code?

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

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

* Re: [PATCH v3 1/3] arm64: dts: r8a7795: Add support for R-Car H3 ES2.0
  2017-05-11 14:53     ` Simon Horman
@ 2017-05-11 15:42       ` Geert Uytterhoeven
  -1 siblings, 0 replies; 24+ messages in thread
From: Geert Uytterhoeven @ 2017-05-11 15:42 UTC (permalink / raw)
  To: Simon Horman
  Cc: Geert Uytterhoeven, Magnus Damm, Yoshihiro Shimoda,
	Kuninori Morimoto, Laurent Pinchart, Wolfram Sang, Sjoerd Simons,
	Linux-Renesas, linux-arm-kernel

Hi Simon,

On Thu, May 11, 2017 at 4:53 PM, Simon Horman <horms@verge.net.au> wrote:
> On Thu, May 11, 2017 at 01:58:52PM +0200, 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
>>     "compatible" and "vsps" properties 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.
>
> I think the above should be re-worded given your explanation below the
> scissors that no deletion or overriding occurs.

I wanted to document clearly what needs to be done in the generic case...
I agree no removal or override is done right now.

If you prefer it that way, I can reword it.

>> Switch r8a7795-salvator-x.dts and r8a7795-h3ulcb.dts from r8a7795.dtsi
>> to r8a7795-es1.dtsi to preserve compatibility.
>>
>> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
>> ---
>> 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>;
>>       };
>>
>>       &<label> {
>>               /delete-property/ <prop>;
>>       };
>
> I would be interested to also see an example of an override and
> for the examples to be included in the changelog itself.

You mean above the scissors? ;-)

Currently we don't have any devices or properties in DT that need removals
or overrides. Note that I did test those.

If we add the "vsps" property to the DU node for ES2.0, we can have an
override for it now.  But we've plenty of experience with letting .dts
override properties in .dtsi.

For node deletion, we'll have to wait until someone enables the extra USB
channels on ES2.0.

For property deletion, I don't have an actual example in mind, but I wanted
to be sure that worked in case we ever need it.

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

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

* [PATCH v3 1/3] arm64: dts: r8a7795: Add support for R-Car H3 ES2.0
@ 2017-05-11 15:42       ` Geert Uytterhoeven
  0 siblings, 0 replies; 24+ messages in thread
From: Geert Uytterhoeven @ 2017-05-11 15:42 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Simon,

On Thu, May 11, 2017 at 4:53 PM, Simon Horman <horms@verge.net.au> wrote:
> On Thu, May 11, 2017 at 01:58:52PM +0200, 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
>>     "compatible" and "vsps" properties 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.
>
> I think the above should be re-worded given your explanation below the
> scissors that no deletion or overriding occurs.

I wanted to document clearly what needs to be done in the generic case...
I agree no removal or override is done right now.

If you prefer it that way, I can reword it.

>> Switch r8a7795-salvator-x.dts and r8a7795-h3ulcb.dts from r8a7795.dtsi
>> to r8a7795-es1.dtsi to preserve compatibility.
>>
>> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
>> ---
>> 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>;
>>       };
>>
>>       &<label> {
>>               /delete-property/ <prop>;
>>       };
>
> I would be interested to also see an example of an override and
> for the examples to be included in the changelog itself.

You mean above the scissors? ;-)

Currently we don't have any devices or properties in DT that need removals
or overrides. Note that I did test those.

If we add the "vsps" property to the DU node for ES2.0, we can have an
override for it now.  But we've plenty of experience with letting .dts
override properties in .dtsi.

For node deletion, we'll have to wait until someone enables the extra USB
channels on ES2.0.

For property deletion, I don't have an actual example in mind, but I wanted
to be sure that worked in case we ever need it.

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

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

* Re: [PATCH v3 2/3] arm64: dts: r8a7795: salvator-x: Add support for R-Car H3 ES2.0
  2017-05-11 15:18       ` Geert Uytterhoeven
@ 2017-05-12  7:29         ` Simon Horman
  -1 siblings, 0 replies; 24+ messages in thread
From: Simon Horman @ 2017-05-12  7:29 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Geert Uytterhoeven, Magnus Damm, Yoshihiro Shimoda,
	Kuninori Morimoto, Laurent Pinchart, Wolfram Sang, Sjoerd Simons,
	Linux-Renesas, linux-arm-kernel

On Thu, May 11, 2017 at 05:18:00PM +0200, Geert Uytterhoeven wrote:
> Hi Simon,
> 
> On Thu, May 11, 2017 at 4:53 PM, Simon Horman <horms@verge.net.au> wrote:
> > On Thu, May 11, 2017 at 01:58:53PM +0200, Geert Uytterhoeven wrote:
> >> 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.
> >>
> >> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> 
> >> --- a/arch/arm64/boot/dts/renesas/Makefile
> >> +++ b/arch/arm64/boot/dts/renesas/Makefile
> >> @@ -1,4 +1,5 @@
> >>  dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-salvator-x.dtb r8a7795-h3ulcb.dtb
> >> +dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-es1-salvator-x.dtb
> >
> > Probably this was already discussed but I wonder if there is any value
> > in a CONFIG_ARCH_R8A7795_ES1 Kconfig symbol to allow more fine grained
> > control over what is compiled into the kernel.
> 
> The plan was always to have a single binary supporting both.
> So I think it makes sense to have a single DT build (as in both DTBs are
> built), too.
> 
> Note that if we add and use CONFIG_ARCH_R8A7795_ES1 here, the ES1 DTB will
> no longer be always created, making it even harder for people who want to
> support multiple kernel versions.
> 
> E.g. to pick the correct DTB for Salvator-X with H3 ES1.0, I have the
> following in my install script:
> 
>     DTB=arch/arm64/boot/dts/renesas/r8a7795-es1-salvator-x.dtb
>     if [ ! -e $DTB ]; then
>         DTB=arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dtb
>     fi
> 
> If we change our mind, it means we can/should sprinkle some
> "#ifdef CONFIG_ARCH_R8A7795_ES1" checks in the clk/pfc/sysc driver code?

Maybe it would.

Thanks for your explanation above. I think it reasonable to leave things
as-is and not introduce CONFIG_ARCH_R8A7795_ES1 for now.

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

* [PATCH v3 2/3] arm64: dts: r8a7795: salvator-x: Add support for R-Car H3 ES2.0
@ 2017-05-12  7:29         ` Simon Horman
  0 siblings, 0 replies; 24+ messages in thread
From: Simon Horman @ 2017-05-12  7:29 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, May 11, 2017 at 05:18:00PM +0200, Geert Uytterhoeven wrote:
> Hi Simon,
> 
> On Thu, May 11, 2017 at 4:53 PM, Simon Horman <horms@verge.net.au> wrote:
> > On Thu, May 11, 2017 at 01:58:53PM +0200, Geert Uytterhoeven wrote:
> >> 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.
> >>
> >> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> 
> >> --- a/arch/arm64/boot/dts/renesas/Makefile
> >> +++ b/arch/arm64/boot/dts/renesas/Makefile
> >> @@ -1,4 +1,5 @@
> >>  dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-salvator-x.dtb r8a7795-h3ulcb.dtb
> >> +dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-es1-salvator-x.dtb
> >
> > Probably this was already discussed but I wonder if there is any value
> > in a CONFIG_ARCH_R8A7795_ES1 Kconfig symbol to allow more fine grained
> > control over what is compiled into the kernel.
> 
> The plan was always to have a single binary supporting both.
> So I think it makes sense to have a single DT build (as in both DTBs are
> built), too.
> 
> Note that if we add and use CONFIG_ARCH_R8A7795_ES1 here, the ES1 DTB will
> no longer be always created, making it even harder for people who want to
> support multiple kernel versions.
> 
> E.g. to pick the correct DTB for Salvator-X with H3 ES1.0, I have the
> following in my install script:
> 
>     DTB=arch/arm64/boot/dts/renesas/r8a7795-es1-salvator-x.dtb
>     if [ ! -e $DTB ]; then
>         DTB=arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dtb
>     fi
> 
> If we change our mind, it means we can/should sprinkle some
> "#ifdef CONFIG_ARCH_R8A7795_ES1" checks in the clk/pfc/sysc driver code?

Maybe it would.

Thanks for your explanation above. I think it reasonable to leave things
as-is and not introduce CONFIG_ARCH_R8A7795_ES1 for now.

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

* Re: [PATCH v3 1/3] arm64: dts: r8a7795: Add support for R-Car H3 ES2.0
  2017-05-11 15:42       ` Geert Uytterhoeven
@ 2017-05-12  7:32         ` Simon Horman
  -1 siblings, 0 replies; 24+ messages in thread
From: Simon Horman @ 2017-05-12  7:32 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Geert Uytterhoeven, Magnus Damm, Yoshihiro Shimoda,
	Kuninori Morimoto, Laurent Pinchart, Wolfram Sang, Sjoerd Simons,
	Linux-Renesas, linux-arm-kernel

On Thu, May 11, 2017 at 05:42:27PM +0200, Geert Uytterhoeven wrote:
> Hi Simon,
> 
> On Thu, May 11, 2017 at 4:53 PM, Simon Horman <horms@verge.net.au> wrote:
> > On Thu, May 11, 2017 at 01:58:52PM +0200, 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
> >>     "compatible" and "vsps" properties 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.
> >
> > I think the above should be re-worded given your explanation below the
> > scissors that no deletion or overriding occurs.
> 
> I wanted to document clearly what needs to be done in the generic case...
> I agree no removal or override is done right now.
> 
> If you prefer it that way, I can reword it.

I think I would prefer that.

> >> Switch r8a7795-salvator-x.dts and r8a7795-h3ulcb.dts from r8a7795.dtsi
> >> to r8a7795-es1.dtsi to preserve compatibility.
> >>
> >> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> >> ---
> >> 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>;
> >>       };
> >>
> >>       &<label> {
> >>               /delete-property/ <prop>;
> >>       };
> >
> > I would be interested to also see an example of an override and
> > for the examples to be included in the changelog itself.
> 
> You mean above the scissors? ;-)

Yes, that is what I meant.

> Currently we don't have any devices or properties in DT that need removals
> or overrides. Note that I did test those.
> 
> If we add the "vsps" property to the DU node for ES2.0, we can have an
> override for it now.  But we've plenty of experience with letting .dts
> override properties in .dtsi.

Ok, point taken.

> For node deletion, we'll have to wait until someone enables the extra USB
> channels on ES2.0.
> 
> For property deletion, I don't have an actual example in mind, but I wanted
> to be sure that worked in case we ever need it.

I appreciate you taking the time to test deletion.
I think its worth documenting above the scissors.

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

* [PATCH v3 1/3] arm64: dts: r8a7795: Add support for R-Car H3 ES2.0
@ 2017-05-12  7:32         ` Simon Horman
  0 siblings, 0 replies; 24+ messages in thread
From: Simon Horman @ 2017-05-12  7:32 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, May 11, 2017 at 05:42:27PM +0200, Geert Uytterhoeven wrote:
> Hi Simon,
> 
> On Thu, May 11, 2017 at 4:53 PM, Simon Horman <horms@verge.net.au> wrote:
> > On Thu, May 11, 2017 at 01:58:52PM +0200, 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
> >>     "compatible" and "vsps" properties 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.
> >
> > I think the above should be re-worded given your explanation below the
> > scissors that no deletion or overriding occurs.
> 
> I wanted to document clearly what needs to be done in the generic case...
> I agree no removal or override is done right now.
> 
> If you prefer it that way, I can reword it.

I think I would prefer that.

> >> Switch r8a7795-salvator-x.dts and r8a7795-h3ulcb.dts from r8a7795.dtsi
> >> to r8a7795-es1.dtsi to preserve compatibility.
> >>
> >> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> >> ---
> >> 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>;
> >>       };
> >>
> >>       &<label> {
> >>               /delete-property/ <prop>;
> >>       };
> >
> > I would be interested to also see an example of an override and
> > for the examples to be included in the changelog itself.
> 
> You mean above the scissors? ;-)

Yes, that is what I meant.

> Currently we don't have any devices or properties in DT that need removals
> or overrides. Note that I did test those.
> 
> If we add the "vsps" property to the DU node for ES2.0, we can have an
> override for it now.  But we've plenty of experience with letting .dts
> override properties in .dtsi.

Ok, point taken.

> For node deletion, we'll have to wait until someone enables the extra USB
> channels on ES2.0.
> 
> For property deletion, I don't have an actual example in mind, but I wanted
> to be sure that worked in case we ever need it.

I appreciate you taking the time to test deletion.
I think its worth documenting above the scissors.

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

* Re: [PATCH v3 1/3] arm64: dts: r8a7795: Add support for R-Car H3 ES2.0
  2017-05-12  7:32         ` Simon Horman
@ 2017-05-12  9:49           ` Geert Uytterhoeven
  -1 siblings, 0 replies; 24+ messages in thread
From: Geert Uytterhoeven @ 2017-05-12  9:49 UTC (permalink / raw)
  To: Simon Horman
  Cc: Geert Uytterhoeven, Magnus Damm, Yoshihiro Shimoda,
	Kuninori Morimoto, Laurent Pinchart, Wolfram Sang, Sjoerd Simons,
	Linux-Renesas, linux-arm-kernel

Hi Simon,

On Fri, May 12, 2017 at 9:32 AM, Simon Horman <horms@verge.net.au> wrote:
> On Thu, May 11, 2017 at 05:42:27PM +0200, Geert Uytterhoeven wrote:
>> On Thu, May 11, 2017 at 4:53 PM, Simon Horman <horms@verge.net.au> wrote:
>> > On Thu, May 11, 2017 at 01:58:52PM +0200, 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
>> >>     "compatible" and "vsps" properties 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.
>> >
>> > I think the above should be re-worded given your explanation below the
>> > scissors that no deletion or overriding occurs.
>>
>> I wanted to document clearly what needs to be done in the generic case...
>> I agree no removal or override is done right now.
>>
>> If you prefer it that way, I can reword it.
>
> I think I would prefer that.
>
>> >> Switch r8a7795-salvator-x.dts and r8a7795-h3ulcb.dts from r8a7795.dtsi
>> >> to r8a7795-es1.dtsi to preserve compatibility.
>> >>
>> >> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
>> >> ---
>> >> 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>;
>> >>       };
>> >>
>> >>       &<label> {
>> >>               /delete-property/ <prop>;
>> >>       };
>> >
>> > I would be interested to also see an example of an override and
>> > for the examples to be included in the changelog itself.
>>
>> You mean above the scissors? ;-)
>
> Yes, that is what I meant.
>
>> Currently we don't have any devices or properties in DT that need removals
>> or overrides. Note that I did test those.
>>
>> If we add the "vsps" property to the DU node for ES2.0, we can have an
>> override for it now.  But we've plenty of experience with letting .dts
>> override properties in .dtsi.
>
> Ok, point taken.
>
>> For node deletion, we'll have to wait until someone enables the extra USB
>> channels on ES2.0.
>>
>> For property deletion, I don't have an actual example in mind, but I wanted
>> to be sure that worked in case we ever need it.
>
> I appreciate you taking the time to test deletion.
> I think its worth documenting above the scissors.

Will update in v4. I''l have to rebase anyway.

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

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

* [PATCH v3 1/3] arm64: dts: r8a7795: Add support for R-Car H3 ES2.0
@ 2017-05-12  9:49           ` Geert Uytterhoeven
  0 siblings, 0 replies; 24+ messages in thread
From: Geert Uytterhoeven @ 2017-05-12  9:49 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Simon,

On Fri, May 12, 2017 at 9:32 AM, Simon Horman <horms@verge.net.au> wrote:
> On Thu, May 11, 2017 at 05:42:27PM +0200, Geert Uytterhoeven wrote:
>> On Thu, May 11, 2017 at 4:53 PM, Simon Horman <horms@verge.net.au> wrote:
>> > On Thu, May 11, 2017 at 01:58:52PM +0200, 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
>> >>     "compatible" and "vsps" properties 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.
>> >
>> > I think the above should be re-worded given your explanation below the
>> > scissors that no deletion or overriding occurs.
>>
>> I wanted to document clearly what needs to be done in the generic case...
>> I agree no removal or override is done right now.
>>
>> If you prefer it that way, I can reword it.
>
> I think I would prefer that.
>
>> >> Switch r8a7795-salvator-x.dts and r8a7795-h3ulcb.dts from r8a7795.dtsi
>> >> to r8a7795-es1.dtsi to preserve compatibility.
>> >>
>> >> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
>> >> ---
>> >> 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>;
>> >>       };
>> >>
>> >>       &<label> {
>> >>               /delete-property/ <prop>;
>> >>       };
>> >
>> > I would be interested to also see an example of an override and
>> > for the examples to be included in the changelog itself.
>>
>> You mean above the scissors? ;-)
>
> Yes, that is what I meant.
>
>> Currently we don't have any devices or properties in DT that need removals
>> or overrides. Note that I did test those.
>>
>> If we add the "vsps" property to the DU node for ES2.0, we can have an
>> override for it now.  But we've plenty of experience with letting .dts
>> override properties in .dtsi.
>
> Ok, point taken.
>
>> For node deletion, we'll have to wait until someone enables the extra USB
>> channels on ES2.0.
>>
>> For property deletion, I don't have an actual example in mind, but I wanted
>> to be sure that worked in case we ever need it.
>
> I appreciate you taking the time to test deletion.
> I think its worth documenting above the scissors.

Will update in v4. I''l have to rebase anyway.

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

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

* Re: [PATCH v3 1/3] arm64: dts: r8a7795: Add support for R-Car H3 ES2.0
  2017-05-12  9:49           ` Geert Uytterhoeven
@ 2017-05-15  5:37             ` Simon Horman
  -1 siblings, 0 replies; 24+ messages in thread
From: Simon Horman @ 2017-05-15  5:37 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Geert Uytterhoeven, Magnus Damm, Yoshihiro Shimoda,
	Kuninori Morimoto, Laurent Pinchart, Wolfram Sang, Sjoerd Simons,
	Linux-Renesas, linux-arm-kernel

On Fri, May 12, 2017 at 11:49:24AM +0200, Geert Uytterhoeven wrote:
> Hi Simon,
> 
> On Fri, May 12, 2017 at 9:32 AM, Simon Horman <horms@verge.net.au> wrote:
> > On Thu, May 11, 2017 at 05:42:27PM +0200, Geert Uytterhoeven wrote:
> >> On Thu, May 11, 2017 at 4:53 PM, Simon Horman <horms@verge.net.au> wrote:
> >> > On Thu, May 11, 2017 at 01:58:52PM +0200, 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
> >> >>     "compatible" and "vsps" properties 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.
> >> >
> >> > I think the above should be re-worded given your explanation below the
> >> > scissors that no deletion or overriding occurs.
> >>
> >> I wanted to document clearly what needs to be done in the generic case...
> >> I agree no removal or override is done right now.
> >>
> >> If you prefer it that way, I can reword it.
> >
> > I think I would prefer that.
> >
> >> >> Switch r8a7795-salvator-x.dts and r8a7795-h3ulcb.dts from r8a7795.dtsi
> >> >> to r8a7795-es1.dtsi to preserve compatibility.
> >> >>
> >> >> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> >> >> ---
> >> >> 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>;
> >> >>       };
> >> >>
> >> >>       &<label> {
> >> >>               /delete-property/ <prop>;
> >> >>       };
> >> >
> >> > I would be interested to also see an example of an override and
> >> > for the examples to be included in the changelog itself.
> >>
> >> You mean above the scissors? ;-)
> >
> > Yes, that is what I meant.
> >
> >> Currently we don't have any devices or properties in DT that need removals
> >> or overrides. Note that I did test those.
> >>
> >> If we add the "vsps" property to the DU node for ES2.0, we can have an
> >> override for it now.  But we've plenty of experience with letting .dts
> >> override properties in .dtsi.
> >
> > Ok, point taken.
> >
> >> For node deletion, we'll have to wait until someone enables the extra USB
> >> channels on ES2.0.
> >>
> >> For property deletion, I don't have an actual example in mind, but I wanted
> >> to be sure that worked in case we ever need it.
> >
> > I appreciate you taking the time to test deletion.
> > I think its worth documenting above the scissors.
> 
> Will update in v4. I''l have to rebase anyway.

Great, thanks!

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

* [PATCH v3 1/3] arm64: dts: r8a7795: Add support for R-Car H3 ES2.0
@ 2017-05-15  5:37             ` Simon Horman
  0 siblings, 0 replies; 24+ messages in thread
From: Simon Horman @ 2017-05-15  5:37 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, May 12, 2017 at 11:49:24AM +0200, Geert Uytterhoeven wrote:
> Hi Simon,
> 
> On Fri, May 12, 2017 at 9:32 AM, Simon Horman <horms@verge.net.au> wrote:
> > On Thu, May 11, 2017 at 05:42:27PM +0200, Geert Uytterhoeven wrote:
> >> On Thu, May 11, 2017 at 4:53 PM, Simon Horman <horms@verge.net.au> wrote:
> >> > On Thu, May 11, 2017 at 01:58:52PM +0200, 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
> >> >>     "compatible" and "vsps" properties 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.
> >> >
> >> > I think the above should be re-worded given your explanation below the
> >> > scissors that no deletion or overriding occurs.
> >>
> >> I wanted to document clearly what needs to be done in the generic case...
> >> I agree no removal or override is done right now.
> >>
> >> If you prefer it that way, I can reword it.
> >
> > I think I would prefer that.
> >
> >> >> Switch r8a7795-salvator-x.dts and r8a7795-h3ulcb.dts from r8a7795.dtsi
> >> >> to r8a7795-es1.dtsi to preserve compatibility.
> >> >>
> >> >> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> >> >> ---
> >> >> 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>;
> >> >>       };
> >> >>
> >> >>       &<label> {
> >> >>               /delete-property/ <prop>;
> >> >>       };
> >> >
> >> > I would be interested to also see an example of an override and
> >> > for the examples to be included in the changelog itself.
> >>
> >> You mean above the scissors? ;-)
> >
> > Yes, that is what I meant.
> >
> >> Currently we don't have any devices or properties in DT that need removals
> >> or overrides. Note that I did test those.
> >>
> >> If we add the "vsps" property to the DU node for ES2.0, we can have an
> >> override for it now.  But we've plenty of experience with letting .dts
> >> override properties in .dtsi.
> >
> > Ok, point taken.
> >
> >> For node deletion, we'll have to wait until someone enables the extra USB
> >> channels on ES2.0.
> >>
> >> For property deletion, I don't have an actual example in mind, but I wanted
> >> to be sure that worked in case we ever need it.
> >
> > I appreciate you taking the time to test deletion.
> > I think its worth documenting above the scissors.
> 
> Will update in v4. I''l have to rebase anyway.

Great, thanks!

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

end of thread, other threads:[~2017-05-15  5:37 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-11 11:58 [PATCH v3 0/3] arm64: dts: r8a7795: Add support for R-Car H3 ES2.0 Geert Uytterhoeven
2017-05-11 11:58 ` Geert Uytterhoeven
2017-05-11 11:58 ` [PATCH v3 1/3] " Geert Uytterhoeven
2017-05-11 11:58   ` Geert Uytterhoeven
2017-05-11 14:53   ` Simon Horman
2017-05-11 14:53     ` Simon Horman
2017-05-11 15:42     ` Geert Uytterhoeven
2017-05-11 15:42       ` Geert Uytterhoeven
2017-05-12  7:32       ` Simon Horman
2017-05-12  7:32         ` Simon Horman
2017-05-12  9:49         ` Geert Uytterhoeven
2017-05-12  9:49           ` Geert Uytterhoeven
2017-05-15  5:37           ` Simon Horman
2017-05-15  5:37             ` Simon Horman
2017-05-11 11:58 ` [PATCH v3 2/3] arm64: dts: r8a7795: salvator-x: " Geert Uytterhoeven
2017-05-11 11:58   ` Geert Uytterhoeven
2017-05-11 14:53   ` Simon Horman
2017-05-11 14:53     ` Simon Horman
2017-05-11 15:18     ` Geert Uytterhoeven
2017-05-11 15:18       ` Geert Uytterhoeven
2017-05-12  7:29       ` Simon Horman
2017-05-12  7:29         ` Simon Horman
2017-05-11 11:58 ` [PATCH v3 3/3] arm64: dts: r8a7795: h3ulcb: " Geert Uytterhoeven
2017-05-11 11:58   ` Geert Uytterhoeven

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.