All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v12 0/7] arm64: renesas: Add Renesas R8A7795 SoC support
@ 2015-10-26  6:01 ` Simon Horman
  0 siblings, 0 replies; 36+ messages in thread
From: Simon Horman @ 2015-10-26  6:01 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

this patchset adds basic support for the Renesas R-Car H3 (R8A7795) SoC
and its Saovator-X board.


Based on a merge of:
* v4.3-rc1
* clk-shmobile-for-v4.4 branch of 
  git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers
  This provides the bindings and includes for the new CPG driver.
  These are queued up by the subsystem maintainer, Mike Turquette,
  for v4.4.

Run-time dependencies:
* The base
* The new GPG driver
  "[PATCH/RFC v4 0/5] clk: shmobile: Add new Renesas CPG/MSSR DT bindings"
  and its dependencies. This may be found in the
  topic/cpg-mssr-v4 branch of
  git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers


For changes see per-patch changelogs.


Gaku Inami (1):
  arm64: renesas: r8a7795: Add Renesas R8A7795 SoC support

Geert Uytterhoeven (2):
  arm64: renesas: r8a7795 dtsi: Add dummy dma-controller nodes
  arm64: renesas: r8a7795 dtsi: Add all SCIF nodes

Kuninori Morimoto (3):
  arm64: renesas: r8a7795: enable PFC
  arm64: renesas: add Salvator-X board support on DTS
  arm64: defconfig: renesas: Enable Renesas r8a7795 SoC

Simon Horman (1):
  MAINTAINERS: Add entry Renesas arm64 architecture

 Documentation/devicetree/bindings/arm/shmobile.txt |   4 +
 MAINTAINERS                                        |   9 ++
 arch/arm64/Kconfig.platforms                       |  17 ++
 arch/arm64/boot/dts/Makefile                       |   1 +
 arch/arm64/boot/dts/renesas/Makefile               |   4 +
 arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts |  62 ++++++++
 arch/arm64/boot/dts/renesas/r8a7795.dtsi           | 172 +++++++++++++++++++++
 arch/arm64/configs/defconfig                       |   5 +
 8 files changed, 274 insertions(+)
 create mode 100644 arch/arm64/boot/dts/renesas/Makefile
 create mode 100644 arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
 create mode 100644 arch/arm64/boot/dts/renesas/r8a7795.dtsi

-- 
2.1.4


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

* [PATCH v12 0/7] arm64: renesas: Add Renesas R8A7795 SoC support
@ 2015-10-26  6:01 ` Simon Horman
  0 siblings, 0 replies; 36+ messages in thread
From: Simon Horman @ 2015-10-26  6:01 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

this patchset adds basic support for the Renesas R-Car H3 (R8A7795) SoC
and its Saovator-X board.


Based on a merge of:
* v4.3-rc1
* clk-shmobile-for-v4.4 branch of 
  git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers
  This provides the bindings and includes for the new CPG driver.
  These are queued up by the subsystem maintainer, Mike Turquette,
  for v4.4.

Run-time dependencies:
* The base
* The new GPG driver
  "[PATCH/RFC v4 0/5] clk: shmobile: Add new Renesas CPG/MSSR DT bindings"
  and its dependencies. This may be found in the
  topic/cpg-mssr-v4 branch of
  git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers


For changes see per-patch changelogs.


Gaku Inami (1):
  arm64: renesas: r8a7795: Add Renesas R8A7795 SoC support

Geert Uytterhoeven (2):
  arm64: renesas: r8a7795 dtsi: Add dummy dma-controller nodes
  arm64: renesas: r8a7795 dtsi: Add all SCIF nodes

Kuninori Morimoto (3):
  arm64: renesas: r8a7795: enable PFC
  arm64: renesas: add Salvator-X board support on DTS
  arm64: defconfig: renesas: Enable Renesas r8a7795 SoC

Simon Horman (1):
  MAINTAINERS: Add entry Renesas arm64 architecture

 Documentation/devicetree/bindings/arm/shmobile.txt |   4 +
 MAINTAINERS                                        |   9 ++
 arch/arm64/Kconfig.platforms                       |  17 ++
 arch/arm64/boot/dts/Makefile                       |   1 +
 arch/arm64/boot/dts/renesas/Makefile               |   4 +
 arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts |  62 ++++++++
 arch/arm64/boot/dts/renesas/r8a7795.dtsi           | 172 +++++++++++++++++++++
 arch/arm64/configs/defconfig                       |   5 +
 8 files changed, 274 insertions(+)
 create mode 100644 arch/arm64/boot/dts/renesas/Makefile
 create mode 100644 arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
 create mode 100644 arch/arm64/boot/dts/renesas/r8a7795.dtsi

-- 
2.1.4

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

* [PATCH v12 1/7] arm64: renesas: r8a7795: Add Renesas R8A7795 SoC support
  2015-10-26  6:01 ` Simon Horman
@ 2015-10-26  6:01   ` Simon Horman
  -1 siblings, 0 replies; 36+ messages in thread
From: Simon Horman @ 2015-10-26  6:01 UTC (permalink / raw)
  To: linux-arm-kernel

From: Gaku Inami <gaku.inami.xw@bp.renesas.com>

Initial version of Renesas R-Car H3 support (V10)

Signed-off-by: Gaku Inami <gaku.inami.xw@bp.renesas.com>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
Changes since v11: (Simon Horman <horms+renesas@verge.net.au>)
- Update for new CPG/MSSR bindings via Geert Uytterhoeven

Changes since v10:
- None

Changes since v9: (Magnus Damm <damm+renesas@opensource.se>)
- Added clock-output-names for the CPG

Changes since v8: (Magnus Damm <damm+renesas@opensource.se>)
- Renamed xtal node name to drop _clk - thanks Geert!
- Kconfig s/platform/platforms/g - thanks Laurent!
- Added select PINCTRL - thanks Geert
- Removed unused Makefile subdir line - thanks Laurent!

Changes since v7: (Magnus Damm <damm+renesas@opensource.se>)
- Folded together the following patches from v7:
   [PATCH 6/25] arm64: renesas: Add new Renesas R-Car Gen3 SoC Kconfig
   [PATCH 7/25] arm64: renesas: r8a7795: Add Renesas R8A7795 SoC support
   [PATCH 8/25] arm64: renesas: r8a7795: Add initial SoC support
- Updated Kconfig bits
   Changed to CONFIG_ARCH_R8A7795 and CONFIG_RENESAS
   CONFIG_ARCH_SHMOBILE is still set to be able to build various drivers
   CONFIG_ARCH_SHMOBILE_MULTI is gone
   select PM_GENERIC_DOMAINS if PM
- Moved "s3d4_clk" to clock patch from geert
- Replaced CPG clock-output-names with clock-indices
- set #power-domain-cells to 0
---
 Documentation/devicetree/bindings/arm/shmobile.txt |  2 +
 arch/arm64/Kconfig.platforms                       | 17 +++++
 arch/arm64/boot/dts/Makefile                       |  1 +
 arch/arm64/boot/dts/renesas/Makefile               |  2 +
 arch/arm64/boot/dts/renesas/r8a7795.dtsi           | 82 ++++++++++++++++++++++
 5 files changed, 104 insertions(+)
 create mode 100644 arch/arm64/boot/dts/renesas/Makefile
 create mode 100644 arch/arm64/boot/dts/renesas/r8a7795.dtsi

diff --git a/Documentation/devicetree/bindings/arm/shmobile.txt b/Documentation/devicetree/bindings/arm/shmobile.txt
index c4f19b2e7dd9..8d696a0d62b3 100644
--- a/Documentation/devicetree/bindings/arm/shmobile.txt
+++ b/Documentation/devicetree/bindings/arm/shmobile.txt
@@ -27,6 +27,8 @@ SoCs:
     compatible = "renesas,r8a7793"
   - R-Car E2 (R8A77940)
     compatible = "renesas,r8a7794"
+  - R-Car H3 (R8A77950)
+    compatible = "renesas,r8a7795"
 
 
 Boards:
diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
index 23800a19a7bc..04bf6de3b01a 100644
--- a/arch/arm64/Kconfig.platforms
+++ b/arch/arm64/Kconfig.platforms
@@ -66,6 +66,23 @@ config ARCH_SEATTLE
 	help
 	  This enables support for AMD Seattle SOC Family
 
+config ARCH_SHMOBILE
+	bool
+
+config ARCH_RENESAS
+	bool "Renesas SoC Platforms"
+	select ARCH_SHMOBILE
+	select PINCTRL
+	select PM_GENERIC_DOMAINS if PM
+	help
+	  This enables support for the ARMv8 based Renesas SoCs.
+
+config ARCH_R8A7795
+	bool "Renesas R-Car H3 SoC Platform"
+	depends on ARCH_RENESAS
+	help
+	  This enables support for the Renesas R-Car H3 SoC.
+
 config ARCH_TEGRA
 	bool "NVIDIA Tegra SoC Family"
 	select ARCH_HAS_RESET_CONTROLLER
diff --git a/arch/arm64/boot/dts/Makefile b/arch/arm64/boot/dts/Makefile
index d9f88330e7b0..54e401119639 100644
--- a/arch/arm64/boot/dts/Makefile
+++ b/arch/arm64/boot/dts/Makefile
@@ -9,6 +9,7 @@ dts-dirs += hisilicon
 dts-dirs += marvell
 dts-dirs += mediatek
 dts-dirs += qcom
+dts-dirs += renesas
 dts-dirs += rockchip
 dts-dirs += sprd
 dts-dirs += xilinx
diff --git a/arch/arm64/boot/dts/renesas/Makefile b/arch/arm64/boot/dts/renesas/Makefile
new file mode 100644
index 000000000000..fec69f46d65b
--- /dev/null
+++ b/arch/arm64/boot/dts/renesas/Makefile
@@ -0,0 +1,2 @@
+always		:= $(dtb-y)
+clean-files	:= *.dtb
diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
new file mode 100644
index 000000000000..aa13115387a6
--- /dev/null
+++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
@@ -0,0 +1,82 @@
+/*
+ * Device Tree Source for the r8a7795 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 <dt-bindings/interrupt-controller/arm-gic.h>
+
+/ {
+	compatible = "renesas,r8a7795";
+	#address-cells = <2>;
+	#size-cells = <2>;
+
+	cpus {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		/* 1core only at this point */
+		a57_0: cpu@0 {
+			compatible = "arm,cortex-a57", "arm,armv8";
+			reg = <0x0>;
+			device_type = "cpu";
+		};
+	};
+
+	extal_clk: extal {
+		compatible = "fixed-clock";
+		#clock-cells = <0>;
+		clock-frequency = <0>;
+	};
+
+	extalr_clk: extalr {
+		compatible = "fixed-clock";
+		#clock-cells = <0>;
+		/* This value must be overridden by the board */
+		clock-frequency = <0>;
+	};
+
+	soc {
+		compatible = "simple-bus";
+		interrupt-parent = <&gic>;
+		#address-cells = <2>;
+		#size-cells = <2>;
+		ranges;
+
+		gic: interrupt-controller@0xf1010000 {
+			compatible = "arm,gic-400";
+			#interrupt-cells = <3>;
+			#address-cells = <0>;
+			interrupt-controller;
+			reg = <0x0 0xf1010000 0 0x1000>,
+			      <0x0 0xf1020000 0 0x2000>;
+			interrupts = <GIC_PPI 9
+					(GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>;
+		};
+
+		timer {
+			compatible = "arm,armv8-timer";
+			interrupts = <GIC_PPI 13
+					(GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
+				     <GIC_PPI 14
+					(GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
+				     <GIC_PPI 11
+					(GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
+				     <GIC_PPI 10
+					(GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>;
+		};
+
+		cpg: clock-controller@e6150000 {
+			compatible = "renesas,r8a7795-cpg-mssr";
+			reg = <0 0xe6150000 0 0x1000>;
+			clocks = <&extal_clk>, <&extalr_clk>;
+			clock-names = "extal", "extalr";
+			#clock-cells = <2>;
+			#power-domain-cells = <0>;
+		};
+	};
+};
-- 
2.1.4


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

* [PATCH v12 1/7] arm64: renesas: r8a7795: Add Renesas R8A7795 SoC support
@ 2015-10-26  6:01   ` Simon Horman
  0 siblings, 0 replies; 36+ messages in thread
From: Simon Horman @ 2015-10-26  6:01 UTC (permalink / raw)
  To: linux-arm-kernel

From: Gaku Inami <gaku.inami.xw@bp.renesas.com>

Initial version of Renesas R-Car H3 support (V10)

Signed-off-by: Gaku Inami <gaku.inami.xw@bp.renesas.com>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
Changes since v11: (Simon Horman <horms+renesas@verge.net.au>)
- Update for new CPG/MSSR bindings via Geert Uytterhoeven

Changes since v10:
- None

Changes since v9: (Magnus Damm <damm+renesas@opensource.se>)
- Added clock-output-names for the CPG

Changes since v8: (Magnus Damm <damm+renesas@opensource.se>)
- Renamed xtal node name to drop _clk - thanks Geert!
- Kconfig s/platform/platforms/g - thanks Laurent!
- Added select PINCTRL - thanks Geert
- Removed unused Makefile subdir line - thanks Laurent!

Changes since v7: (Magnus Damm <damm+renesas@opensource.se>)
- Folded together the following patches from v7:
   [PATCH 6/25] arm64: renesas: Add new Renesas R-Car Gen3 SoC Kconfig
   [PATCH 7/25] arm64: renesas: r8a7795: Add Renesas R8A7795 SoC support
   [PATCH 8/25] arm64: renesas: r8a7795: Add initial SoC support
- Updated Kconfig bits
   Changed to CONFIG_ARCH_R8A7795 and CONFIG_RENESAS
   CONFIG_ARCH_SHMOBILE is still set to be able to build various drivers
   CONFIG_ARCH_SHMOBILE_MULTI is gone
   select PM_GENERIC_DOMAINS if PM
- Moved "s3d4_clk" to clock patch from geert
- Replaced CPG clock-output-names with clock-indices
- set #power-domain-cells to 0
---
 Documentation/devicetree/bindings/arm/shmobile.txt |  2 +
 arch/arm64/Kconfig.platforms                       | 17 +++++
 arch/arm64/boot/dts/Makefile                       |  1 +
 arch/arm64/boot/dts/renesas/Makefile               |  2 +
 arch/arm64/boot/dts/renesas/r8a7795.dtsi           | 82 ++++++++++++++++++++++
 5 files changed, 104 insertions(+)
 create mode 100644 arch/arm64/boot/dts/renesas/Makefile
 create mode 100644 arch/arm64/boot/dts/renesas/r8a7795.dtsi

diff --git a/Documentation/devicetree/bindings/arm/shmobile.txt b/Documentation/devicetree/bindings/arm/shmobile.txt
index c4f19b2e7dd9..8d696a0d62b3 100644
--- a/Documentation/devicetree/bindings/arm/shmobile.txt
+++ b/Documentation/devicetree/bindings/arm/shmobile.txt
@@ -27,6 +27,8 @@ SoCs:
     compatible = "renesas,r8a7793"
   - R-Car E2 (R8A77940)
     compatible = "renesas,r8a7794"
+  - R-Car H3 (R8A77950)
+    compatible = "renesas,r8a7795"
 
 
 Boards:
diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
index 23800a19a7bc..04bf6de3b01a 100644
--- a/arch/arm64/Kconfig.platforms
+++ b/arch/arm64/Kconfig.platforms
@@ -66,6 +66,23 @@ config ARCH_SEATTLE
 	help
 	  This enables support for AMD Seattle SOC Family
 
+config ARCH_SHMOBILE
+	bool
+
+config ARCH_RENESAS
+	bool "Renesas SoC Platforms"
+	select ARCH_SHMOBILE
+	select PINCTRL
+	select PM_GENERIC_DOMAINS if PM
+	help
+	  This enables support for the ARMv8 based Renesas SoCs.
+
+config ARCH_R8A7795
+	bool "Renesas R-Car H3 SoC Platform"
+	depends on ARCH_RENESAS
+	help
+	  This enables support for the Renesas R-Car H3 SoC.
+
 config ARCH_TEGRA
 	bool "NVIDIA Tegra SoC Family"
 	select ARCH_HAS_RESET_CONTROLLER
diff --git a/arch/arm64/boot/dts/Makefile b/arch/arm64/boot/dts/Makefile
index d9f88330e7b0..54e401119639 100644
--- a/arch/arm64/boot/dts/Makefile
+++ b/arch/arm64/boot/dts/Makefile
@@ -9,6 +9,7 @@ dts-dirs += hisilicon
 dts-dirs += marvell
 dts-dirs += mediatek
 dts-dirs += qcom
+dts-dirs += renesas
 dts-dirs += rockchip
 dts-dirs += sprd
 dts-dirs += xilinx
diff --git a/arch/arm64/boot/dts/renesas/Makefile b/arch/arm64/boot/dts/renesas/Makefile
new file mode 100644
index 000000000000..fec69f46d65b
--- /dev/null
+++ b/arch/arm64/boot/dts/renesas/Makefile
@@ -0,0 +1,2 @@
+always		:= $(dtb-y)
+clean-files	:= *.dtb
diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
new file mode 100644
index 000000000000..aa13115387a6
--- /dev/null
+++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
@@ -0,0 +1,82 @@
+/*
+ * Device Tree Source for the r8a7795 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 <dt-bindings/interrupt-controller/arm-gic.h>
+
+/ {
+	compatible = "renesas,r8a7795";
+	#address-cells = <2>;
+	#size-cells = <2>;
+
+	cpus {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		/* 1core only at this point */
+		a57_0: cpu at 0 {
+			compatible = "arm,cortex-a57", "arm,armv8";
+			reg = <0x0>;
+			device_type = "cpu";
+		};
+	};
+
+	extal_clk: extal {
+		compatible = "fixed-clock";
+		#clock-cells = <0>;
+		clock-frequency = <0>;
+	};
+
+	extalr_clk: extalr {
+		compatible = "fixed-clock";
+		#clock-cells = <0>;
+		/* This value must be overridden by the board */
+		clock-frequency = <0>;
+	};
+
+	soc {
+		compatible = "simple-bus";
+		interrupt-parent = <&gic>;
+		#address-cells = <2>;
+		#size-cells = <2>;
+		ranges;
+
+		gic: interrupt-controller at 0xf1010000 {
+			compatible = "arm,gic-400";
+			#interrupt-cells = <3>;
+			#address-cells = <0>;
+			interrupt-controller;
+			reg = <0x0 0xf1010000 0 0x1000>,
+			      <0x0 0xf1020000 0 0x2000>;
+			interrupts = <GIC_PPI 9
+					(GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>;
+		};
+
+		timer {
+			compatible = "arm,armv8-timer";
+			interrupts = <GIC_PPI 13
+					(GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
+				     <GIC_PPI 14
+					(GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
+				     <GIC_PPI 11
+					(GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
+				     <GIC_PPI 10
+					(GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>;
+		};
+
+		cpg: clock-controller at e6150000 {
+			compatible = "renesas,r8a7795-cpg-mssr";
+			reg = <0 0xe6150000 0 0x1000>;
+			clocks = <&extal_clk>, <&extalr_clk>;
+			clock-names = "extal", "extalr";
+			#clock-cells = <2>;
+			#power-domain-cells = <0>;
+		};
+	};
+};
-- 
2.1.4

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

* [PATCH v12 2/7] arm64: renesas: r8a7795 dtsi: Add dummy dma-controller nodes
  2015-10-26  6:01 ` Simon Horman
@ 2015-10-26  6:01   ` Simon Horman
  -1 siblings, 0 replies; 36+ messages in thread
From: Simon Horman @ 2015-10-26  6:01 UTC (permalink / raw)
  To: linux-arm-kernel

From: Geert Uytterhoeven <geert+renesas@glider.be>

Add dummy nodes for the 3 DMA controllers.
This allows to start describing DMA channels for DMA slaves now.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
Changes since v10:
- None

Changes from V9: (Magnus Damm <damm+renesas@opensource.se>)
- Updated to remove fuzz

Changes from V8: (Magnus Damm <damm+renesas@opensource.se>)
- Updated to remove fuzz

Changes from V7: (Magnus Damm <damm+renesas@opensource.se>)
- Changed order not to depend on SCIF patch(es)

Based on:
 [PATCH 2/6] arm64: renesas: r8a7795 dtsi: Add dummy dma-controller nodes
---
 arch/arm64/boot/dts/renesas/r8a7795.dtsi | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
index aa13115387a6..020207e1afe6 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
@@ -78,5 +78,17 @@
 			#clock-cells = <2>;
 			#power-domain-cells = <0>;
 		};
+
+		dmac0: dma-controller@e6700000 {
+			/* Empty node for now */
+		};
+
+		dmac1: dma-controller@e7300000 {
+			/* Empty node for now */
+		};
+
+		dmac2: dma-controller@e7310000 {
+			/* Empty node for now */
+		};
 	};
 };
-- 
2.1.4


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

* [PATCH v12 2/7] arm64: renesas: r8a7795 dtsi: Add dummy dma-controller nodes
@ 2015-10-26  6:01   ` Simon Horman
  0 siblings, 0 replies; 36+ messages in thread
From: Simon Horman @ 2015-10-26  6:01 UTC (permalink / raw)
  To: linux-arm-kernel

From: Geert Uytterhoeven <geert+renesas@glider.be>

Add dummy nodes for the 3 DMA controllers.
This allows to start describing DMA channels for DMA slaves now.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
Changes since v10:
- None

Changes from V9: (Magnus Damm <damm+renesas@opensource.se>)
- Updated to remove fuzz

Changes from V8: (Magnus Damm <damm+renesas@opensource.se>)
- Updated to remove fuzz

Changes from V7: (Magnus Damm <damm+renesas@opensource.se>)
- Changed order not to depend on SCIF patch(es)

Based on:
 [PATCH 2/6] arm64: renesas: r8a7795 dtsi: Add dummy dma-controller nodes
---
 arch/arm64/boot/dts/renesas/r8a7795.dtsi | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
index aa13115387a6..020207e1afe6 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
@@ -78,5 +78,17 @@
 			#clock-cells = <2>;
 			#power-domain-cells = <0>;
 		};
+
+		dmac0: dma-controller at e6700000 {
+			/* Empty node for now */
+		};
+
+		dmac1: dma-controller at e7300000 {
+			/* Empty node for now */
+		};
+
+		dmac2: dma-controller at e7310000 {
+			/* Empty node for now */
+		};
 	};
 };
-- 
2.1.4

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

* [PATCH v12 3/7] arm64: renesas: r8a7795 dtsi: Add all SCIF nodes
  2015-10-26  6:01 ` Simon Horman
@ 2015-10-26  6:01   ` Simon Horman
  -1 siblings, 0 replies; 36+ messages in thread
From: Simon Horman @ 2015-10-26  6:01 UTC (permalink / raw)
  To: linux-arm-kernel

From: Geert Uytterhoeven <geert+renesas@glider.be>

Add the device nodes for all R-Car H3 SCIF serial ports, incl. clocks,
clock domain, and dma properties.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Gaku Inami <gaku.inami.xw@bp.renesas.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>

---
Changes since V11 (Simon Horman <horms+renesas@verge.net.au>)
- Update for new CPG/MSSR bindings via Geert Uytterhoeven

Changes since V10 (Simon Horman <horms+renesas@verge.net.au>)
- As suggested by Geert Uyterhoven
  + R8A7795_CLK_SCIF2  is 310 not 210

Changes since V10 (Simon Horman <horms+renesas@verge.net.au>)
- As suggested by Geert Uyterhoven
  + R8A7795_CLK_SCIF2  is 310 not 210

Changes since V9: (Magnus Damm <damm+renesas@opensource.se>)
- Added SCIF2 DMA bits again
- Converted DT nodes for MSTP to MSSR, adjusted r8a7795-clock.h
- Include clock-output-names

Changes since V8: (Magnus Damm <damm+renesas@opensource.se>)
- Dropped SCIF2 DMA bits - thanks Laurent!
- Changed name of mstp2 and mstp3 nodes - thanks Geert!
- Added Acked-by from Laurent

Changes since V7: (Magnus Damm <damm+renesas@opensource.se>)
- Folded together above SCIF2 patches
- Added SCIF2 DMA bits
- Got rid of clock-output-names
- Replaced renesas,clock-indices with clock-indices

Based on:
 [PATCH 9/25] arm64: renesas: r8a7795: Add SCIF2 support
 [PATCH 1/6] arm64: renesas: r8a7795 dtsi: Mark scif2 disabled
 [PATCH 3/6] arm64: renesas: r8a7795 dtsi: Add all SCIF nodes
---
 arch/arm64/boot/dts/renesas/r8a7795.dtsi | 73 ++++++++++++++++++++++++++++++++
 1 file changed, 73 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
index 020207e1afe6..3e5539cceeec 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
@@ -8,6 +8,7 @@
  * kind, whether express or implied.
  */
 
+#include <dt-bindings/clock/r8a7795-cpg-mssr.h>
 #include <dt-bindings/interrupt-controller/arm-gic.h>
 
 / {
@@ -90,5 +91,77 @@
 		dmac2: dma-controller@e7310000 {
 			/* Empty node for now */
 		};
+
+		scif0: serial@e6e60000 {
+			compatible = "renesas,scif-r8a7795", "renesas,scif";
+			reg = <0 0xe6e60000 0 64>;
+			interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 207>;
+			clock-names = "sci_ick";
+			dmas = <&dmac1 0x51>, <&dmac1 0x50>;
+			dma-names = "tx", "rx";
+			power-domains = <&cpg>;
+			status = "disabled";
+		};
+
+		scif1: serial@e6e68000 {
+			compatible = "renesas,scif-r8a7795", "renesas,scif";
+			reg = <0 0xe6e68000 0 64>;
+			interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 206>;
+			clock-names = "sci_ick";
+			dmas = <&dmac1 0x53>, <&dmac1 0x52>;
+			dma-names = "tx", "rx";
+			power-domains = <&cpg>;
+			status = "disabled";
+		};
+
+		scif2: serial@e6e88000 {
+			compatible = "renesas,scif-r8a7795", "renesas,scif";
+			reg = <0 0xe6e88000 0 64>;
+			interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 310>;
+			clock-names = "sci_ick";
+			dmas = <&dmac1 0x13>, <&dmac1 0x12>;
+			dma-names = "tx", "rx";
+			power-domains = <&cpg>;
+			status = "disabled";
+		};
+
+		scif3: serial@e6c50000 {
+			compatible = "renesas,scif-r8a7795", "renesas,scif";
+			reg = <0 0xe6c50000 0 64>;
+			interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 204>;
+			clock-names = "sci_ick";
+			dmas = <&dmac0 0x57>, <&dmac0 0x56>;
+			dma-names = "tx", "rx";
+			power-domains = <&cpg>;
+			status = "disabled";
+		};
+
+		scif4: serial@e6c40000 {
+			compatible = "renesas,scif-r8a7795", "renesas,scif";
+			reg = <0 0xe6c40000 0 64>;
+			interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 203>;
+			clock-names = "sci_ick";
+			dmas = <&dmac0 0x59>, <&dmac0 0x58>;
+			dma-names = "tx", "rx";
+			power-domains = <&cpg>;
+			status = "disabled";
+		};
+
+		scif5: serial@e6f30000 {
+			compatible = "renesas,scif-r8a7795", "renesas,scif";
+			reg = <0 0xe6f30000 0 64>;
+			interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 202>;
+			clock-names = "sci_ick";
+			dmas = <&dmac1 0x5b>, <&dmac1 0x5a>;
+			dma-names = "tx", "rx";
+			power-domains = <&cpg>;
+			status = "disabled";
+		};
 	};
 };
-- 
2.1.4


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

* [PATCH v12 3/7] arm64: renesas: r8a7795 dtsi: Add all SCIF nodes
@ 2015-10-26  6:01   ` Simon Horman
  0 siblings, 0 replies; 36+ messages in thread
From: Simon Horman @ 2015-10-26  6:01 UTC (permalink / raw)
  To: linux-arm-kernel

From: Geert Uytterhoeven <geert+renesas@glider.be>

Add the device nodes for all R-Car H3 SCIF serial ports, incl. clocks,
clock domain, and dma properties.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Gaku Inami <gaku.inami.xw@bp.renesas.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>

---
Changes since V11 (Simon Horman <horms+renesas@verge.net.au>)
- Update for new CPG/MSSR bindings via Geert Uytterhoeven

Changes since V10 (Simon Horman <horms+renesas@verge.net.au>)
- As suggested by Geert Uyterhoven
  + R8A7795_CLK_SCIF2  is 310 not 210

Changes since V10 (Simon Horman <horms+renesas@verge.net.au>)
- As suggested by Geert Uyterhoven
  + R8A7795_CLK_SCIF2  is 310 not 210

Changes since V9: (Magnus Damm <damm+renesas@opensource.se>)
- Added SCIF2 DMA bits again
- Converted DT nodes for MSTP to MSSR, adjusted r8a7795-clock.h
- Include clock-output-names

Changes since V8: (Magnus Damm <damm+renesas@opensource.se>)
- Dropped SCIF2 DMA bits - thanks Laurent!
- Changed name of mstp2 and mstp3 nodes - thanks Geert!
- Added Acked-by from Laurent

Changes since V7: (Magnus Damm <damm+renesas@opensource.se>)
- Folded together above SCIF2 patches
- Added SCIF2 DMA bits
- Got rid of clock-output-names
- Replaced renesas,clock-indices with clock-indices

Based on:
 [PATCH 9/25] arm64: renesas: r8a7795: Add SCIF2 support
 [PATCH 1/6] arm64: renesas: r8a7795 dtsi: Mark scif2 disabled
 [PATCH 3/6] arm64: renesas: r8a7795 dtsi: Add all SCIF nodes
---
 arch/arm64/boot/dts/renesas/r8a7795.dtsi | 73 ++++++++++++++++++++++++++++++++
 1 file changed, 73 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
index 020207e1afe6..3e5539cceeec 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
@@ -8,6 +8,7 @@
  * kind, whether express or implied.
  */
 
+#include <dt-bindings/clock/r8a7795-cpg-mssr.h>
 #include <dt-bindings/interrupt-controller/arm-gic.h>
 
 / {
@@ -90,5 +91,77 @@
 		dmac2: dma-controller at e7310000 {
 			/* Empty node for now */
 		};
+
+		scif0: serial at e6e60000 {
+			compatible = "renesas,scif-r8a7795", "renesas,scif";
+			reg = <0 0xe6e60000 0 64>;
+			interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 207>;
+			clock-names = "sci_ick";
+			dmas = <&dmac1 0x51>, <&dmac1 0x50>;
+			dma-names = "tx", "rx";
+			power-domains = <&cpg>;
+			status = "disabled";
+		};
+
+		scif1: serial at e6e68000 {
+			compatible = "renesas,scif-r8a7795", "renesas,scif";
+			reg = <0 0xe6e68000 0 64>;
+			interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 206>;
+			clock-names = "sci_ick";
+			dmas = <&dmac1 0x53>, <&dmac1 0x52>;
+			dma-names = "tx", "rx";
+			power-domains = <&cpg>;
+			status = "disabled";
+		};
+
+		scif2: serial at e6e88000 {
+			compatible = "renesas,scif-r8a7795", "renesas,scif";
+			reg = <0 0xe6e88000 0 64>;
+			interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 310>;
+			clock-names = "sci_ick";
+			dmas = <&dmac1 0x13>, <&dmac1 0x12>;
+			dma-names = "tx", "rx";
+			power-domains = <&cpg>;
+			status = "disabled";
+		};
+
+		scif3: serial at e6c50000 {
+			compatible = "renesas,scif-r8a7795", "renesas,scif";
+			reg = <0 0xe6c50000 0 64>;
+			interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 204>;
+			clock-names = "sci_ick";
+			dmas = <&dmac0 0x57>, <&dmac0 0x56>;
+			dma-names = "tx", "rx";
+			power-domains = <&cpg>;
+			status = "disabled";
+		};
+
+		scif4: serial at e6c40000 {
+			compatible = "renesas,scif-r8a7795", "renesas,scif";
+			reg = <0 0xe6c40000 0 64>;
+			interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 203>;
+			clock-names = "sci_ick";
+			dmas = <&dmac0 0x59>, <&dmac0 0x58>;
+			dma-names = "tx", "rx";
+			power-domains = <&cpg>;
+			status = "disabled";
+		};
+
+		scif5: serial at e6f30000 {
+			compatible = "renesas,scif-r8a7795", "renesas,scif";
+			reg = <0 0xe6f30000 0 64>;
+			interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 202>;
+			clock-names = "sci_ick";
+			dmas = <&dmac1 0x5b>, <&dmac1 0x5a>;
+			dma-names = "tx", "rx";
+			power-domains = <&cpg>;
+			status = "disabled";
+		};
 	};
 };
-- 
2.1.4

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

* [PATCH v12 4/7] arm64: renesas: r8a7795: enable PFC
  2015-10-26  6:01 ` Simon Horman
@ 2015-10-26  6:01   ` Simon Horman
  -1 siblings, 0 replies; 36+ messages in thread
From: Simon Horman @ 2015-10-26  6:01 UTC (permalink / raw)
  To: linux-arm-kernel

From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

Add a PFC node for the on-chip r8a7795 pin controller.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
Changes since v10:
- None

Changes since V9: (Magnus Damm <damm+renesas@opensource.se>)
- None

Changes since V8: (Magnus Damm <damm+renesas@opensource.se>)
- Dropped Kconfig TODO - select PINCTRL happens in patch 1
- Added Acked-by from Laurent

Changes since V7: (Magnus Damm <damm+renesas@opensource.se>)
- Added changelog

Based on:
 [PATCH 10/25 v7][RFC] arm64: renesas: r8a7795: enable PFC
---
 arch/arm64/boot/dts/renesas/r8a7795.dtsi | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
index 3e5539cceeec..b94e5a9e2c3b 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
@@ -80,6 +80,11 @@
 			#power-domain-cells = <0>;
 		};
 
+		pfc: pfc@e6060000 {
+			compatible = "renesas,pfc-r8a7795";
+			reg = <0 0xe6060000 0 0x50c>;
+		};
+
 		dmac0: dma-controller@e6700000 {
 			/* Empty node for now */
 		};
-- 
2.1.4


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

* [PATCH v12 4/7] arm64: renesas: r8a7795: enable PFC
@ 2015-10-26  6:01   ` Simon Horman
  0 siblings, 0 replies; 36+ messages in thread
From: Simon Horman @ 2015-10-26  6:01 UTC (permalink / raw)
  To: linux-arm-kernel

From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

Add a PFC node for the on-chip r8a7795 pin controller.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
Changes since v10:
- None

Changes since V9: (Magnus Damm <damm+renesas@opensource.se>)
- None

Changes since V8: (Magnus Damm <damm+renesas@opensource.se>)
- Dropped Kconfig TODO - select PINCTRL happens in patch 1
- Added Acked-by from Laurent

Changes since V7: (Magnus Damm <damm+renesas@opensource.se>)
- Added changelog

Based on:
 [PATCH 10/25 v7][RFC] arm64: renesas: r8a7795: enable PFC
---
 arch/arm64/boot/dts/renesas/r8a7795.dtsi | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
index 3e5539cceeec..b94e5a9e2c3b 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
@@ -80,6 +80,11 @@
 			#power-domain-cells = <0>;
 		};
 
+		pfc: pfc at e6060000 {
+			compatible = "renesas,pfc-r8a7795";
+			reg = <0 0xe6060000 0 0x50c>;
+		};
+
 		dmac0: dma-controller at e6700000 {
 			/* Empty node for now */
 		};
-- 
2.1.4

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

* [PATCH v12 5/7] arm64: renesas: add Salvator-X board support on DTS
  2015-10-26  6:01 ` Simon Horman
@ 2015-10-26  6:01   ` Simon Horman
  -1 siblings, 0 replies; 36+ messages in thread
From: Simon Horman @ 2015-10-26  6:01 UTC (permalink / raw)
  To: linux-arm-kernel

From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

Add initial board support for r8a7795 Salvator-X. At this point
only DEBUG0 and DEBUG1 serial ports are supported.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Gaku Inami <gaku.inami.xw@bp.renesas.com>
Signed-off-by: Takeshi Kihara <takeshi.kihara.df@renesas.com>
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
TODO:
- Conclude discussion with Mark Rutland on:
  + Presence of ignore_loglevel in bootargs
  + Absence of rate in stdout-path

Changes since v10:
- None

Changes since V9: (Magnus Damm <damm+renesas@opensource.se>)
 - Added board specific EXTAL information by folding in:
  [PATCH][RFC] arm64: renesas: Add EXTAL configuration to Salvator-X

Changes since V8: (Magnus Damm <damm+renesas@opensource.se>)
- None

Changes since V7: (Magnus Damm <damm+renesas@opensource.se>)
- Added changelog

Based on:
 [PATCH 15/25] arm64: renesas: add Salvator-X board support on DTS
 [PATCH 5/5] arm64: renesas: salvator-x: Update SCIF2 pin group
 [PATCH 5/6] arm64: renesas: salvator-x: Enable SCIF1 on serial1
---
 Documentation/devicetree/bindings/arm/shmobile.txt |  2 +
 arch/arm64/boot/dts/renesas/Makefile               |  2 +
 arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts | 62 ++++++++++++++++++++++
 3 files changed, 66 insertions(+)
 create mode 100644 arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts

diff --git a/Documentation/devicetree/bindings/arm/shmobile.txt b/Documentation/devicetree/bindings/arm/shmobile.txt
index 8d696a0d62b3..95d0aea4c701 100644
--- a/Documentation/devicetree/bindings/arm/shmobile.txt
+++ b/Documentation/devicetree/bindings/arm/shmobile.txt
@@ -59,6 +59,8 @@ Boards:
     compatible = "renesas,lager", "renesas,r8a7790"
   - Marzen
     compatible = "renesas,marzen", "renesas,r8a7779"
+  - Salvator-X
+    compatible = "renesas,salvator-x", "renesas,r8a7795";
 
 Note: Reference Device Tree Implementations are temporary implementations
       to ease the migration from platform devices to Device Tree, and are
diff --git a/arch/arm64/boot/dts/renesas/Makefile b/arch/arm64/boot/dts/renesas/Makefile
index fec69f46d65b..9ce1890a650e 100644
--- a/arch/arm64/boot/dts/renesas/Makefile
+++ b/arch/arm64/boot/dts/renesas/Makefile
@@ -1,2 +1,4 @@
+dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-salvator-x.dtb
+
 always		:= $(dtb-y)
 clean-files	:= *.dtb
diff --git a/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts b/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
new file mode 100644
index 000000000000..f522fda7843a
--- /dev/null
+++ b/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
@@ -0,0 +1,62 @@
+/*
+ * Device Tree Source for the Salvator-X board
+ *
+ * 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.
+ */
+
+/dts-v1/;
+#include "r8a7795.dtsi"
+
+/ {
+	model = "Renesas Salvator-X board based on r8a7795";
+	compatible = "renesas,salvator-x", "renesas,r8a7795";
+
+	aliases {
+		serial0 = &scif2;
+		serial1 = &scif1;
+	};
+
+	chosen {
+		bootargs = "ignore_loglevel";
+		stdout-path = &scif2;
+	};
+
+	memory@48000000 {
+		device_type = "memory";
+		/* first 128MB is reserved for secure area. */
+		reg = <0x0 0x48000000 0x0 0x38000000>;
+	};
+};
+
+&extal_clk {
+	clock-frequency = <16666666>;
+};
+
+&pfc {
+	scif1_pins: scif1 {
+		renesas,groups = "scif1_data_a", "scif1_ctrl";
+		renesas,function = "scif1";
+	};
+	scif2_pins: scif2 {
+		renesas,groups = "scif2_data_a";
+		renesas,function = "scif2";
+	};
+};
+
+&scif1 {
+	pinctrl-0 = <&scif1_pins>;
+	pinctrl-names = "default";
+
+	status = "okay";
+};
+
+&scif2 {
+	pinctrl-0 = <&scif2_pins>;
+	pinctrl-names = "default";
+
+	status = "okay";
+};
-- 
2.1.4


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

* [PATCH v12 5/7] arm64: renesas: add Salvator-X board support on DTS
@ 2015-10-26  6:01   ` Simon Horman
  0 siblings, 0 replies; 36+ messages in thread
From: Simon Horman @ 2015-10-26  6:01 UTC (permalink / raw)
  To: linux-arm-kernel

From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

Add initial board support for r8a7795 Salvator-X. At this point
only DEBUG0 and DEBUG1 serial ports are supported.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Gaku Inami <gaku.inami.xw@bp.renesas.com>
Signed-off-by: Takeshi Kihara <takeshi.kihara.df@renesas.com>
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
TODO:
- Conclude discussion with Mark Rutland on:
  + Presence of ignore_loglevel in bootargs
  + Absence of rate in stdout-path

Changes since v10:
- None

Changes since V9: (Magnus Damm <damm+renesas@opensource.se>)
 - Added board specific EXTAL information by folding in:
  [PATCH][RFC] arm64: renesas: Add EXTAL configuration to Salvator-X

Changes since V8: (Magnus Damm <damm+renesas@opensource.se>)
- None

Changes since V7: (Magnus Damm <damm+renesas@opensource.se>)
- Added changelog

Based on:
 [PATCH 15/25] arm64: renesas: add Salvator-X board support on DTS
 [PATCH 5/5] arm64: renesas: salvator-x: Update SCIF2 pin group
 [PATCH 5/6] arm64: renesas: salvator-x: Enable SCIF1 on serial1
---
 Documentation/devicetree/bindings/arm/shmobile.txt |  2 +
 arch/arm64/boot/dts/renesas/Makefile               |  2 +
 arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts | 62 ++++++++++++++++++++++
 3 files changed, 66 insertions(+)
 create mode 100644 arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts

diff --git a/Documentation/devicetree/bindings/arm/shmobile.txt b/Documentation/devicetree/bindings/arm/shmobile.txt
index 8d696a0d62b3..95d0aea4c701 100644
--- a/Documentation/devicetree/bindings/arm/shmobile.txt
+++ b/Documentation/devicetree/bindings/arm/shmobile.txt
@@ -59,6 +59,8 @@ Boards:
     compatible = "renesas,lager", "renesas,r8a7790"
   - Marzen
     compatible = "renesas,marzen", "renesas,r8a7779"
+  - Salvator-X
+    compatible = "renesas,salvator-x", "renesas,r8a7795";
 
 Note: Reference Device Tree Implementations are temporary implementations
       to ease the migration from platform devices to Device Tree, and are
diff --git a/arch/arm64/boot/dts/renesas/Makefile b/arch/arm64/boot/dts/renesas/Makefile
index fec69f46d65b..9ce1890a650e 100644
--- a/arch/arm64/boot/dts/renesas/Makefile
+++ b/arch/arm64/boot/dts/renesas/Makefile
@@ -1,2 +1,4 @@
+dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-salvator-x.dtb
+
 always		:= $(dtb-y)
 clean-files	:= *.dtb
diff --git a/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts b/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
new file mode 100644
index 000000000000..f522fda7843a
--- /dev/null
+++ b/arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
@@ -0,0 +1,62 @@
+/*
+ * Device Tree Source for the Salvator-X board
+ *
+ * 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.
+ */
+
+/dts-v1/;
+#include "r8a7795.dtsi"
+
+/ {
+	model = "Renesas Salvator-X board based on r8a7795";
+	compatible = "renesas,salvator-x", "renesas,r8a7795";
+
+	aliases {
+		serial0 = &scif2;
+		serial1 = &scif1;
+	};
+
+	chosen {
+		bootargs = "ignore_loglevel";
+		stdout-path = &scif2;
+	};
+
+	memory at 48000000 {
+		device_type = "memory";
+		/* first 128MB is reserved for secure area. */
+		reg = <0x0 0x48000000 0x0 0x38000000>;
+	};
+};
+
+&extal_clk {
+	clock-frequency = <16666666>;
+};
+
+&pfc {
+	scif1_pins: scif1 {
+		renesas,groups = "scif1_data_a", "scif1_ctrl";
+		renesas,function = "scif1";
+	};
+	scif2_pins: scif2 {
+		renesas,groups = "scif2_data_a";
+		renesas,function = "scif2";
+	};
+};
+
+&scif1 {
+	pinctrl-0 = <&scif1_pins>;
+	pinctrl-names = "default";
+
+	status = "okay";
+};
+
+&scif2 {
+	pinctrl-0 = <&scif2_pins>;
+	pinctrl-names = "default";
+
+	status = "okay";
+};
-- 
2.1.4

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

* [PATCH v12 6/7] arm64: defconfig: renesas: Enable Renesas r8a7795 SoC
  2015-10-26  6:01 ` Simon Horman
@ 2015-10-26  6:01   ` Simon Horman
  -1 siblings, 0 replies; 36+ messages in thread
From: Simon Horman @ 2015-10-26  6:01 UTC (permalink / raw)
  To: linux-arm-kernel

From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

This patch enables the Renesas R-Car H3 SoC together with the
SCIF driver in the arm64 defconfig.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
Changes since v10:
- None

Changes since V9: (Magnus Damm <damm+renesas@opensource.se>)
- None

Changes since V8: (Magnus Damm <damm+renesas@opensource.se>)
- Added Acked-by from Geert

Changes since V7: (Magnus Damm <damm+renesas@opensource.se>)
- Updated changelog
- Use CONFIG_RENESAS and CONFIG_R8A7795

Based on:
 [PATCH 19/25] arm64: defconfig: renesas: Enable Renesas R-Car Gen3 SoC
 [PATCH 20/25] arm64: defconfig: renesas: enable SCIF
---
 arch/arm64/configs/defconfig | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index 34d71dd86781..dccc685b58ae 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -39,6 +39,8 @@ CONFIG_ARCH_HISI=y
 CONFIG_ARCH_MEDIATEK=y
 CONFIG_ARCH_ROCKCHIP=y
 CONFIG_ARCH_SEATTLE=y
+CONFIG_ARCH_RENESAS=y
+CONFIG_ARCH_R8A7795=y
 CONFIG_ARCH_TEGRA=y
 CONFIG_ARCH_TEGRA_132_SOC=y
 CONFIG_ARCH_QCOM=y
@@ -109,6 +111,9 @@ CONFIG_SERIAL_8250_DW=y
 CONFIG_SERIAL_8250_MT6577=y
 CONFIG_SERIAL_AMBA_PL011=y
 CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
+CONFIG_SERIAL_SH_SCI=y
+CONFIG_SERIAL_SH_SCI_NR_UARTS\x11
+CONFIG_SERIAL_SH_SCI_CONSOLE=y
 CONFIG_SERIAL_MSM=y
 CONFIG_SERIAL_MSM_CONSOLE=y
 CONFIG_SERIAL_OF_PLATFORM=y
-- 
2.1.4


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

* [PATCH v12 6/7] arm64: defconfig: renesas: Enable Renesas r8a7795 SoC
@ 2015-10-26  6:01   ` Simon Horman
  0 siblings, 0 replies; 36+ messages in thread
From: Simon Horman @ 2015-10-26  6:01 UTC (permalink / raw)
  To: linux-arm-kernel

From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

This patch enables the Renesas R-Car H3 SoC together with the
SCIF driver in the arm64 defconfig.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
Changes since v10:
- None

Changes since V9: (Magnus Damm <damm+renesas@opensource.se>)
- None

Changes since V8: (Magnus Damm <damm+renesas@opensource.se>)
- Added Acked-by from Geert

Changes since V7: (Magnus Damm <damm+renesas@opensource.se>)
- Updated changelog
- Use CONFIG_RENESAS and CONFIG_R8A7795

Based on:
 [PATCH 19/25] arm64: defconfig: renesas: Enable Renesas R-Car Gen3 SoC
 [PATCH 20/25] arm64: defconfig: renesas: enable SCIF
---
 arch/arm64/configs/defconfig | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index 34d71dd86781..dccc685b58ae 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -39,6 +39,8 @@ CONFIG_ARCH_HISI=y
 CONFIG_ARCH_MEDIATEK=y
 CONFIG_ARCH_ROCKCHIP=y
 CONFIG_ARCH_SEATTLE=y
+CONFIG_ARCH_RENESAS=y
+CONFIG_ARCH_R8A7795=y
 CONFIG_ARCH_TEGRA=y
 CONFIG_ARCH_TEGRA_132_SOC=y
 CONFIG_ARCH_QCOM=y
@@ -109,6 +111,9 @@ CONFIG_SERIAL_8250_DW=y
 CONFIG_SERIAL_8250_MT6577=y
 CONFIG_SERIAL_AMBA_PL011=y
 CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
+CONFIG_SERIAL_SH_SCI=y
+CONFIG_SERIAL_SH_SCI_NR_UARTS=11
+CONFIG_SERIAL_SH_SCI_CONSOLE=y
 CONFIG_SERIAL_MSM=y
 CONFIG_SERIAL_MSM_CONSOLE=y
 CONFIG_SERIAL_OF_PLATFORM=y
-- 
2.1.4

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

* [PATCH v12 7/7] MAINTAINERS: Add entry Renesas arm64 architecture
  2015-10-26  6:01 ` Simon Horman
@ 2015-10-26  6:01   ` Simon Horman
  -1 siblings, 0 replies; 36+ messages in thread
From: Simon Horman @ 2015-10-26  6:01 UTC (permalink / raw)
  To: linux-arm-kernel

Initial Renesas arm64 architecture support will be for the R-Car H3,
r8a7795, SoC and its Salvator-X board.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>

---

Changes since v11:
- As suggested by Khiem Nguyen:
  + Removed reference to http://oss.renesas.com as that web site is closed

Changes since v10:
- New Patch
---
 MAINTAINERS | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/MAINTAINERS b/MAINTAINERS
index 7ba7ab749c85..e35134f7d128 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1392,6 +1392,15 @@ M:	Lennert Buytenhek <kernel@wantstofly.org>
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
 
+ARM/RENESAS ARM64 ARCHITECTURE
+M:	Simon Horman <horms@verge.net.au>
+M:	Magnus Damm <magnus.damm@gmail.com>
+L:	linux-sh@vger.kernel.org
+Q:	http://patchwork.kernel.org/project/linux-sh/list/
+T:	git git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git next
+S:	Supported
+F:	arch/arm64/boot/dts/renesas/
+
 ARM/RISCPC ARCHITECTURE
 M:	Russell King <linux@arm.linux.org.uk>
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-- 
2.1.4


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

* [PATCH v12 7/7] MAINTAINERS: Add entry Renesas arm64 architecture
@ 2015-10-26  6:01   ` Simon Horman
  0 siblings, 0 replies; 36+ messages in thread
From: Simon Horman @ 2015-10-26  6:01 UTC (permalink / raw)
  To: linux-arm-kernel

Initial Renesas arm64 architecture support will be for the R-Car H3,
r8a7795, SoC and its Salvator-X board.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>

---

Changes since v11:
- As suggested by Khiem Nguyen:
  + Removed reference to http://oss.renesas.com as that web site is closed

Changes since v10:
- New Patch
---
 MAINTAINERS | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/MAINTAINERS b/MAINTAINERS
index 7ba7ab749c85..e35134f7d128 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1392,6 +1392,15 @@ M:	Lennert Buytenhek <kernel@wantstofly.org>
 L:	linux-arm-kernel at lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
 
+ARM/RENESAS ARM64 ARCHITECTURE
+M:	Simon Horman <horms@verge.net.au>
+M:	Magnus Damm <magnus.damm@gmail.com>
+L:	linux-sh at vger.kernel.org
+Q:	http://patchwork.kernel.org/project/linux-sh/list/
+T:	git git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git next
+S:	Supported
+F:	arch/arm64/boot/dts/renesas/
+
 ARM/RISCPC ARCHITECTURE
 M:	Russell King <linux@arm.linux.org.uk>
 L:	linux-arm-kernel at lists.infradead.org (moderated for non-subscribers)
-- 
2.1.4

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

* Re: [PATCH v12 0/7] arm64: renesas: Add Renesas R8A7795 SoC support
  2015-10-26  6:01 ` Simon Horman
@ 2015-10-27  1:38   ` Simon Horman
  -1 siblings, 0 replies; 36+ messages in thread
From: Simon Horman @ 2015-10-27  1:38 UTC (permalink / raw)
  To: linux-arm-kernel

On 月, 10月 26, 2015 at 03:01:45午後 +0900, Simon Horman wrote:
> Hi,
> 
> this patchset adds basic support for the Renesas R-Car H3 (R8A7795) SoC
> and its Saovator-X board.
> 
> 
> Based on a merge of:
> * v4.3-rc1
> * clk-shmobile-for-v4.4 branch of 
>   git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers
>   This provides the bindings and includes for the new CPG driver.
>   These are queued up by the subsystem maintainer, Mike Turquette,
>   for v4.4.
> 
> Run-time dependencies:
> * The base
> * The new GPG driver
>   "[PATCH/RFC v4 0/5] clk: shmobile: Add new Renesas CPG/MSSR DT bindings"
>   and its dependencies. This may be found in the
>   topic/cpg-mssr-v4 branch of
>   git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers
> 
> 
> For changes see per-patch changelogs.

The key change was to update to new CPG/MSSR bindings via Geert
Uytterhoeven.

Availability:

* This patchset is available in the topic/r8a7795-gpio-v2 branch of my
  renesas tree on kernel.org.

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

* [PATCH v12 0/7] arm64: renesas: Add Renesas R8A7795 SoC support
@ 2015-10-27  1:38   ` Simon Horman
  0 siblings, 0 replies; 36+ messages in thread
From: Simon Horman @ 2015-10-27  1:38 UTC (permalink / raw)
  To: linux-arm-kernel

On ?, 10? 26, 2015 at 03:01:45?? +0900, Simon Horman wrote:
> Hi,
> 
> this patchset adds basic support for the Renesas R-Car H3 (R8A7795) SoC
> and its Saovator-X board.
> 
> 
> Based on a merge of:
> * v4.3-rc1
> * clk-shmobile-for-v4.4 branch of 
>   git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers
>   This provides the bindings and includes for the new CPG driver.
>   These are queued up by the subsystem maintainer, Mike Turquette,
>   for v4.4.
> 
> Run-time dependencies:
> * The base
> * The new GPG driver
>   "[PATCH/RFC v4 0/5] clk: shmobile: Add new Renesas CPG/MSSR DT bindings"
>   and its dependencies. This may be found in the
>   topic/cpg-mssr-v4 branch of
>   git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers
> 
> 
> For changes see per-patch changelogs.

The key change was to update to new CPG/MSSR bindings via Geert
Uytterhoeven.

Availability:

* This patchset is available in the topic/r8a7795-gpio-v2 branch of my
  renesas tree on kernel.org.

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

* Re: [PATCH v12 1/7] arm64: renesas: r8a7795: Add Renesas R8A7795 SoC support
  2015-10-26  6:01   ` Simon Horman
@ 2015-10-28  8:22     ` Geert Uytterhoeven
  -1 siblings, 0 replies; 36+ messages in thread
From: Geert Uytterhoeven @ 2015-10-28  8:22 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Oct 26, 2015 at 7:01 AM, Simon Horman
<horms+renesas@verge.net.au> wrote:
> From: Gaku Inami <gaku.inami.xw@bp.renesas.com>
>
> Initial version of Renesas R-Car H3 support (V10)
>
> Signed-off-by: Gaku Inami <gaku.inami.xw@bp.renesas.com>
> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>

> diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
> new file mode 100644
> index 000000000000..aa13115387a6
> --- /dev/null
> +++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi

> +       extal_clk: extal {
> +               compatible = "fixed-clock";
> +               #clock-cells = <0>;

I would add the same override comment as for extalr here, too.

> +               clock-frequency = <0>;
> +       };
> +
> +       extalr_clk: extalr {
> +               compatible = "fixed-clock";
> +               #clock-cells = <0>;
> +               /* This value must be overridden by the board */
> +               clock-frequency = <0>;
> +       };

Nevertheless:

Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>

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] 36+ messages in thread

* [PATCH v12 1/7] arm64: renesas: r8a7795: Add Renesas R8A7795 SoC support
@ 2015-10-28  8:22     ` Geert Uytterhoeven
  0 siblings, 0 replies; 36+ messages in thread
From: Geert Uytterhoeven @ 2015-10-28  8:22 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Oct 26, 2015 at 7:01 AM, Simon Horman
<horms+renesas@verge.net.au> wrote:
> From: Gaku Inami <gaku.inami.xw@bp.renesas.com>
>
> Initial version of Renesas R-Car H3 support (V10)
>
> Signed-off-by: Gaku Inami <gaku.inami.xw@bp.renesas.com>
> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>

> diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
> new file mode 100644
> index 000000000000..aa13115387a6
> --- /dev/null
> +++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi

> +       extal_clk: extal {
> +               compatible = "fixed-clock";
> +               #clock-cells = <0>;

I would add the same override comment as for extalr here, too.

> +               clock-frequency = <0>;
> +       };
> +
> +       extalr_clk: extalr {
> +               compatible = "fixed-clock";
> +               #clock-cells = <0>;
> +               /* This value must be overridden by the board */
> +               clock-frequency = <0>;
> +       };

Nevertheless:

Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>

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] 36+ messages in thread

* Re: [PATCH v12 7/7] MAINTAINERS: Add entry Renesas arm64 architecture
  2015-10-26  6:01   ` Simon Horman
@ 2015-10-28  8:27     ` Geert Uytterhoeven
  -1 siblings, 0 replies; 36+ messages in thread
From: Geert Uytterhoeven @ 2015-10-28  8:27 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Oct 26, 2015 at 7:01 AM, Simon Horman
<horms+renesas@verge.net.au> wrote:
> Initial Renesas arm64 architecture support will be for the R-Car H3,
> r8a7795, SoC and its Salvator-X board.
>
> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>

Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>

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] 36+ messages in thread

* [PATCH v12 7/7] MAINTAINERS: Add entry Renesas arm64 architecture
@ 2015-10-28  8:27     ` Geert Uytterhoeven
  0 siblings, 0 replies; 36+ messages in thread
From: Geert Uytterhoeven @ 2015-10-28  8:27 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Oct 26, 2015 at 7:01 AM, Simon Horman
<horms+renesas@verge.net.au> wrote:
> Initial Renesas arm64 architecture support will be for the R-Car H3,
> r8a7795, SoC and its Salvator-X board.
>
> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>

Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>

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] 36+ messages in thread

* Re: [PATCH v12 1/7] arm64: renesas: r8a7795: Add Renesas R8A7795 SoC support
  2015-10-26  6:01   ` Simon Horman
@ 2015-10-28 18:45     ` Catalin Marinas
  -1 siblings, 0 replies; 36+ messages in thread
From: Catalin Marinas @ 2015-10-28 18:45 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Oct 26, 2015 at 03:01:46PM +0900, Simon Horman wrote:
> --- a/arch/arm64/Kconfig.platforms
> +++ b/arch/arm64/Kconfig.platforms
> @@ -66,6 +66,23 @@ config ARCH_SEATTLE
>  	help
>  	  This enables support for AMD Seattle SOC Family
>  
> +config ARCH_SHMOBILE
> +	bool
> +
> +config ARCH_RENESAS
> +	bool "Renesas SoC Platforms"
> +	select ARCH_SHMOBILE
> +	select PINCTRL
> +	select PM_GENERIC_DOMAINS if PM
> +	help
> +	  This enables support for the ARMv8 based Renesas SoCs.
> +
> +config ARCH_R8A7795
> +	bool "Renesas R-Car H3 SoC Platform"
> +	depends on ARCH_RENESAS
> +	help
> +	  This enables support for the Renesas R-Car H3 SoC.

Do you need such fine-grained configuration? I'd really like to avoid
individual SoC Kconfig entries and only include SoC families (like
ARCH_RENESAS). There are some which I didn't spot at the time
(ARCH_FSL_LS2085A and ARCH_TEGRA_132_SOC) but we shouldn't continue this
trend any further.

-- 
Catalin

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

* [PATCH v12 1/7] arm64: renesas: r8a7795: Add Renesas R8A7795 SoC support
@ 2015-10-28 18:45     ` Catalin Marinas
  0 siblings, 0 replies; 36+ messages in thread
From: Catalin Marinas @ 2015-10-28 18:45 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Oct 26, 2015 at 03:01:46PM +0900, Simon Horman wrote:
> --- a/arch/arm64/Kconfig.platforms
> +++ b/arch/arm64/Kconfig.platforms
> @@ -66,6 +66,23 @@ config ARCH_SEATTLE
>  	help
>  	  This enables support for AMD Seattle SOC Family
>  
> +config ARCH_SHMOBILE
> +	bool
> +
> +config ARCH_RENESAS
> +	bool "Renesas SoC Platforms"
> +	select ARCH_SHMOBILE
> +	select PINCTRL
> +	select PM_GENERIC_DOMAINS if PM
> +	help
> +	  This enables support for the ARMv8 based Renesas SoCs.
> +
> +config ARCH_R8A7795
> +	bool "Renesas R-Car H3 SoC Platform"
> +	depends on ARCH_RENESAS
> +	help
> +	  This enables support for the Renesas R-Car H3 SoC.

Do you need such fine-grained configuration? I'd really like to avoid
individual SoC Kconfig entries and only include SoC families (like
ARCH_RENESAS). There are some which I didn't spot at the time
(ARCH_FSL_LS2085A and ARCH_TEGRA_132_SOC) but we shouldn't continue this
trend any further.

-- 
Catalin

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

* Re: [PATCH v12 1/7] arm64: renesas: r8a7795: Add Renesas R8A7795 SoC support
  2015-10-28 18:45     ` Catalin Marinas
@ 2015-10-29  5:15       ` Magnus Damm
  -1 siblings, 0 replies; 36+ messages in thread
From: Magnus Damm @ 2015-10-29  5:15 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Oct 29, 2015 at 3:45 AM, Catalin Marinas
<catalin.marinas@arm.com> wrote:
> On Mon, Oct 26, 2015 at 03:01:46PM +0900, Simon Horman wrote:
>> --- a/arch/arm64/Kconfig.platforms
>> +++ b/arch/arm64/Kconfig.platforms
>> @@ -66,6 +66,23 @@ config ARCH_SEATTLE
>>       help
>>         This enables support for AMD Seattle SOC Family
>>
>> +config ARCH_SHMOBILE
>> +     bool
>> +
>> +config ARCH_RENESAS
>> +     bool "Renesas SoC Platforms"
>> +     select ARCH_SHMOBILE
>> +     select PINCTRL
>> +     select PM_GENERIC_DOMAINS if PM
>> +     help
>> +       This enables support for the ARMv8 based Renesas SoCs.
>> +
>> +config ARCH_R8A7795
>> +     bool "Renesas R-Car H3 SoC Platform"
>> +     depends on ARCH_RENESAS
>> +     help
>> +       This enables support for the Renesas R-Car H3 SoC.
>
> Do you need such fine-grained configuration? I'd really like to avoid
> individual SoC Kconfig entries and only include SoC families (like
> ARCH_RENESAS). There are some which I didn't spot at the time
> (ARCH_FSL_LS2085A and ARCH_TEGRA_132_SOC) but we shouldn't continue this
> trend any further.

I agree with you about coarse grained configuration in general. I am
also wondering how to handle cases where IP varies with SoC version.
=)

The two most common cases with SoC-specific IP for Renesas SoCs tend
to be Pinctrl which is using rather large tables to support the PFC
hardware and also the clocks (CCF) that drives the SoC specific CPG
hardware. For the PFC and CPG I think it makes sense to enable build
based on SoC model like we do already, but for the Kconfig bits in
arch/arm64 perhaps ARCH_RENESAS can simply select ARCH_R8A7795?

Thanks,

/ magnus

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

* [PATCH v12 1/7] arm64: renesas: r8a7795: Add Renesas R8A7795 SoC support
@ 2015-10-29  5:15       ` Magnus Damm
  0 siblings, 0 replies; 36+ messages in thread
From: Magnus Damm @ 2015-10-29  5:15 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Oct 29, 2015 at 3:45 AM, Catalin Marinas
<catalin.marinas@arm.com> wrote:
> On Mon, Oct 26, 2015 at 03:01:46PM +0900, Simon Horman wrote:
>> --- a/arch/arm64/Kconfig.platforms
>> +++ b/arch/arm64/Kconfig.platforms
>> @@ -66,6 +66,23 @@ config ARCH_SEATTLE
>>       help
>>         This enables support for AMD Seattle SOC Family
>>
>> +config ARCH_SHMOBILE
>> +     bool
>> +
>> +config ARCH_RENESAS
>> +     bool "Renesas SoC Platforms"
>> +     select ARCH_SHMOBILE
>> +     select PINCTRL
>> +     select PM_GENERIC_DOMAINS if PM
>> +     help
>> +       This enables support for the ARMv8 based Renesas SoCs.
>> +
>> +config ARCH_R8A7795
>> +     bool "Renesas R-Car H3 SoC Platform"
>> +     depends on ARCH_RENESAS
>> +     help
>> +       This enables support for the Renesas R-Car H3 SoC.
>
> Do you need such fine-grained configuration? I'd really like to avoid
> individual SoC Kconfig entries and only include SoC families (like
> ARCH_RENESAS). There are some which I didn't spot at the time
> (ARCH_FSL_LS2085A and ARCH_TEGRA_132_SOC) but we shouldn't continue this
> trend any further.

I agree with you about coarse grained configuration in general. I am
also wondering how to handle cases where IP varies with SoC version.
=)

The two most common cases with SoC-specific IP for Renesas SoCs tend
to be Pinctrl which is using rather large tables to support the PFC
hardware and also the clocks (CCF) that drives the SoC specific CPG
hardware. For the PFC and CPG I think it makes sense to enable build
based on SoC model like we do already, but for the Kconfig bits in
arch/arm64 perhaps ARCH_RENESAS can simply select ARCH_R8A7795?

Thanks,

/ magnus

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

* Re: [PATCH v12 1/7] arm64: renesas: r8a7795: Add Renesas R8A7795 SoC support
  2015-10-28  8:22     ` Geert Uytterhoeven
@ 2015-10-30  7:31       ` Simon Horman
  -1 siblings, 0 replies; 36+ messages in thread
From: Simon Horman @ 2015-10-30  7:31 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Oct 28, 2015 at 09:22:34AM +0100, Geert Uytterhoeven wrote:
> On Mon, Oct 26, 2015 at 7:01 AM, Simon Horman
> <horms+renesas@verge.net.au> wrote:
> > From: Gaku Inami <gaku.inami.xw@bp.renesas.com>
> >
> > Initial version of Renesas R-Car H3 support (V10)
> >
> > Signed-off-by: Gaku Inami <gaku.inami.xw@bp.renesas.com>
> > Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> > Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
> > Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
> 
> > diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
> > new file mode 100644
> > index 000000000000..aa13115387a6
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
> 
> > +       extal_clk: extal {
> > +               compatible = "fixed-clock";
> > +               #clock-cells = <0>;
> 
> I would add the same override comment as for extalr here, too.

Thanks, I will fix that.

> > +               clock-frequency = <0>;
> > +       };
> > +
> > +       extalr_clk: extalr {
> > +               compatible = "fixed-clock";
> > +               #clock-cells = <0>;
> > +               /* This value must be overridden by the board */
> > +               clock-frequency = <0>;
> > +       };
> 
> Nevertheless:
> 
> Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>

Thanks!

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

* [PATCH v12 1/7] arm64: renesas: r8a7795: Add Renesas R8A7795 SoC support
@ 2015-10-30  7:31       ` Simon Horman
  0 siblings, 0 replies; 36+ messages in thread
From: Simon Horman @ 2015-10-30  7:31 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Oct 28, 2015 at 09:22:34AM +0100, Geert Uytterhoeven wrote:
> On Mon, Oct 26, 2015 at 7:01 AM, Simon Horman
> <horms+renesas@verge.net.au> wrote:
> > From: Gaku Inami <gaku.inami.xw@bp.renesas.com>
> >
> > Initial version of Renesas R-Car H3 support (V10)
> >
> > Signed-off-by: Gaku Inami <gaku.inami.xw@bp.renesas.com>
> > Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> > Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
> > Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
> 
> > diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
> > new file mode 100644
> > index 000000000000..aa13115387a6
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
> 
> > +       extal_clk: extal {
> > +               compatible = "fixed-clock";
> > +               #clock-cells = <0>;
> 
> I would add the same override comment as for extalr here, too.

Thanks, I will fix that.

> > +               clock-frequency = <0>;
> > +       };
> > +
> > +       extalr_clk: extalr {
> > +               compatible = "fixed-clock";
> > +               #clock-cells = <0>;
> > +               /* This value must be overridden by the board */
> > +               clock-frequency = <0>;
> > +       };
> 
> Nevertheless:
> 
> Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>

Thanks!

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

* Re: [PATCH v12 1/7] arm64: renesas: r8a7795: Add Renesas R8A7795 SoC support
  2015-10-29  5:15       ` Magnus Damm
@ 2015-10-30 11:08         ` Catalin Marinas
  -1 siblings, 0 replies; 36+ messages in thread
From: Catalin Marinas @ 2015-10-30 11:08 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Oct 29, 2015 at 02:15:19PM +0900, Magnus Damm wrote:
> On Thu, Oct 29, 2015 at 3:45 AM, Catalin Marinas
> <catalin.marinas@arm.com> wrote:
> > On Mon, Oct 26, 2015 at 03:01:46PM +0900, Simon Horman wrote:
> >> --- a/arch/arm64/Kconfig.platforms
> >> +++ b/arch/arm64/Kconfig.platforms
> >> @@ -66,6 +66,23 @@ config ARCH_SEATTLE
> >>       help
> >>         This enables support for AMD Seattle SOC Family
> >>
> >> +config ARCH_SHMOBILE
> >> +     bool
> >> +
> >> +config ARCH_RENESAS
> >> +     bool "Renesas SoC Platforms"
> >> +     select ARCH_SHMOBILE
> >> +     select PINCTRL
> >> +     select PM_GENERIC_DOMAINS if PM
> >> +     help
> >> +       This enables support for the ARMv8 based Renesas SoCs.
> >> +
> >> +config ARCH_R8A7795
> >> +     bool "Renesas R-Car H3 SoC Platform"
> >> +     depends on ARCH_RENESAS
> >> +     help
> >> +       This enables support for the Renesas R-Car H3 SoC.
> >
> > Do you need such fine-grained configuration? I'd really like to avoid
> > individual SoC Kconfig entries and only include SoC families (like
> > ARCH_RENESAS). There are some which I didn't spot at the time
> > (ARCH_FSL_LS2085A and ARCH_TEGRA_132_SOC) but we shouldn't continue this
> > trend any further.
> 
> I agree with you about coarse grained configuration in general. I am
> also wondering how to handle cases where IP varies with SoC version.
> =)

The code should cope with multiple drivers built into the kernel anyway,
single Image is a hard requirement. If you want to trim down an image
for a specific SoC (production kernel), just use individual Kconfig
entries for drivers that may depend on ARCH_RENESAS but not an
ARCH_R8A7795 which is used in drivers/ Makefiles.

> The two most common cases with SoC-specific IP for Renesas SoCs tend
> to be Pinctrl which is using rather large tables to support the PFC
> hardware and also the clocks (CCF) that drives the SoC specific CPG
> hardware. For the PFC and CPG I think it makes sense to enable build
> based on SoC model like we do already, but for the Kconfig bits in
> arch/arm64 perhaps ARCH_RENESAS can simply select ARCH_R8A7795?

I'm suggesting the other way around: CONFIG_PINCTRL_R8A7795 which
depends on ARCH_RENESAS, default y. Similarly for clocks and other
drivers.

-- 
Catalin

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

* [PATCH v12 1/7] arm64: renesas: r8a7795: Add Renesas R8A7795 SoC support
@ 2015-10-30 11:08         ` Catalin Marinas
  0 siblings, 0 replies; 36+ messages in thread
From: Catalin Marinas @ 2015-10-30 11:08 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Oct 29, 2015 at 02:15:19PM +0900, Magnus Damm wrote:
> On Thu, Oct 29, 2015 at 3:45 AM, Catalin Marinas
> <catalin.marinas@arm.com> wrote:
> > On Mon, Oct 26, 2015 at 03:01:46PM +0900, Simon Horman wrote:
> >> --- a/arch/arm64/Kconfig.platforms
> >> +++ b/arch/arm64/Kconfig.platforms
> >> @@ -66,6 +66,23 @@ config ARCH_SEATTLE
> >>       help
> >>         This enables support for AMD Seattle SOC Family
> >>
> >> +config ARCH_SHMOBILE
> >> +     bool
> >> +
> >> +config ARCH_RENESAS
> >> +     bool "Renesas SoC Platforms"
> >> +     select ARCH_SHMOBILE
> >> +     select PINCTRL
> >> +     select PM_GENERIC_DOMAINS if PM
> >> +     help
> >> +       This enables support for the ARMv8 based Renesas SoCs.
> >> +
> >> +config ARCH_R8A7795
> >> +     bool "Renesas R-Car H3 SoC Platform"
> >> +     depends on ARCH_RENESAS
> >> +     help
> >> +       This enables support for the Renesas R-Car H3 SoC.
> >
> > Do you need such fine-grained configuration? I'd really like to avoid
> > individual SoC Kconfig entries and only include SoC families (like
> > ARCH_RENESAS). There are some which I didn't spot at the time
> > (ARCH_FSL_LS2085A and ARCH_TEGRA_132_SOC) but we shouldn't continue this
> > trend any further.
> 
> I agree with you about coarse grained configuration in general. I am
> also wondering how to handle cases where IP varies with SoC version.
> =)

The code should cope with multiple drivers built into the kernel anyway,
single Image is a hard requirement. If you want to trim down an image
for a specific SoC (production kernel), just use individual Kconfig
entries for drivers that may depend on ARCH_RENESAS but not an
ARCH_R8A7795 which is used in drivers/ Makefiles.

> The two most common cases with SoC-specific IP for Renesas SoCs tend
> to be Pinctrl which is using rather large tables to support the PFC
> hardware and also the clocks (CCF) that drives the SoC specific CPG
> hardware. For the PFC and CPG I think it makes sense to enable build
> based on SoC model like we do already, but for the Kconfig bits in
> arch/arm64 perhaps ARCH_RENESAS can simply select ARCH_R8A7795?

I'm suggesting the other way around: CONFIG_PINCTRL_R8A7795 which
depends on ARCH_RENESAS, default y. Similarly for clocks and other
drivers.

-- 
Catalin

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

* Re: [PATCH v12 1/7] arm64: renesas: r8a7795: Add Renesas R8A7795 SoC support
  2015-10-30 11:08         ` Catalin Marinas
@ 2015-10-30 11:19           ` Geert Uytterhoeven
  -1 siblings, 0 replies; 36+ messages in thread
From: Geert Uytterhoeven @ 2015-10-30 11:19 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Catalin,

On Fri, Oct 30, 2015 at 12:08 PM, Catalin Marinas
<catalin.marinas@arm.com> wrote:
> On Thu, Oct 29, 2015 at 02:15:19PM +0900, Magnus Damm wrote:
>> On Thu, Oct 29, 2015 at 3:45 AM, Catalin Marinas
>> <catalin.marinas@arm.com> wrote:
>> > On Mon, Oct 26, 2015 at 03:01:46PM +0900, Simon Horman wrote:
>> >> --- a/arch/arm64/Kconfig.platforms
>> >> +++ b/arch/arm64/Kconfig.platforms
>> >> @@ -66,6 +66,23 @@ config ARCH_SEATTLE
>> >>       help
>> >>         This enables support for AMD Seattle SOC Family
>> >>
>> >> +config ARCH_SHMOBILE
>> >> +     bool
>> >> +
>> >> +config ARCH_RENESAS
>> >> +     bool "Renesas SoC Platforms"
>> >> +     select ARCH_SHMOBILE
>> >> +     select PINCTRL
>> >> +     select PM_GENERIC_DOMAINS if PM
>> >> +     help
>> >> +       This enables support for the ARMv8 based Renesas SoCs.
>> >> +
>> >> +config ARCH_R8A7795
>> >> +     bool "Renesas R-Car H3 SoC Platform"
>> >> +     depends on ARCH_RENESAS
>> >> +     help
>> >> +       This enables support for the Renesas R-Car H3 SoC.
>> >
>> > Do you need such fine-grained configuration? I'd really like to avoid
>> > individual SoC Kconfig entries and only include SoC families (like
>> > ARCH_RENESAS). There are some which I didn't spot at the time
>> > (ARCH_FSL_LS2085A and ARCH_TEGRA_132_SOC) but we shouldn't continue this
>> > trend any further.
>>
>> I agree with you about coarse grained configuration in general. I am
>> also wondering how to handle cases where IP varies with SoC version.
>> =)
>
> The code should cope with multiple drivers built into the kernel anyway,
> single Image is a hard requirement. If you want to trim down an image
> for a specific SoC (production kernel), just use individual Kconfig
> entries for drivers that may depend on ARCH_RENESAS but not an
> ARCH_R8A7795 which is used in drivers/ Makefiles.
>
>> The two most common cases with SoC-specific IP for Renesas SoCs tend
>> to be Pinctrl which is using rather large tables to support the PFC
>> hardware and also the clocks (CCF) that drives the SoC specific CPG
>> hardware. For the PFC and CPG I think it makes sense to enable build
>> based on SoC model like we do already, but for the Kconfig bits in
>> arch/arm64 perhaps ARCH_RENESAS can simply select ARCH_R8A7795?
>
> I'm suggesting the other way around: CONFIG_PINCTRL_R8A7795 which
> depends on ARCH_RENESAS, default y. Similarly for clocks and other
> drivers.

For drivers in general I agree.

Pinctrl and clocks (and perhaps a few others we haven't implemented support
for yet) are special, as they are core SoC-support: either you want all of it,
or nothing.

E.g. a kernel with CONFIG_PINCTRL_R8A7795=y but CONFIG_CLK_R8A7795=n
won't get you far.

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] 36+ messages in thread

* [PATCH v12 1/7] arm64: renesas: r8a7795: Add Renesas R8A7795 SoC support
@ 2015-10-30 11:19           ` Geert Uytterhoeven
  0 siblings, 0 replies; 36+ messages in thread
From: Geert Uytterhoeven @ 2015-10-30 11:19 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Catalin,

On Fri, Oct 30, 2015 at 12:08 PM, Catalin Marinas
<catalin.marinas@arm.com> wrote:
> On Thu, Oct 29, 2015 at 02:15:19PM +0900, Magnus Damm wrote:
>> On Thu, Oct 29, 2015 at 3:45 AM, Catalin Marinas
>> <catalin.marinas@arm.com> wrote:
>> > On Mon, Oct 26, 2015 at 03:01:46PM +0900, Simon Horman wrote:
>> >> --- a/arch/arm64/Kconfig.platforms
>> >> +++ b/arch/arm64/Kconfig.platforms
>> >> @@ -66,6 +66,23 @@ config ARCH_SEATTLE
>> >>       help
>> >>         This enables support for AMD Seattle SOC Family
>> >>
>> >> +config ARCH_SHMOBILE
>> >> +     bool
>> >> +
>> >> +config ARCH_RENESAS
>> >> +     bool "Renesas SoC Platforms"
>> >> +     select ARCH_SHMOBILE
>> >> +     select PINCTRL
>> >> +     select PM_GENERIC_DOMAINS if PM
>> >> +     help
>> >> +       This enables support for the ARMv8 based Renesas SoCs.
>> >> +
>> >> +config ARCH_R8A7795
>> >> +     bool "Renesas R-Car H3 SoC Platform"
>> >> +     depends on ARCH_RENESAS
>> >> +     help
>> >> +       This enables support for the Renesas R-Car H3 SoC.
>> >
>> > Do you need such fine-grained configuration? I'd really like to avoid
>> > individual SoC Kconfig entries and only include SoC families (like
>> > ARCH_RENESAS). There are some which I didn't spot at the time
>> > (ARCH_FSL_LS2085A and ARCH_TEGRA_132_SOC) but we shouldn't continue this
>> > trend any further.
>>
>> I agree with you about coarse grained configuration in general. I am
>> also wondering how to handle cases where IP varies with SoC version.
>> =)
>
> The code should cope with multiple drivers built into the kernel anyway,
> single Image is a hard requirement. If you want to trim down an image
> for a specific SoC (production kernel), just use individual Kconfig
> entries for drivers that may depend on ARCH_RENESAS but not an
> ARCH_R8A7795 which is used in drivers/ Makefiles.
>
>> The two most common cases with SoC-specific IP for Renesas SoCs tend
>> to be Pinctrl which is using rather large tables to support the PFC
>> hardware and also the clocks (CCF) that drives the SoC specific CPG
>> hardware. For the PFC and CPG I think it makes sense to enable build
>> based on SoC model like we do already, but for the Kconfig bits in
>> arch/arm64 perhaps ARCH_RENESAS can simply select ARCH_R8A7795?
>
> I'm suggesting the other way around: CONFIG_PINCTRL_R8A7795 which
> depends on ARCH_RENESAS, default y. Similarly for clocks and other
> drivers.

For drivers in general I agree.

Pinctrl and clocks (and perhaps a few others we haven't implemented support
for yet) are special, as they are core SoC-support: either you want all of it,
or nothing.

E.g. a kernel with CONFIG_PINCTRL_R8A7795=y but CONFIG_CLK_R8A7795=n
won't get you far.

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] 36+ messages in thread

* Re: [PATCH v12 1/7] arm64: renesas: r8a7795: Add Renesas R8A7795 SoC support
  2015-10-30 11:19           ` Geert Uytterhoeven
@ 2015-11-09  2:13             ` Simon Horman
  -1 siblings, 0 replies; 36+ messages in thread
From: Simon Horman @ 2015-11-09  2:13 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Catalin, Hi Geert,

On Fri, Oct 30, 2015 at 12:19:34PM +0100, Geert Uytterhoeven wrote:
> Hi Catalin,
> 
> On Fri, Oct 30, 2015 at 12:08 PM, Catalin Marinas
> <catalin.marinas@arm.com> wrote:
> > On Thu, Oct 29, 2015 at 02:15:19PM +0900, Magnus Damm wrote:
> >> On Thu, Oct 29, 2015 at 3:45 AM, Catalin Marinas
> >> <catalin.marinas@arm.com> wrote:
> >> > On Mon, Oct 26, 2015 at 03:01:46PM +0900, Simon Horman wrote:
> >> >> --- a/arch/arm64/Kconfig.platforms
> >> >> +++ b/arch/arm64/Kconfig.platforms
> >> >> @@ -66,6 +66,23 @@ config ARCH_SEATTLE
> >> >>       help
> >> >>         This enables support for AMD Seattle SOC Family
> >> >>
> >> >> +config ARCH_SHMOBILE
> >> >> +     bool
> >> >> +
> >> >> +config ARCH_RENESAS
> >> >> +     bool "Renesas SoC Platforms"
> >> >> +     select ARCH_SHMOBILE
> >> >> +     select PINCTRL
> >> >> +     select PM_GENERIC_DOMAINS if PM
> >> >> +     help
> >> >> +       This enables support for the ARMv8 based Renesas SoCs.
> >> >> +
> >> >> +config ARCH_R8A7795
> >> >> +     bool "Renesas R-Car H3 SoC Platform"
> >> >> +     depends on ARCH_RENESAS
> >> >> +     help
> >> >> +       This enables support for the Renesas R-Car H3 SoC.
> >> >
> >> > Do you need such fine-grained configuration? I'd really like to avoid
> >> > individual SoC Kconfig entries and only include SoC families (like
> >> > ARCH_RENESAS). There are some which I didn't spot at the time
> >> > (ARCH_FSL_LS2085A and ARCH_TEGRA_132_SOC) but we shouldn't continue this
> >> > trend any further.
> >>
> >> I agree with you about coarse grained configuration in general. I am
> >> also wondering how to handle cases where IP varies with SoC version.
> >> =)
> >
> > The code should cope with multiple drivers built into the kernel anyway,
> > single Image is a hard requirement. If you want to trim down an image
> > for a specific SoC (production kernel), just use individual Kconfig
> > entries for drivers that may depend on ARCH_RENESAS but not an
> > ARCH_R8A7795 which is used in drivers/ Makefiles.
> >
> >> The two most common cases with SoC-specific IP for Renesas SoCs tend
> >> to be Pinctrl which is using rather large tables to support the PFC
> >> hardware and also the clocks (CCF) that drives the SoC specific CPG
> >> hardware. For the PFC and CPG I think it makes sense to enable build
> >> based on SoC model like we do already, but for the Kconfig bits in
> >> arch/arm64 perhaps ARCH_RENESAS can simply select ARCH_R8A7795?
> >
> > I'm suggesting the other way around: CONFIG_PINCTRL_R8A7795 which
> > depends on ARCH_RENESAS, default y. Similarly for clocks and other
> > drivers.
> 
> For drivers in general I agree.
> 
> Pinctrl and clocks (and perhaps a few others we haven't implemented support
> for yet) are special, as they are core SoC-support: either you want all of it,
> or nothing.
> 
> E.g. a kernel with CONFIG_PINCTRL_R8A7795=y but CONFIG_CLK_R8A7795=n
> won't get you far.

If I could be so bold as to summarise the concerns they are:

* On the one hand there is a desire to make configuration as simple as
  possible. If I understand things correctly this is the main motivation
  for requesting the removal of ARCH_R8A7795.

* On the other hand there is a desire to give users the flexibility to
  easily configure their kernel for a single Renesas SoC. In particular
  to make sure that the appropriate PFC (PINCTRL) and CPG (CLK) drivers are
  present. A key reason that users want such flexibility is to reduce
  the size of their kernels: in particular the PFC drives are rather large.

With the above in mind I wonder if a good solution would be to keep
ARCH_R8A7795 but to guard it with CONFIG_EXPERT.

Non-expert users would get all Renesas SoCs if the Renesas family is
selected: the simple configuration that I believe Catalin desires.
While expert users would have an easy way to select specific SoCs once
they have enabled EXPERT. Not a terrible burden for them in my opinion.

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

* [PATCH v12 1/7] arm64: renesas: r8a7795: Add Renesas R8A7795 SoC support
@ 2015-11-09  2:13             ` Simon Horman
  0 siblings, 0 replies; 36+ messages in thread
From: Simon Horman @ 2015-11-09  2:13 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Catalin, Hi Geert,

On Fri, Oct 30, 2015 at 12:19:34PM +0100, Geert Uytterhoeven wrote:
> Hi Catalin,
> 
> On Fri, Oct 30, 2015 at 12:08 PM, Catalin Marinas
> <catalin.marinas@arm.com> wrote:
> > On Thu, Oct 29, 2015 at 02:15:19PM +0900, Magnus Damm wrote:
> >> On Thu, Oct 29, 2015 at 3:45 AM, Catalin Marinas
> >> <catalin.marinas@arm.com> wrote:
> >> > On Mon, Oct 26, 2015 at 03:01:46PM +0900, Simon Horman wrote:
> >> >> --- a/arch/arm64/Kconfig.platforms
> >> >> +++ b/arch/arm64/Kconfig.platforms
> >> >> @@ -66,6 +66,23 @@ config ARCH_SEATTLE
> >> >>       help
> >> >>         This enables support for AMD Seattle SOC Family
> >> >>
> >> >> +config ARCH_SHMOBILE
> >> >> +     bool
> >> >> +
> >> >> +config ARCH_RENESAS
> >> >> +     bool "Renesas SoC Platforms"
> >> >> +     select ARCH_SHMOBILE
> >> >> +     select PINCTRL
> >> >> +     select PM_GENERIC_DOMAINS if PM
> >> >> +     help
> >> >> +       This enables support for the ARMv8 based Renesas SoCs.
> >> >> +
> >> >> +config ARCH_R8A7795
> >> >> +     bool "Renesas R-Car H3 SoC Platform"
> >> >> +     depends on ARCH_RENESAS
> >> >> +     help
> >> >> +       This enables support for the Renesas R-Car H3 SoC.
> >> >
> >> > Do you need such fine-grained configuration? I'd really like to avoid
> >> > individual SoC Kconfig entries and only include SoC families (like
> >> > ARCH_RENESAS). There are some which I didn't spot at the time
> >> > (ARCH_FSL_LS2085A and ARCH_TEGRA_132_SOC) but we shouldn't continue this
> >> > trend any further.
> >>
> >> I agree with you about coarse grained configuration in general. I am
> >> also wondering how to handle cases where IP varies with SoC version.
> >> =)
> >
> > The code should cope with multiple drivers built into the kernel anyway,
> > single Image is a hard requirement. If you want to trim down an image
> > for a specific SoC (production kernel), just use individual Kconfig
> > entries for drivers that may depend on ARCH_RENESAS but not an
> > ARCH_R8A7795 which is used in drivers/ Makefiles.
> >
> >> The two most common cases with SoC-specific IP for Renesas SoCs tend
> >> to be Pinctrl which is using rather large tables to support the PFC
> >> hardware and also the clocks (CCF) that drives the SoC specific CPG
> >> hardware. For the PFC and CPG I think it makes sense to enable build
> >> based on SoC model like we do already, but for the Kconfig bits in
> >> arch/arm64 perhaps ARCH_RENESAS can simply select ARCH_R8A7795?
> >
> > I'm suggesting the other way around: CONFIG_PINCTRL_R8A7795 which
> > depends on ARCH_RENESAS, default y. Similarly for clocks and other
> > drivers.
> 
> For drivers in general I agree.
> 
> Pinctrl and clocks (and perhaps a few others we haven't implemented support
> for yet) are special, as they are core SoC-support: either you want all of it,
> or nothing.
> 
> E.g. a kernel with CONFIG_PINCTRL_R8A7795=y but CONFIG_CLK_R8A7795=n
> won't get you far.

If I could be so bold as to summarise the concerns they are:

* On the one hand there is a desire to make configuration as simple as
  possible. If I understand things correctly this is the main motivation
  for requesting the removal of ARCH_R8A7795.

* On the other hand there is a desire to give users the flexibility to
  easily configure their kernel for a single Renesas SoC. In particular
  to make sure that the appropriate PFC (PINCTRL) and CPG (CLK) drivers are
  present. A key reason that users want such flexibility is to reduce
  the size of their kernels: in particular the PFC drives are rather large.

With the above in mind I wonder if a good solution would be to keep
ARCH_R8A7795 but to guard it with CONFIG_EXPERT.

Non-expert users would get all Renesas SoCs if the Renesas family is
selected: the simple configuration that I believe Catalin desires.
While expert users would have an easy way to select specific SoCs once
they have enabled EXPERT. Not a terrible burden for them in my opinion.

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

* Re: [PATCH v12 1/7] arm64: renesas: r8a7795: Add Renesas R8A7795 SoC support
  2015-11-09  2:13             ` Simon Horman
@ 2015-11-09 15:26               ` Catalin Marinas
  -1 siblings, 0 replies; 36+ messages in thread
From: Catalin Marinas @ 2015-11-09 15:26 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Nov 09, 2015 at 11:13:04AM +0900, Simon Horman wrote:
> On Fri, Oct 30, 2015 at 12:19:34PM +0100, Geert Uytterhoeven wrote:
> > On Fri, Oct 30, 2015 at 12:08 PM, Catalin Marinas
> > <catalin.marinas@arm.com> wrote:
> > > On Thu, Oct 29, 2015 at 02:15:19PM +0900, Magnus Damm wrote:
> > >> The two most common cases with SoC-specific IP for Renesas SoCs tend
> > >> to be Pinctrl which is using rather large tables to support the PFC
> > >> hardware and also the clocks (CCF) that drives the SoC specific CPG
> > >> hardware. For the PFC and CPG I think it makes sense to enable build
> > >> based on SoC model like we do already, but for the Kconfig bits in
> > >> arch/arm64 perhaps ARCH_RENESAS can simply select ARCH_R8A7795?
> > >
> > > I'm suggesting the other way around: CONFIG_PINCTRL_R8A7795 which
> > > depends on ARCH_RENESAS, default y. Similarly for clocks and other
> > > drivers.
> > 
> > For drivers in general I agree.
> > 
> > Pinctrl and clocks (and perhaps a few others we haven't implemented support
> > for yet) are special, as they are core SoC-support: either you want all of it,
> > or nothing.
> > 
> > E.g. a kernel with CONFIG_PINCTRL_R8A7795=y but CONFIG_CLK_R8A7795=n
> > won't get you far.
> 
> If I could be so bold as to summarise the concerns they are:
> 
> * On the one hand there is a desire to make configuration as simple as
>   possible. If I understand things correctly this is the main motivation
>   for requesting the removal of ARCH_R8A7795.

Yes.

> * On the other hand there is a desire to give users the flexibility to
>   easily configure their kernel for a single Renesas SoC. In particular
>   to make sure that the appropriate PFC (PINCTRL) and CPG (CLK) drivers are
>   present. A key reason that users want such flexibility is to reduce
>   the size of their kernels: in particular the PFC drives are rather large.

The flexibility would still be there with individual CONFIG_PINCTRL...
but IIUC, what you want is to be able to easily select only
ARCH_R8A7795. If you start from defconfig, there are a lot more things
to disable already, so I don't see how ARCH_R8A7795 helps here. Unless
you start from allnoconfig and build up your configuration which,
again, requires considerable more work (not something I would call
easy).

> With the above in mind I wonder if a good solution would be to keep
> ARCH_R8A7795 but to guard it with CONFIG_EXPERT.

We either keep it or remove it altogether, I don't see much point in a
dependency on EXPERT.

> Non-expert users would get all Renesas SoCs if the Renesas family is
> selected: the simple configuration that I believe Catalin desires.
> While expert users would have an easy way to select specific SoCs once
> they have enabled EXPERT. Not a terrible burden for them in my opinion.

It's not about allowing "expert" users to select certain features but
whether we want to continue the model of individual SoC support in arm64
vs. SoC _family_ with a possibility to trim down unwanted drivers
(including pinctrl, clocks) which are not needed for a SoC-specific
kernel.

Anyway, I'll leave the decision to the arm-soc folk.

-- 
Catalin

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

* [PATCH v12 1/7] arm64: renesas: r8a7795: Add Renesas R8A7795 SoC support
@ 2015-11-09 15:26               ` Catalin Marinas
  0 siblings, 0 replies; 36+ messages in thread
From: Catalin Marinas @ 2015-11-09 15:26 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Nov 09, 2015 at 11:13:04AM +0900, Simon Horman wrote:
> On Fri, Oct 30, 2015 at 12:19:34PM +0100, Geert Uytterhoeven wrote:
> > On Fri, Oct 30, 2015 at 12:08 PM, Catalin Marinas
> > <catalin.marinas@arm.com> wrote:
> > > On Thu, Oct 29, 2015 at 02:15:19PM +0900, Magnus Damm wrote:
> > >> The two most common cases with SoC-specific IP for Renesas SoCs tend
> > >> to be Pinctrl which is using rather large tables to support the PFC
> > >> hardware and also the clocks (CCF) that drives the SoC specific CPG
> > >> hardware. For the PFC and CPG I think it makes sense to enable build
> > >> based on SoC model like we do already, but for the Kconfig bits in
> > >> arch/arm64 perhaps ARCH_RENESAS can simply select ARCH_R8A7795?
> > >
> > > I'm suggesting the other way around: CONFIG_PINCTRL_R8A7795 which
> > > depends on ARCH_RENESAS, default y. Similarly for clocks and other
> > > drivers.
> > 
> > For drivers in general I agree.
> > 
> > Pinctrl and clocks (and perhaps a few others we haven't implemented support
> > for yet) are special, as they are core SoC-support: either you want all of it,
> > or nothing.
> > 
> > E.g. a kernel with CONFIG_PINCTRL_R8A7795=y but CONFIG_CLK_R8A7795=n
> > won't get you far.
> 
> If I could be so bold as to summarise the concerns they are:
> 
> * On the one hand there is a desire to make configuration as simple as
>   possible. If I understand things correctly this is the main motivation
>   for requesting the removal of ARCH_R8A7795.

Yes.

> * On the other hand there is a desire to give users the flexibility to
>   easily configure their kernel for a single Renesas SoC. In particular
>   to make sure that the appropriate PFC (PINCTRL) and CPG (CLK) drivers are
>   present. A key reason that users want such flexibility is to reduce
>   the size of their kernels: in particular the PFC drives are rather large.

The flexibility would still be there with individual CONFIG_PINCTRL...
but IIUC, what you want is to be able to easily select only
ARCH_R8A7795. If you start from defconfig, there are a lot more things
to disable already, so I don't see how ARCH_R8A7795 helps here. Unless
you start from allnoconfig and build up your configuration which,
again, requires considerable more work (not something I would call
easy).

> With the above in mind I wonder if a good solution would be to keep
> ARCH_R8A7795 but to guard it with CONFIG_EXPERT.

We either keep it or remove it altogether, I don't see much point in a
dependency on EXPERT.

> Non-expert users would get all Renesas SoCs if the Renesas family is
> selected: the simple configuration that I believe Catalin desires.
> While expert users would have an easy way to select specific SoCs once
> they have enabled EXPERT. Not a terrible burden for them in my opinion.

It's not about allowing "expert" users to select certain features but
whether we want to continue the model of individual SoC support in arm64
vs. SoC _family_ with a possibility to trim down unwanted drivers
(including pinctrl, clocks) which are not needed for a SoC-specific
kernel.

Anyway, I'll leave the decision to the arm-soc folk.

-- 
Catalin

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

end of thread, other threads:[~2015-11-09 15:26 UTC | newest]

Thread overview: 36+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-10-26  6:01 [PATCH v12 0/7] arm64: renesas: Add Renesas R8A7795 SoC support Simon Horman
2015-10-26  6:01 ` Simon Horman
2015-10-26  6:01 ` [PATCH v12 1/7] arm64: renesas: r8a7795: " Simon Horman
2015-10-26  6:01   ` Simon Horman
2015-10-28  8:22   ` Geert Uytterhoeven
2015-10-28  8:22     ` Geert Uytterhoeven
2015-10-30  7:31     ` Simon Horman
2015-10-30  7:31       ` Simon Horman
2015-10-28 18:45   ` Catalin Marinas
2015-10-28 18:45     ` Catalin Marinas
2015-10-29  5:15     ` Magnus Damm
2015-10-29  5:15       ` Magnus Damm
2015-10-30 11:08       ` Catalin Marinas
2015-10-30 11:08         ` Catalin Marinas
2015-10-30 11:19         ` Geert Uytterhoeven
2015-10-30 11:19           ` Geert Uytterhoeven
2015-11-09  2:13           ` Simon Horman
2015-11-09  2:13             ` Simon Horman
2015-11-09 15:26             ` Catalin Marinas
2015-11-09 15:26               ` Catalin Marinas
2015-10-26  6:01 ` [PATCH v12 2/7] arm64: renesas: r8a7795 dtsi: Add dummy dma-controller nodes Simon Horman
2015-10-26  6:01   ` Simon Horman
2015-10-26  6:01 ` [PATCH v12 3/7] arm64: renesas: r8a7795 dtsi: Add all SCIF nodes Simon Horman
2015-10-26  6:01   ` Simon Horman
2015-10-26  6:01 ` [PATCH v12 4/7] arm64: renesas: r8a7795: enable PFC Simon Horman
2015-10-26  6:01   ` Simon Horman
2015-10-26  6:01 ` [PATCH v12 5/7] arm64: renesas: add Salvator-X board support on DTS Simon Horman
2015-10-26  6:01   ` Simon Horman
2015-10-26  6:01 ` [PATCH v12 6/7] arm64: defconfig: renesas: Enable Renesas r8a7795 SoC Simon Horman
2015-10-26  6:01   ` Simon Horman
2015-10-26  6:01 ` [PATCH v12 7/7] MAINTAINERS: Add entry Renesas arm64 architecture Simon Horman
2015-10-26  6:01   ` Simon Horman
2015-10-28  8:27   ` Geert Uytterhoeven
2015-10-28  8:27     ` Geert Uytterhoeven
2015-10-27  1:38 ` [PATCH v12 0/7] arm64: renesas: Add Renesas R8A7795 SoC support Simon Horman
2015-10-27  1:38   ` Simon Horman

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.