All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/5] Add RZ/G2M SYSC/RST/Clock support
@ 2018-07-30  7:48 Biju Das
  2018-07-30  7:48 ` [PATCH 1/5] dt-bindings: power: Add r8a774a1 SYSC power domain definitions Biju Das
                   ` (4 more replies)
  0 siblings, 5 replies; 15+ messages in thread
From: Biju Das @ 2018-07-30  7:48 UTC (permalink / raw)
  To: Rob Herring, Mark Rutland
  Cc: Biju Das, Simon Horman, Magnus Damm, linux-renesas-soc,
	devicetree, Geert Uytterhoeven, Chris Paterson, Fabrizio Castro

This patch series aims to add SYSC/RST/Clock support for 
for RZ/G2M SoC. RZ/G2M SoC is similar to R-Car Gen3 M3-W SoC.

Biju Das (5):
  dt-bindings: power: Add r8a774a1 SYSC power domain definitions
  soc: renesas: rcar-sysc: Add r8a774a1 support
  soc: renesas: rcar-rst: Add support for RZ/G2M
  clk: renesas: Add r8a774a1 CPG Core Clock Definitions
  clk: renesas: cpg-mssr: Add r8a774a1 support

 .../devicetree/bindings/clock/renesas,cpg-mssr.txt |   9 +-
 .../bindings/power/renesas,rcar-sysc.txt           |   1 +
 .../devicetree/bindings/reset/renesas,rst.txt      |   1 +
 drivers/clk/renesas/Kconfig                        |   5 +
 drivers/clk/renesas/Makefile                       |   1 +
 drivers/clk/renesas/r8a774a1-cpg-mssr.c            | 322 +++++++++++++++++++++
 drivers/clk/renesas/renesas-cpg-mssr.c             |   6 +
 drivers/clk/renesas/renesas-cpg-mssr.h             |   1 +
 drivers/soc/renesas/Kconfig                        |  11 +-
 drivers/soc/renesas/Makefile                       |   1 +
 drivers/soc/renesas/r8a774a1-sysc.c                |  45 +++
 drivers/soc/renesas/rcar-rst.c                     |   4 +-
 drivers/soc/renesas/rcar-sysc.c                    |   3 +
 drivers/soc/renesas/rcar-sysc.h                    |   1 +
 include/dt-bindings/clock/r8a774a1-cpg-mssr.h      |  59 ++++
 include/dt-bindings/power/r8a774a1-sysc.h          |  31 ++
 16 files changed, 493 insertions(+), 8 deletions(-)
 create mode 100644 drivers/clk/renesas/r8a774a1-cpg-mssr.c
 create mode 100644 drivers/soc/renesas/r8a774a1-sysc.c
 create mode 100644 include/dt-bindings/clock/r8a774a1-cpg-mssr.h
 create mode 100644 include/dt-bindings/power/r8a774a1-sysc.h

-- 
2.7.4

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

* [PATCH 1/5] dt-bindings: power: Add r8a774a1 SYSC power domain definitions
  2018-07-30  7:48 [PATCH 0/5] Add RZ/G2M SYSC/RST/Clock support Biju Das
@ 2018-07-30  7:48 ` Biju Das
  2018-08-01  8:01   ` Geert Uytterhoeven
  2018-07-30  7:48 ` [PATCH 2/5] soc: renesas: rcar-sysc: Add r8a774a1 support Biju Das
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 15+ messages in thread
From: Biju Das @ 2018-07-30  7:48 UTC (permalink / raw)
  To: Rob Herring, Mark Rutland
  Cc: Biju Das, devicetree, Simon Horman, Geert Uytterhoeven,
	Chris Paterson, Fabrizio Castro, linux-renesas-soc

This patch adds power domain indices for RZ/G2M.

Signed-off-by: Biju Das <biju.das@bp.renesas.com>
Reviewed-by: Chris Paterson <chris.paterson2@renesas.com>
---
 include/dt-bindings/power/r8a774a1-sysc.h | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)
 create mode 100644 include/dt-bindings/power/r8a774a1-sysc.h

diff --git a/include/dt-bindings/power/r8a774a1-sysc.h b/include/dt-bindings/power/r8a774a1-sysc.h
new file mode 100644
index 0000000..580f431
--- /dev/null
+++ b/include/dt-bindings/power/r8a774a1-sysc.h
@@ -0,0 +1,31 @@
+/* SPDX-License-Identifier: GPL-2.0
+ *
+ * Copyright (C) 2018 Renesas Electronics Corp.
+ */
+#ifndef __DT_BINDINGS_POWER_R8A774A1_SYSC_H__
+#define __DT_BINDINGS_POWER_R8A774A1_SYSC_H__
+
+/*
+ * These power domain indices match the numbers of the interrupt bits
+ * representing the power areas in the various Interrupt Registers
+ * (e.g. SYSCISR, Interrupt Status Register)
+ */
+
+#define R8A774A1_PD_CA57_CPU0		 0
+#define R8A774A1_PD_CA57_CPU1		 1
+#define R8A774A1_PD_CA53_CPU0		 5
+#define R8A774A1_PD_CA53_CPU1		 6
+#define R8A774A1_PD_CA53_CPU2		 7
+#define R8A774A1_PD_CA53_CPU3		 8
+#define R8A774A1_PD_CA57_SCU		12
+#define R8A774A1_PD_A3VC		14
+#define R8A774A1_PD_3DG_A		17
+#define R8A774A1_PD_3DG_B		18
+#define R8A774A1_PD_CA53_SCU		21
+#define R8A774A1_PD_A2VC0		25
+#define R8A774A1_PD_A2VC1		26
+
+/* Always-on power area */
+#define R8A774A1_PD_ALWAYS_ON		32
+
+#endif /* __DT_BINDINGS_POWER_R8A774A1_SYSC_H__ */
-- 
2.7.4

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

* [PATCH 2/5] soc: renesas: rcar-sysc: Add r8a774a1 support
  2018-07-30  7:48 [PATCH 0/5] Add RZ/G2M SYSC/RST/Clock support Biju Das
  2018-07-30  7:48 ` [PATCH 1/5] dt-bindings: power: Add r8a774a1 SYSC power domain definitions Biju Das
@ 2018-07-30  7:48 ` Biju Das
  2018-08-01  8:05   ` Geert Uytterhoeven
  2018-07-30  7:48 ` [PATCH 3/5] soc: renesas: rcar-rst: Add support for RZ/G2M Biju Das
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 15+ messages in thread
From: Biju Das @ 2018-07-30  7:48 UTC (permalink / raw)
  To: Rob Herring, Mark Rutland
  Cc: Biju Das, Simon Horman, Magnus Damm, Geert Uytterhoeven,
	Vladimir Barinov, Sergei Shtylyov, Takeshi Kihara, Jacopo Mondi,
	devicetree, linux-renesas-soc, Chris Paterson, Fabrizio Castro

Add support for RZ/G2M (R8A774A1) SoC power areas to the R-Car SYSC
driver.

Signed-off-by: Biju Das <biju.das@bp.renesas.com>
Reviewed-by: Chris Paterson <chris.paterson2@renesas.com>
---
 .../bindings/power/renesas,rcar-sysc.txt           |  1 +
 drivers/soc/renesas/Kconfig                        |  5 +++
 drivers/soc/renesas/Makefile                       |  1 +
 drivers/soc/renesas/r8a774a1-sysc.c                | 45 ++++++++++++++++++++++
 drivers/soc/renesas/rcar-sysc.c                    |  3 ++
 drivers/soc/renesas/rcar-sysc.h                    |  1 +
 6 files changed, 56 insertions(+)
 create mode 100644 drivers/soc/renesas/r8a774a1-sysc.c

diff --git a/Documentation/devicetree/bindings/power/renesas,rcar-sysc.txt b/Documentation/devicetree/bindings/power/renesas,rcar-sysc.txt
index 180ae65..4e3ec6a 100644
--- a/Documentation/devicetree/bindings/power/renesas,rcar-sysc.txt
+++ b/Documentation/devicetree/bindings/power/renesas,rcar-sysc.txt
@@ -10,6 +10,7 @@ Required properties:
       - "renesas,r8a7743-sysc" (RZ/G1M)
       - "renesas,r8a7745-sysc" (RZ/G1E)
       - "renesas,r8a77470-sysc" (RZ/G1C)
+      - "renesas,r8a774a1-sysc" (RZ/G2M)
       - "renesas,r8a7779-sysc" (R-Car H1)
       - "renesas,r8a7790-sysc" (R-Car H2)
       - "renesas,r8a7791-sysc" (R-Car M2-W)
diff --git a/drivers/soc/renesas/Kconfig b/drivers/soc/renesas/Kconfig
index 1d824cb..d769330 100644
--- a/drivers/soc/renesas/Kconfig
+++ b/drivers/soc/renesas/Kconfig
@@ -9,6 +9,7 @@ config SOC_RENESAS
 	select SYSC_R8A7743 if ARCH_R8A7743
 	select SYSC_R8A7745 if ARCH_R8A7745
 	select SYSC_R8A77470 if ARCH_R8A77470
+	select SYSC_R8A774A1 if ARCH_R8A774A1
 	select SYSC_R8A7779 if ARCH_R8A7779
 	select SYSC_R8A7790 if ARCH_R8A7790
 	select SYSC_R8A7791 if ARCH_R8A7791 || ARCH_R8A7793
@@ -37,6 +38,10 @@ config SYSC_R8A77470
 	bool "RZ/G1C System Controller support" if COMPILE_TEST
 	select SYSC_RCAR
 
+config SYSC_R8A774A1
+	bool "RZ/G2M System Controller support" if COMPILE_TEST
+	select SYSC_RCAR
+
 config SYSC_R8A7779
 	bool "R-Car H1 System Controller support" if COMPILE_TEST
 	select SYSC_RCAR
diff --git a/drivers/soc/renesas/Makefile b/drivers/soc/renesas/Makefile
index c37b080..6adb9d6 100644
--- a/drivers/soc/renesas/Makefile
+++ b/drivers/soc/renesas/Makefile
@@ -6,6 +6,7 @@ obj-$(CONFIG_SOC_RENESAS)	+= renesas-soc.o
 obj-$(CONFIG_SYSC_R8A7743)	+= r8a7743-sysc.o
 obj-$(CONFIG_SYSC_R8A7745)	+= r8a7745-sysc.o
 obj-$(CONFIG_SYSC_R8A77470)	+= r8a77470-sysc.o
+obj-$(CONFIG_SYSC_R8A774A1)	+= r8a774a1-sysc.o
 obj-$(CONFIG_SYSC_R8A7779)	+= r8a7779-sysc.o
 obj-$(CONFIG_SYSC_R8A7790)	+= r8a7790-sysc.o
 obj-$(CONFIG_SYSC_R8A7791)	+= r8a7791-sysc.o
diff --git a/drivers/soc/renesas/r8a774a1-sysc.c b/drivers/soc/renesas/r8a774a1-sysc.c
new file mode 100644
index 0000000..9db51ff
--- /dev/null
+++ b/drivers/soc/renesas/r8a774a1-sysc.c
@@ -0,0 +1,45 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Renesas RZ/G2M System Controller
+ * Copyright (C) 2018 Renesas Electronics Corp.
+ *
+ * Based on Renesas R-Car M3-W System Controller
+ * Copyright (C) 2016 Glider bvba
+ */
+
+#include <linux/bug.h>
+#include <linux/kernel.h>
+
+#include <dt-bindings/power/r8a774a1-sysc.h>
+
+#include "rcar-sysc.h"
+
+static const struct rcar_sysc_area r8a774a1_areas[] __initconst = {
+	{ "always-on",	    0, 0, R8A774A1_PD_ALWAYS_ON, -1, PD_ALWAYS_ON },
+	{ "ca57-scu",	0x1c0, 0, R8A774A1_PD_CA57_SCU,	R8A774A1_PD_ALWAYS_ON,
+	  PD_SCU },
+	{ "ca57-cpu0",	 0x80, 0, R8A774A1_PD_CA57_CPU0, R8A774A1_PD_CA57_SCU,
+	  PD_CPU_NOCR },
+	{ "ca57-cpu1",	 0x80, 1, R8A774A1_PD_CA57_CPU1, R8A774A1_PD_CA57_SCU,
+	  PD_CPU_NOCR },
+	{ "ca53-scu",	0x140, 0, R8A774A1_PD_CA53_SCU,	R8A774A1_PD_ALWAYS_ON,
+	  PD_SCU },
+	{ "ca53-cpu0",	0x200, 0, R8A774A1_PD_CA53_CPU0, R8A774A1_PD_CA53_SCU,
+	  PD_CPU_NOCR },
+	{ "ca53-cpu1",	0x200, 1, R8A774A1_PD_CA53_CPU1, R8A774A1_PD_CA53_SCU,
+	  PD_CPU_NOCR },
+	{ "ca53-cpu2",	0x200, 2, R8A774A1_PD_CA53_CPU2, R8A774A1_PD_CA53_SCU,
+	  PD_CPU_NOCR },
+	{ "ca53-cpu3",	0x200, 3, R8A774A1_PD_CA53_CPU3, R8A774A1_PD_CA53_SCU,
+	  PD_CPU_NOCR },
+	{ "a3vc",	0x380, 0, R8A774A1_PD_A3VC,	R8A774A1_PD_ALWAYS_ON },
+	{ "a2vc0",	0x3c0, 0, R8A774A1_PD_A2VC0,	R8A774A1_PD_A3VC },
+	{ "a2vc1",	0x3c0, 1, R8A774A1_PD_A2VC1,	R8A774A1_PD_A3VC },
+	{ "3dg-a",	0x100, 0, R8A774A1_PD_3DG_A,	R8A774A1_PD_ALWAYS_ON },
+	{ "3dg-b",	0x100, 1, R8A774A1_PD_3DG_B,	R8A774A1_PD_3DG_A },
+};
+
+const struct rcar_sysc_info r8a774a1_sysc_info __initconst = {
+	.areas = r8a774a1_areas,
+	.num_areas = ARRAY_SIZE(r8a774a1_areas),
+};
diff --git a/drivers/soc/renesas/rcar-sysc.c b/drivers/soc/renesas/rcar-sysc.c
index 029188e..fe32f7a 100644
--- a/drivers/soc/renesas/rcar-sysc.c
+++ b/drivers/soc/renesas/rcar-sysc.c
@@ -275,6 +275,9 @@ static const struct of_device_id rcar_sysc_matches[] __initconst = {
 #ifdef CONFIG_SYSC_R8A77470
 	{ .compatible = "renesas,r8a77470-sysc", .data = &r8a77470_sysc_info },
 #endif
+#ifdef CONFIG_SYSC_R8A774A1
+	{ .compatible = "renesas,r8a774a1-sysc", .data = &r8a774a1_sysc_info },
+#endif
 #ifdef CONFIG_SYSC_R8A7779
 	{ .compatible = "renesas,r8a7779-sysc", .data = &r8a7779_sysc_info },
 #endif
diff --git a/drivers/soc/renesas/rcar-sysc.h b/drivers/soc/renesas/rcar-sysc.h
index a22e7cf..33defe6 100644
--- a/drivers/soc/renesas/rcar-sysc.h
+++ b/drivers/soc/renesas/rcar-sysc.h
@@ -52,6 +52,7 @@ struct rcar_sysc_info {
 extern const struct rcar_sysc_info r8a7743_sysc_info;
 extern const struct rcar_sysc_info r8a7745_sysc_info;
 extern const struct rcar_sysc_info r8a77470_sysc_info;
+extern const struct rcar_sysc_info r8a774a1_sysc_info;
 extern const struct rcar_sysc_info r8a7779_sysc_info;
 extern const struct rcar_sysc_info r8a7790_sysc_info;
 extern const struct rcar_sysc_info r8a7791_sysc_info;
-- 
2.7.4

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

* [PATCH 3/5] soc: renesas: rcar-rst: Add support for RZ/G2M
  2018-07-30  7:48 [PATCH 0/5] Add RZ/G2M SYSC/RST/Clock support Biju Das
  2018-07-30  7:48 ` [PATCH 1/5] dt-bindings: power: Add r8a774a1 SYSC power domain definitions Biju Das
  2018-07-30  7:48 ` [PATCH 2/5] soc: renesas: rcar-sysc: Add r8a774a1 support Biju Das
@ 2018-07-30  7:48 ` Biju Das
  2018-08-01  8:46   ` Geert Uytterhoeven
  2018-07-30  7:48 ` [PATCH 4/5] clk: renesas: Add r8a774a1 CPG Core Clock Definitions Biju Das
  2018-07-30  7:48 ` [PATCH 5/5] clk: renesas: cpg-mssr: Add r8a774a1 support Biju Das
  4 siblings, 1 reply; 15+ messages in thread
From: Biju Das @ 2018-07-30  7:48 UTC (permalink / raw)
  To: Philipp Zabel, Rob Herring, Mark Rutland
  Cc: Biju Das, Simon Horman, Magnus Damm, devicetree,
	linux-renesas-soc, Geert Uytterhoeven, Chris Paterson,
	Fabrizio Castro

Signed-off-by: Biju Das <biju.das@bp.renesas.com>
Reviewed-by: Chris Paterson <chris.paterson2@renesas.com>
---
 Documentation/devicetree/bindings/reset/renesas,rst.txt | 1 +
 drivers/soc/renesas/Kconfig                             | 6 +++---
 drivers/soc/renesas/rcar-rst.c                          | 4 +++-
 3 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/Documentation/devicetree/bindings/reset/renesas,rst.txt b/Documentation/devicetree/bindings/reset/renesas,rst.txt
index 67e83b0..e4fe0ab 100644
--- a/Documentation/devicetree/bindings/reset/renesas,rst.txt
+++ b/Documentation/devicetree/bindings/reset/renesas,rst.txt
@@ -18,6 +18,7 @@ Required properties:
 		  - "renesas,r8a7743-rst" (RZ/G1M)
 		  - "renesas,r8a7745-rst" (RZ/G1E)
 		  - "renesas,r8a77470-rst" (RZ/G1C)
+		  - "renesas,r8a774a1-rst" (RZ/G2M)
 		  - "renesas,r8a7778-reset-wdt" (R-Car M1A)
 		  - "renesas,r8a7779-reset-wdt" (R-Car H1)
 		  - "renesas,r8a7790-rst" (R-Car H2)
diff --git a/drivers/soc/renesas/Kconfig b/drivers/soc/renesas/Kconfig
index d769330..00d4c9d 100644
--- a/drivers/soc/renesas/Kconfig
+++ b/drivers/soc/renesas/Kconfig
@@ -3,9 +3,9 @@ config SOC_RENESAS
 	default y if ARCH_RENESAS
 	select SOC_BUS
 	select RST_RCAR if ARCH_RCAR_GEN1 || ARCH_RCAR_GEN2 || \
-			   ARCH_R8A7795 || ARCH_R8A7796 || ARCH_R8A77965 || \
-			   ARCH_R8A77970 || ARCH_R8A77980 || ARCH_R8A77990 || \
-			   ARCH_R8A77995
+			   ARCH_R8A774A1 || ARCH_R8A7795 || ARCH_R8A7796 || \
+			   ARCH_R8A77965 || ARCH_R8A77970 || ARCH_R8A77980 || \
+			   ARCH_R8A77990 || ARCH_R8A77995
 	select SYSC_R8A7743 if ARCH_R8A7743
 	select SYSC_R8A7745 if ARCH_R8A7745
 	select SYSC_R8A77470 if ARCH_R8A77470
diff --git a/drivers/soc/renesas/rcar-rst.c b/drivers/soc/renesas/rcar-rst.c
index d9c1034..a447873 100644
--- a/drivers/soc/renesas/rcar-rst.c
+++ b/drivers/soc/renesas/rcar-rst.c
@@ -41,10 +41,12 @@ static const struct rst_config rcar_rst_gen3 __initconst = {
 };
 
 static const struct of_device_id rcar_rst_matches[] __initconst = {
-	/* RZ/G is handled like R-Car Gen2 */
+	/* RZ/G1 is handled like R-Car Gen2 */
 	{ .compatible = "renesas,r8a7743-rst", .data = &rcar_rst_gen2 },
 	{ .compatible = "renesas,r8a7745-rst", .data = &rcar_rst_gen2 },
 	{ .compatible = "renesas,r8a77470-rst", .data = &rcar_rst_gen2 },
+	/* RZ/G2 is handled like R-Car Gen3 */
+	{ .compatible = "renesas,r8a774a1-rst", .data = &rcar_rst_gen3 },
 	/* R-Car Gen1 */
 	{ .compatible = "renesas,r8a7778-reset-wdt", .data = &rcar_rst_gen1 },
 	{ .compatible = "renesas,r8a7779-reset-wdt", .data = &rcar_rst_gen1 },
-- 
2.7.4

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

* [PATCH 4/5] clk: renesas: Add r8a774a1 CPG Core Clock Definitions
  2018-07-30  7:48 [PATCH 0/5] Add RZ/G2M SYSC/RST/Clock support Biju Das
                   ` (2 preceding siblings ...)
  2018-07-30  7:48 ` [PATCH 3/5] soc: renesas: rcar-rst: Add support for RZ/G2M Biju Das
@ 2018-07-30  7:48 ` Biju Das
  2018-08-01  8:46   ` Geert Uytterhoeven
  2018-07-30  7:48 ` [PATCH 5/5] clk: renesas: cpg-mssr: Add r8a774a1 support Biju Das
  4 siblings, 1 reply; 15+ messages in thread
From: Biju Das @ 2018-07-30  7:48 UTC (permalink / raw)
  To: Rob Herring, Mark Rutland
  Cc: Biju Das, devicetree, Simon Horman, Geert Uytterhoeven,
	Chris Paterson, Fabrizio Castro, linux-renesas-soc

Add all RZ/G2M Clock Pulse Generator Core Clock Outputs, as listed in
Table 8.2b ("List of Clocks [RZ/G2M]") of the RZ/G2M Hardware User's
Manual.

Signed-off-by: Biju Das <biju.das@bp.renesas.com>
Reviewed-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com>
---
 include/dt-bindings/clock/r8a774a1-cpg-mssr.h | 59 +++++++++++++++++++++++++++
 1 file changed, 59 insertions(+)
 create mode 100644 include/dt-bindings/clock/r8a774a1-cpg-mssr.h

diff --git a/include/dt-bindings/clock/r8a774a1-cpg-mssr.h b/include/dt-bindings/clock/r8a774a1-cpg-mssr.h
new file mode 100644
index 0000000..144c341
--- /dev/null
+++ b/include/dt-bindings/clock/r8a774a1-cpg-mssr.h
@@ -0,0 +1,59 @@
+/* SPDX-License-Identifier: GPL-2.0
+ *
+ * Copyright (C) 2018 Renesas Electronics Corp.
+ */
+#ifndef __DT_BINDINGS_CLOCK_R8A774A1_CPG_MSSR_H__
+#define __DT_BINDINGS_CLOCK_R8A774A1_CPG_MSSR_H__
+
+#include <dt-bindings/clock/renesas-cpg-mssr.h>
+
+/* r8a774a1 CPG Core Clocks */
+#define R8A774A1_CLK_Z			0
+#define R8A774A1_CLK_Z2			1
+#define R8A774A1_CLK_ZG			2
+#define R8A774A1_CLK_ZTR		3
+#define R8A774A1_CLK_ZTRD2		4
+#define R8A774A1_CLK_ZT			5
+#define R8A774A1_CLK_ZX			6
+#define R8A774A1_CLK_S0D1		7
+#define R8A774A1_CLK_S0D2		8
+#define R8A774A1_CLK_S0D3		9
+#define R8A774A1_CLK_S0D4		10
+#define R8A774A1_CLK_S0D6		11
+#define R8A774A1_CLK_S0D8		12
+#define R8A774A1_CLK_S0D12		13
+#define R8A774A1_CLK_S1D2		14
+#define R8A774A1_CLK_S1D4		15
+#define R8A774A1_CLK_S2D1		16
+#define R8A774A1_CLK_S2D2		17
+#define R8A774A1_CLK_S2D4		18
+#define R8A774A1_CLK_S3D1		19
+#define R8A774A1_CLK_S3D2		20
+#define R8A774A1_CLK_S3D4		21
+#define R8A774A1_CLK_LB			22
+#define R8A774A1_CLK_CL			23
+#define R8A774A1_CLK_ZB3		24
+#define R8A774A1_CLK_ZB3D2		25
+#define R8A774A1_CLK_ZB3D4		26
+#define R8A774A1_CLK_CR			27
+#define R8A774A1_CLK_CRD2		28
+#define R8A774A1_CLK_SD0H		29
+#define R8A774A1_CLK_SD0		30
+#define R8A774A1_CLK_SD1H		31
+#define R8A774A1_CLK_SD1		32
+#define R8A774A1_CLK_SD2H		33
+#define R8A774A1_CLK_SD2		34
+#define R8A774A1_CLK_SD3H		35
+#define R8A774A1_CLK_SD3		36
+#define R8A774A1_CLK_RPC		37
+#define R8A774A1_CLK_RPCD2		38
+#define R8A774A1_CLK_MSO		39
+#define R8A774A1_CLK_HDMI		40
+#define R8A774A1_CLK_CSI0		41
+#define R8A774A1_CLK_CP			42
+#define R8A774A1_CLK_POST2		43
+#define R8A774A1_CLK_CPEX		44
+#define R8A774A1_CLK_R			45
+#define R8A774A1_CLK_OSC		46
+
+#endif /* __DT_BINDINGS_CLOCK_R8A774A1_CPG_MSSR_H__ */
-- 
2.7.4

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

* [PATCH 5/5] clk: renesas: cpg-mssr: Add r8a774a1 support
  2018-07-30  7:48 [PATCH 0/5] Add RZ/G2M SYSC/RST/Clock support Biju Das
                   ` (3 preceding siblings ...)
  2018-07-30  7:48 ` [PATCH 4/5] clk: renesas: Add r8a774a1 CPG Core Clock Definitions Biju Das
@ 2018-07-30  7:48 ` Biju Das
  2018-08-01  9:26   ` Geert Uytterhoeven
  4 siblings, 1 reply; 15+ messages in thread
From: Biju Das @ 2018-07-30  7:48 UTC (permalink / raw)
  To: Michael Turquette, Stephen Boyd, Rob Herring, Mark Rutland
  Cc: Biju Das, Geert Uytterhoeven, linux-clk, devicetree,
	linux-renesas-soc, Simon Horman, Chris Paterson, Fabrizio Castro

Add RZ/G2M (R8A774A1) Clock Pulse Generator / Module Standby and Software
Reset support.

Based on the Table 8.2b of "RZ/G Series, 2nd Generation User's Manual:
Hardware ((Rev. 0.61, June 12, 2018)".

Signed-off-by: Biju Das <biju.das@bp.renesas.com>
Reviewed-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com>
---
 .../devicetree/bindings/clock/renesas,cpg-mssr.txt |   9 +-
 drivers/clk/renesas/Kconfig                        |   5 +
 drivers/clk/renesas/Makefile                       |   1 +
 drivers/clk/renesas/r8a774a1-cpg-mssr.c            | 322 +++++++++++++++++++++
 drivers/clk/renesas/renesas-cpg-mssr.c             |   6 +
 drivers/clk/renesas/renesas-cpg-mssr.h             |   1 +
 6 files changed, 340 insertions(+), 4 deletions(-)
 create mode 100644 drivers/clk/renesas/r8a774a1-cpg-mssr.c

diff --git a/Documentation/devicetree/bindings/clock/renesas,cpg-mssr.txt b/Documentation/devicetree/bindings/clock/renesas,cpg-mssr.txt
index db542ab..42d0f83 100644
--- a/Documentation/devicetree/bindings/clock/renesas,cpg-mssr.txt
+++ b/Documentation/devicetree/bindings/clock/renesas,cpg-mssr.txt
@@ -16,6 +16,7 @@ Required Properties:
       - "renesas,r8a7743-cpg-mssr" for the r8a7743 SoC (RZ/G1M)
       - "renesas,r8a7745-cpg-mssr" for the r8a7745 SoC (RZ/G1E)
       - "renesas,r8a77470-cpg-mssr" for the r8a77470 SoC (RZ/G1C)
+      - "renesas,r8a774a1-cpg-mssr" for the r8a774a1 SoC (RZ/G2M)
       - "renesas,r8a7790-cpg-mssr" for the r8a7790 SoC (R-Car H2)
       - "renesas,r8a7791-cpg-mssr" for the r8a7791 SoC (R-Car M2-W)
       - "renesas,r8a7792-cpg-mssr" for the r8a7792 SoC (R-Car V2H)
@@ -35,10 +36,10 @@ Required Properties:
   - clocks: References to external parent clocks, one entry for each entry in
     clock-names
   - clock-names: List of external parent clock names. Valid names are:
-      - "extal" (r8a7743, r8a7745, r8a77470, r8a7790, r8a7791, r8a7792,
-		 r8a7793, r8a7794, r8a7795, r8a7796, r8a77965, r8a77970,
-		 r8a77980, r8a77990, r8a77995)
-      - "extalr" (r8a7795, r8a7796, r8a77965, r8a77970, r8a77980)
+      - "extal" (r8a7743, r8a7745, r8a77470, r8a774a1, r8a7790, r8a7791,
+		 r8a7792, r8a7793, r8a7794, r8a7795, r8a7796, r8a77965,
+		 r8a77970, r8a77980, r8a77990, r8a77995)
+      - "extalr" (r8a774a1, r8a7795, r8a7796, r8a77965, r8a77970, r8a77980)
       - "usb_extal" (r8a7743, r8a7745, r8a77470, r8a7790, r8a7791, r8a7793,
 		     r8a7794)
 
diff --git a/drivers/clk/renesas/Kconfig b/drivers/clk/renesas/Kconfig
index f9ba71311..fd36f18 100644
--- a/drivers/clk/renesas/Kconfig
+++ b/drivers/clk/renesas/Kconfig
@@ -8,6 +8,7 @@ config CLK_RENESAS
 	select CLK_R8A7743 if ARCH_R8A7743
 	select CLK_R8A7745 if ARCH_R8A7745
 	select CLK_R8A77470 if ARCH_R8A77470
+	select CLK_R8A774A1 if ARCH_R8A774A1
 	select CLK_R8A7778 if ARCH_R8A7778
 	select CLK_R8A7779 if ARCH_R8A7779
 	select CLK_R8A7790 if ARCH_R8A7790
@@ -66,6 +67,10 @@ config CLK_R8A77470
 	bool "RZ/G1C clock support" if COMPILE_TEST
 	select CLK_RCAR_GEN2_CPG
 
+config CLK_R8A774A1
+	bool "RZ/G2M clock support" if COMPILE_TEST
+	select CLK_RCAR_GEN3_CPG
+
 config CLK_R8A7778
 	bool "R-Car M1A clock support" if COMPILE_TEST
 	select CLK_RENESAS_CPG_MSTP
diff --git a/drivers/clk/renesas/Makefile b/drivers/clk/renesas/Makefile
index fe5bac9..0eb56bc 100644
--- a/drivers/clk/renesas/Makefile
+++ b/drivers/clk/renesas/Makefile
@@ -7,6 +7,7 @@ obj-$(CONFIG_CLK_R8A7740)		+= clk-r8a7740.o
 obj-$(CONFIG_CLK_R8A7743)		+= r8a7743-cpg-mssr.o
 obj-$(CONFIG_CLK_R8A7745)		+= r8a7745-cpg-mssr.o
 obj-$(CONFIG_CLK_R8A77470)		+= r8a77470-cpg-mssr.o
+obj-$(CONFIG_CLK_R8A774A1)		+= r8a774a1-cpg-mssr.o
 obj-$(CONFIG_CLK_R8A7778)		+= clk-r8a7778.o
 obj-$(CONFIG_CLK_R8A7779)		+= clk-r8a7779.o
 obj-$(CONFIG_CLK_R8A7790)		+= r8a7790-cpg-mssr.o
diff --git a/drivers/clk/renesas/r8a774a1-cpg-mssr.c b/drivers/clk/renesas/r8a774a1-cpg-mssr.c
new file mode 100644
index 0000000..0993513
--- /dev/null
+++ b/drivers/clk/renesas/r8a774a1-cpg-mssr.c
@@ -0,0 +1,322 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * r8a774a1 Clock Pulse Generator / Module Standby and Software Reset
+ *
+ * Copyright (C) 2018 Renesas Electronics Corp.
+ *
+ * Based on r8a7796-cpg-mssr.c
+ *
+ * Copyright (C) 2016 Glider bvba
+ */
+
+#include <linux/device.h>
+#include <linux/init.h>
+#include <linux/kernel.h>
+#include <linux/soc/renesas/rcar-rst.h>
+
+#include <dt-bindings/clock/r8a774a1-cpg-mssr.h>
+
+#include "renesas-cpg-mssr.h"
+#include "rcar-gen3-cpg.h"
+
+enum clk_ids {
+	/* Core Clock Outputs exported to DT */
+	LAST_DT_CORE_CLK = R8A774A1_CLK_OSC,
+
+	/* External Input Clocks */
+	CLK_EXTAL,
+	CLK_EXTALR,
+
+	/* Internal Core Clocks */
+	CLK_MAIN,
+	CLK_PLL0,
+	CLK_PLL1,
+	CLK_PLL2,
+	CLK_PLL3,
+	CLK_PLL4,
+	CLK_PLL1_DIV2,
+	CLK_PLL1_DIV4,
+	CLK_S0,
+	CLK_S1,
+	CLK_S2,
+	CLK_S3,
+	CLK_SDSRC,
+	CLK_RINT,
+
+	/* Module Clocks */
+	MOD_CLK_BASE
+};
+
+static const struct cpg_core_clk r8a774a1_core_clks[] __initconst = {
+	/* External Clock Inputs */
+	DEF_INPUT("extal",      CLK_EXTAL),
+	DEF_INPUT("extalr",     CLK_EXTALR),
+
+	/* Internal Core Clocks */
+	DEF_BASE(".main",       CLK_MAIN, CLK_TYPE_GEN3_MAIN, CLK_EXTAL),
+	DEF_BASE(".pll0",       CLK_PLL0, CLK_TYPE_GEN3_PLL0, CLK_MAIN),
+	DEF_BASE(".pll1",       CLK_PLL1, CLK_TYPE_GEN3_PLL1, CLK_MAIN),
+	DEF_BASE(".pll2",       CLK_PLL2, CLK_TYPE_GEN3_PLL2, CLK_MAIN),
+	DEF_BASE(".pll3",       CLK_PLL3, CLK_TYPE_GEN3_PLL3, CLK_MAIN),
+	DEF_BASE(".pll4",       CLK_PLL4, CLK_TYPE_GEN3_PLL4, CLK_MAIN),
+
+	DEF_FIXED(".pll1_div2", CLK_PLL1_DIV2,     CLK_PLL1,       2, 1),
+	DEF_FIXED(".pll1_div4", CLK_PLL1_DIV4,     CLK_PLL1_DIV2,  2, 1),
+	DEF_FIXED(".s0",        CLK_S0,            CLK_PLL1_DIV2,  2, 1),
+	DEF_FIXED(".s1",        CLK_S1,            CLK_PLL1_DIV2,  3, 1),
+	DEF_FIXED(".s2",        CLK_S2,            CLK_PLL1_DIV2,  4, 1),
+	DEF_FIXED(".s3",        CLK_S3,            CLK_PLL1_DIV2,  6, 1),
+	DEF_FIXED(".sdsrc",     CLK_SDSRC,         CLK_PLL1_DIV2,  2, 1),
+
+	/* Core Clock Outputs */
+	DEF_BASE("z",           R8A774A1_CLK_Z,     CLK_TYPE_GEN3_Z, CLK_PLL0),
+	DEF_BASE("z2",          R8A774A1_CLK_Z2,    CLK_TYPE_GEN3_Z2, CLK_PLL2),
+	DEF_FIXED("ztr",        R8A774A1_CLK_ZTR,   CLK_PLL1_DIV2,  6, 1),
+	DEF_FIXED("ztrd2",      R8A774A1_CLK_ZTRD2, CLK_PLL1_DIV2, 12, 1),
+	DEF_FIXED("zt",         R8A774A1_CLK_ZT,    CLK_PLL1_DIV2,  4, 1),
+	DEF_FIXED("zx",         R8A774A1_CLK_ZX,    CLK_PLL1_DIV2,  2, 1),
+	DEF_FIXED("s0d1",       R8A774A1_CLK_S0D1,  CLK_S0,         1, 1),
+	DEF_FIXED("s0d2",       R8A774A1_CLK_S0D2,  CLK_S0,         2, 1),
+	DEF_FIXED("s0d3",       R8A774A1_CLK_S0D3,  CLK_S0,         3, 1),
+	DEF_FIXED("s0d4",       R8A774A1_CLK_S0D4,  CLK_S0,         4, 1),
+	DEF_FIXED("s0d6",       R8A774A1_CLK_S0D6,  CLK_S0,         6, 1),
+	DEF_FIXED("s0d8",       R8A774A1_CLK_S0D8,  CLK_S0,         8, 1),
+	DEF_FIXED("s0d12",      R8A774A1_CLK_S0D12, CLK_S0,        12, 1),
+	DEF_FIXED("s1d2",       R8A774A1_CLK_S1D2,  CLK_S1,         2, 1),
+	DEF_FIXED("s1d4",       R8A774A1_CLK_S1D4,  CLK_S1,         4, 1),
+	DEF_FIXED("s2d1",       R8A774A1_CLK_S2D1,  CLK_S2,         1, 1),
+	DEF_FIXED("s2d2",       R8A774A1_CLK_S2D2,  CLK_S2,         2, 1),
+	DEF_FIXED("s2d4",       R8A774A1_CLK_S2D4,  CLK_S2,         4, 1),
+	DEF_FIXED("s3d1",       R8A774A1_CLK_S3D1,  CLK_S3,         1, 1),
+	DEF_FIXED("s3d2",       R8A774A1_CLK_S3D2,  CLK_S3,         2, 1),
+	DEF_FIXED("s3d4",       R8A774A1_CLK_S3D4,  CLK_S3,         4, 1),
+
+	DEF_GEN3_SD("sd0",      R8A774A1_CLK_SD0,   CLK_SDSRC,     0x074),
+	DEF_GEN3_SD("sd1",      R8A774A1_CLK_SD1,   CLK_SDSRC,     0x078),
+	DEF_GEN3_SD("sd2",      R8A774A1_CLK_SD2,   CLK_SDSRC,     0x268),
+	DEF_GEN3_SD("sd3",      R8A774A1_CLK_SD3,   CLK_SDSRC,     0x26c),
+
+	DEF_FIXED("cl",         R8A774A1_CLK_CL,    CLK_PLL1_DIV2, 48, 1),
+	DEF_FIXED("cp",         R8A774A1_CLK_CP,    CLK_EXTAL,      2, 1),
+
+	DEF_DIV6P1("csi0",      R8A774A1_CLK_CSI0,  CLK_PLL1_DIV4, 0x00c),
+	DEF_DIV6P1("mso",       R8A774A1_CLK_MSO,   CLK_PLL1_DIV4, 0x014),
+	DEF_DIV6P1("hdmi",      R8A774A1_CLK_HDMI,  CLK_PLL1_DIV4, 0x250),
+
+	DEF_DIV6_RO("osc",      R8A774A1_CLK_OSC,   CLK_EXTAL, CPG_RCKCR,  8),
+	DEF_DIV6_RO("r_int",    CLK_RINT,          CLK_EXTAL, CPG_RCKCR, 32),
+
+	DEF_BASE("r",           R8A774A1_CLK_R,     CLK_TYPE_GEN3_R, CLK_RINT),
+};
+
+static const struct mssr_mod_clk r8a774a1_mod_clks[] __initconst = {
+	DEF_MOD("fdp1-0",		 119,	R8A774A1_CLK_S0D1),
+	DEF_MOD("scif5",		 202,	R8A774A1_CLK_S3D4),
+	DEF_MOD("scif4",		 203,	R8A774A1_CLK_S3D4),
+	DEF_MOD("scif3",		 204,	R8A774A1_CLK_S3D4),
+	DEF_MOD("scif1",		 206,	R8A774A1_CLK_S3D4),
+	DEF_MOD("scif0",		 207,	R8A774A1_CLK_S3D4),
+	DEF_MOD("msiof3",		 208,	R8A774A1_CLK_MSO),
+	DEF_MOD("msiof2",		 209,	R8A774A1_CLK_MSO),
+	DEF_MOD("msiof1",		 210,	R8A774A1_CLK_MSO),
+	DEF_MOD("msiof0",		 211,	R8A774A1_CLK_MSO),
+	DEF_MOD("sys-dmac2",		 217,	R8A774A1_CLK_S0D3),
+	DEF_MOD("sys-dmac1",		 218,	R8A774A1_CLK_S0D3),
+	DEF_MOD("sys-dmac0",		 219,	R8A774A1_CLK_S0D3),
+	DEF_MOD("cmt3",			 300,	R8A774A1_CLK_R),
+	DEF_MOD("cmt2",			 301,	R8A774A1_CLK_R),
+	DEF_MOD("cmt1",			 302,	R8A774A1_CLK_R),
+	DEF_MOD("cmt0",			 303,	R8A774A1_CLK_R),
+	DEF_MOD("scif2",		 310,	R8A774A1_CLK_S3D4),
+	DEF_MOD("sdif3",		 311,	R8A774A1_CLK_SD3),
+	DEF_MOD("sdif2",		 312,	R8A774A1_CLK_SD2),
+	DEF_MOD("sdif1",		 313,	R8A774A1_CLK_SD1),
+	DEF_MOD("sdif0",		 314,	R8A774A1_CLK_SD0),
+	DEF_MOD("pcie1",		 318,	R8A774A1_CLK_S3D1),
+	DEF_MOD("pcie0",		 319,	R8A774A1_CLK_S3D1),
+	DEF_MOD("usb3-if0",		 328,	R8A774A1_CLK_S3D1),
+	DEF_MOD("usb-dmac0",		 330,	R8A774A1_CLK_S3D1),
+	DEF_MOD("usb-dmac1",		 331,	R8A774A1_CLK_S3D1),
+	DEF_MOD("rwdt",			 402,	R8A774A1_CLK_R),
+	DEF_MOD("intc-ex",		 407,	R8A774A1_CLK_CP),
+	DEF_MOD("intc-ap",		 408,	R8A774A1_CLK_S0D3),
+	DEF_MOD("audmac1",		 501,	R8A774A1_CLK_S0D3),
+	DEF_MOD("audmac0",		 502,	R8A774A1_CLK_S0D3),
+	DEF_MOD("hscif4",		 516,	R8A774A1_CLK_S3D1),
+	DEF_MOD("hscif3",		 517,	R8A774A1_CLK_S3D1),
+	DEF_MOD("hscif2",		 518,	R8A774A1_CLK_S3D1),
+	DEF_MOD("hscif1",		 519,	R8A774A1_CLK_S3D1),
+	DEF_MOD("hscif0",		 520,	R8A774A1_CLK_S3D1),
+	DEF_MOD("thermal",		 522,	R8A774A1_CLK_CP),
+	DEF_MOD("pwm",			 523,	R8A774A1_CLK_S0D12),
+	DEF_MOD("fcpvd2",		 601,	R8A774A1_CLK_S0D2),
+	DEF_MOD("fcpvd1",		 602,	R8A774A1_CLK_S0D2),
+	DEF_MOD("fcpvd0",		 603,	R8A774A1_CLK_S0D2),
+	DEF_MOD("fcpvb0",		 607,	R8A774A1_CLK_S0D1),
+	DEF_MOD("fcpvi0",		 611,	R8A774A1_CLK_S0D1),
+	DEF_MOD("fcpf0",		 615,	R8A774A1_CLK_S0D1),
+	DEF_MOD("fcpci0",		 617,	R8A774A1_CLK_S0D2),
+	DEF_MOD("fcpcs",		 619,	R8A774A1_CLK_S0D2),
+	DEF_MOD("vspd2",		 621,	R8A774A1_CLK_S0D2),
+	DEF_MOD("vspd1",		 622,	R8A774A1_CLK_S0D2),
+	DEF_MOD("vspd0",		 623,	R8A774A1_CLK_S0D2),
+	DEF_MOD("vspb",			 626,	R8A774A1_CLK_S0D1),
+	DEF_MOD("vspi0",		 631,	R8A774A1_CLK_S0D1),
+	DEF_MOD("ehci1",		 702,	R8A774A1_CLK_S3D4),
+	DEF_MOD("ehci0",		 703,	R8A774A1_CLK_S3D4),
+	DEF_MOD("hsusb",		 704,	R8A774A1_CLK_S3D4),
+	DEF_MOD("csi20",		 714,	R8A774A1_CLK_CSI0),
+	DEF_MOD("csi40",		 716,	R8A774A1_CLK_CSI0),
+	DEF_MOD("du2",			 722,	R8A774A1_CLK_S2D1),
+	DEF_MOD("du1",			 723,	R8A774A1_CLK_S2D1),
+	DEF_MOD("du0",			 724,	R8A774A1_CLK_S2D1),
+	DEF_MOD("lvds",			 727,	R8A774A1_CLK_S2D1),
+	DEF_MOD("hdmi0",		 729,	R8A774A1_CLK_HDMI),
+	DEF_MOD("vin7",			 804,	R8A774A1_CLK_S0D2),
+	DEF_MOD("vin6",			 805,	R8A774A1_CLK_S0D2),
+	DEF_MOD("vin5",			 806,	R8A774A1_CLK_S0D2),
+	DEF_MOD("vin4",			 807,	R8A774A1_CLK_S0D2),
+	DEF_MOD("vin3",			 808,	R8A774A1_CLK_S0D2),
+	DEF_MOD("vin2",			 809,	R8A774A1_CLK_S0D2),
+	DEF_MOD("vin1",			 810,	R8A774A1_CLK_S0D2),
+	DEF_MOD("vin0",			 811,	R8A774A1_CLK_S0D2),
+	DEF_MOD("etheravb",		 812,	R8A774A1_CLK_S0D6),
+	DEF_MOD("gpio7",		 905,	R8A774A1_CLK_S3D4),
+	DEF_MOD("gpio6",		 906,	R8A774A1_CLK_S3D4),
+	DEF_MOD("gpio5",		 907,	R8A774A1_CLK_S3D4),
+	DEF_MOD("gpio4",		 908,	R8A774A1_CLK_S3D4),
+	DEF_MOD("gpio3",		 909,	R8A774A1_CLK_S3D4),
+	DEF_MOD("gpio2",		 910,	R8A774A1_CLK_S3D4),
+	DEF_MOD("gpio1",		 911,	R8A774A1_CLK_S3D4),
+	DEF_MOD("gpio0",		 912,	R8A774A1_CLK_S3D4),
+	DEF_MOD("can-if1",		 915,	R8A774A1_CLK_S3D4),
+	DEF_MOD("can-if0",		 916,	R8A774A1_CLK_S3D4),
+	DEF_MOD("i2c6",			 918,	R8A774A1_CLK_S0D6),
+	DEF_MOD("i2c5",			 919,	R8A774A1_CLK_S0D6),
+	DEF_MOD("i2c-dvfs",		 926,	R8A774A1_CLK_CP),
+	DEF_MOD("i2c4",			 927,	R8A774A1_CLK_S0D6),
+	DEF_MOD("i2c3",			 928,	R8A774A1_CLK_S0D6),
+	DEF_MOD("i2c2",			 929,	R8A774A1_CLK_S3D2),
+	DEF_MOD("i2c1",			 930,	R8A774A1_CLK_S3D2),
+	DEF_MOD("i2c0",			 931,	R8A774A1_CLK_S3D2),
+	DEF_MOD("ssi-all",		1005,	R8A774A1_CLK_S3D4),
+	DEF_MOD("ssi9",			1006,	MOD_CLK_ID(1005)),
+	DEF_MOD("ssi8",			1007,	MOD_CLK_ID(1005)),
+	DEF_MOD("ssi7",			1008,	MOD_CLK_ID(1005)),
+	DEF_MOD("ssi6",			1009,	MOD_CLK_ID(1005)),
+	DEF_MOD("ssi5",			1010,	MOD_CLK_ID(1005)),
+	DEF_MOD("ssi4",			1011,	MOD_CLK_ID(1005)),
+	DEF_MOD("ssi3",			1012,	MOD_CLK_ID(1005)),
+	DEF_MOD("ssi2",			1013,	MOD_CLK_ID(1005)),
+	DEF_MOD("ssi1",			1014,	MOD_CLK_ID(1005)),
+	DEF_MOD("ssi0",			1015,	MOD_CLK_ID(1005)),
+	DEF_MOD("scu-all",		1017,	R8A774A1_CLK_S3D4),
+	DEF_MOD("scu-dvc1",		1018,	MOD_CLK_ID(1017)),
+	DEF_MOD("scu-dvc0",		1019,	MOD_CLK_ID(1017)),
+	DEF_MOD("scu-ctu1-mix1",	1020,	MOD_CLK_ID(1017)),
+	DEF_MOD("scu-ctu0-mix0",	1021,	MOD_CLK_ID(1017)),
+	DEF_MOD("scu-src9",		1022,	MOD_CLK_ID(1017)),
+	DEF_MOD("scu-src8",		1023,	MOD_CLK_ID(1017)),
+	DEF_MOD("scu-src7",		1024,	MOD_CLK_ID(1017)),
+	DEF_MOD("scu-src6",		1025,	MOD_CLK_ID(1017)),
+	DEF_MOD("scu-src5",		1026,	MOD_CLK_ID(1017)),
+	DEF_MOD("scu-src4",		1027,	MOD_CLK_ID(1017)),
+	DEF_MOD("scu-src3",		1028,	MOD_CLK_ID(1017)),
+	DEF_MOD("scu-src2",		1029,	MOD_CLK_ID(1017)),
+	DEF_MOD("scu-src1",		1030,	MOD_CLK_ID(1017)),
+	DEF_MOD("scu-src0",		1031,	MOD_CLK_ID(1017)),
+};
+
+static const unsigned int r8a774a1_crit_mod_clks[] __initconst = {
+	MOD_CLK_ID(408),	/* INTC-AP (GIC) */
+};
+
+/*
+ * CPG Clock Data
+ */
+
+/*
+ *   MD		EXTAL		PLL0	PLL1	PLL2	PLL3	PLL4
+ * 14 13 19 17	(MHz)
+ *-------------------------------------------------------------------
+ * 0  0  0  0	16.66 x 1	x180	x192	x144	x192	x144
+ * 0  0  0  1	16.66 x 1	x180	x192	x144	x128	x144
+ * 0  0  1  0	Prohibited setting
+ * 0  0  1  1	16.66 x 1	x180	x192	x144	x192	x144
+ * 0  1  0  0	20    x 1	x150	x160	x120	x160	x120
+ * 0  1  0  1	20    x 1	x150	x160	x120	x106	x120
+ * 0  1  1  0	Prohibited setting
+ * 0  1  1  1	20    x 1	x150	x160	x120	x160	x120
+ * 1  0  0  0	25    x 1	x120	x128	x96	x128	x96
+ * 1  0  0  1	25    x 1	x120	x128	x96	x84	x96
+ * 1  0  1  0	Prohibited setting
+ * 1  0  1  1	25    x 1	x120	x128	x96	x128	x96
+ * 1  1  0  0	33.33 / 2	x180	x192	x144	x192	x144
+ * 1  1  0  1	33.33 / 2	x180	x192	x144	x128	x144
+ * 1  1  1  0	Prohibited setting
+ * 1  1  1  1	33.33 / 2	x180	x192	x144	x192	x144
+ */
+#define CPG_PLL_CONFIG_INDEX(md)	((((md) & BIT(14)) >> 11) | \
+					 (((md) & BIT(13)) >> 11) | \
+					 (((md) & BIT(19)) >> 18) | \
+					 (((md) & BIT(17)) >> 17))
+
+static const struct rcar_gen3_cpg_pll_config cpg_pll_configs[16] __initconst = {
+	/* EXTAL div	PLL1 mult/div	PLL3 mult/div */
+	{ 1,		192,	1,	192,	1,	},
+	{ 1,		192,	1,	128,	1,	},
+	{ 0, /* Prohibited setting */			},
+	{ 1,		192,	1,	192,	1,	},
+	{ 1,		160,	1,	160,	1,	},
+	{ 1,		160,	1,	106,	1,	},
+	{ 0, /* Prohibited setting */			},
+	{ 1,		160,	1,	160,	1,	},
+	{ 1,		128,	1,	128,	1,	},
+	{ 1,		128,	1,	84,	1,	},
+	{ 0, /* Prohibited setting */			},
+	{ 1,		128,	1,	128,	1,	},
+	{ 2,		192,	1,	192,	1,	},
+	{ 2,		192,	1,	128,	1,	},
+	{ 0, /* Prohibited setting */			},
+	{ 2,		192,	1,	192,	1,	},
+};
+
+static int __init r8a774a1_cpg_mssr_init(struct device *dev)
+{
+	const struct rcar_gen3_cpg_pll_config *cpg_pll_config;
+	u32 cpg_mode;
+	int error;
+
+	error = rcar_rst_read_mode_pins(&cpg_mode);
+	if (error)
+		return error;
+
+	cpg_pll_config = &cpg_pll_configs[CPG_PLL_CONFIG_INDEX(cpg_mode)];
+	if (!cpg_pll_config->extal_div) {
+		dev_err(dev, "Prohibited setting (cpg_mode=0x%x)\n", cpg_mode);
+		return -EINVAL;
+	}
+
+	return rcar_gen3_cpg_init(cpg_pll_config, CLK_EXTALR, cpg_mode);
+}
+
+const struct cpg_mssr_info r8a774a1_cpg_mssr_info __initconst = {
+	/* Core Clocks */
+	.core_clks = r8a774a1_core_clks,
+	.num_core_clks = ARRAY_SIZE(r8a774a1_core_clks),
+	.last_dt_core_clk = LAST_DT_CORE_CLK,
+	.num_total_core_clks = MOD_CLK_BASE,
+
+	/* Module Clocks */
+	.mod_clks = r8a774a1_mod_clks,
+	.num_mod_clks = ARRAY_SIZE(r8a774a1_mod_clks),
+	.num_hw_mod_clks = 12 * 32,
+
+	/* Critical Module Clocks */
+	.crit_mod_clks = r8a774a1_crit_mod_clks,
+	.num_crit_mod_clks = ARRAY_SIZE(r8a774a1_crit_mod_clks),
+
+	/* Callbacks */
+	.init = r8a774a1_cpg_mssr_init,
+	.cpg_clk_register = rcar_gen3_cpg_clk_register,
+};
diff --git a/drivers/clk/renesas/renesas-cpg-mssr.c b/drivers/clk/renesas/renesas-cpg-mssr.c
index f4b013e..0e4938a 100644
--- a/drivers/clk/renesas/renesas-cpg-mssr.c
+++ b/drivers/clk/renesas/renesas-cpg-mssr.c
@@ -659,6 +659,12 @@ static const struct of_device_id cpg_mssr_match[] = {
 		.data = &r8a77470_cpg_mssr_info,
 	},
 #endif
+#ifdef CONFIG_CLK_R8A774A1
+	{
+		.compatible = "renesas,r8a774a1-cpg-mssr",
+		.data = &r8a774a1_cpg_mssr_info,
+	},
+#endif
 #ifdef CONFIG_CLK_R8A7790
 	{
 		.compatible = "renesas,r8a7790-cpg-mssr",
diff --git a/drivers/clk/renesas/renesas-cpg-mssr.h b/drivers/clk/renesas/renesas-cpg-mssr.h
index 642f720..14e5a19 100644
--- a/drivers/clk/renesas/renesas-cpg-mssr.h
+++ b/drivers/clk/renesas/renesas-cpg-mssr.h
@@ -134,6 +134,7 @@ struct cpg_mssr_info {
 extern const struct cpg_mssr_info r8a7743_cpg_mssr_info;
 extern const struct cpg_mssr_info r8a7745_cpg_mssr_info;
 extern const struct cpg_mssr_info r8a77470_cpg_mssr_info;
+extern const struct cpg_mssr_info r8a774a1_cpg_mssr_info;
 extern const struct cpg_mssr_info r8a7790_cpg_mssr_info;
 extern const struct cpg_mssr_info r8a7791_cpg_mssr_info;
 extern const struct cpg_mssr_info r8a7792_cpg_mssr_info;
-- 
2.7.4

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

* Re: [PATCH 1/5] dt-bindings: power: Add r8a774a1 SYSC power domain definitions
  2018-07-30  7:48 ` [PATCH 1/5] dt-bindings: power: Add r8a774a1 SYSC power domain definitions Biju Das
@ 2018-08-01  8:01   ` Geert Uytterhoeven
  0 siblings, 0 replies; 15+ messages in thread
From: Geert Uytterhoeven @ 2018-08-01  8:01 UTC (permalink / raw)
  To: Biju Das
  Cc: Rob Herring, Mark Rutland,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Simon Horman, Geert Uytterhoeven, Chris Paterson,
	Fabrizio Castro, Linux-Renesas

On Mon, Jul 30, 2018 at 9:54 AM Biju Das <biju.das@bp.renesas.com> wrote:
> This patch adds power domain indices for RZ/G2M.
>
> Signed-off-by: Biju Das <biju.das@bp.renesas.com>
> Reviewed-by: Chris Paterson <chris.paterson2@renesas.com>

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

* Re: [PATCH 2/5] soc: renesas: rcar-sysc: Add r8a774a1 support
  2018-07-30  7:48 ` [PATCH 2/5] soc: renesas: rcar-sysc: Add r8a774a1 support Biju Das
@ 2018-08-01  8:05   ` Geert Uytterhoeven
  0 siblings, 0 replies; 15+ messages in thread
From: Geert Uytterhoeven @ 2018-08-01  8:05 UTC (permalink / raw)
  To: Biju Das
  Cc: Rob Herring, Mark Rutland, Simon Horman, Magnus Damm,
	Geert Uytterhoeven, Vladimir Barinov, Sergei Shtylyov,
	Takeshi Kihara, Jacopo Mondi,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Linux-Renesas, Chris Paterson, Fabrizio Castro

On Mon, Jul 30, 2018 at 9:54 AM Biju Das <biju.das@bp.renesas.com> wrote:
> Add support for RZ/G2M (R8A774A1) SoC power areas to the R-Car SYSC
> driver.
>
> Signed-off-by: Biju Das <biju.das@bp.renesas.com>
> Reviewed-by: Chris Paterson <chris.paterson2@renesas.com>

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

* Re: [PATCH 4/5] clk: renesas: Add r8a774a1 CPG Core Clock Definitions
  2018-07-30  7:48 ` [PATCH 4/5] clk: renesas: Add r8a774a1 CPG Core Clock Definitions Biju Das
@ 2018-08-01  8:46   ` Geert Uytterhoeven
  2018-08-01  9:33     ` Biju Das
  0 siblings, 1 reply; 15+ messages in thread
From: Geert Uytterhoeven @ 2018-08-01  8:46 UTC (permalink / raw)
  To: Biju Das
  Cc: Rob Herring, Mark Rutland,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Simon Horman, Geert Uytterhoeven, Chris Paterson,
	Fabrizio Castro, Linux-Renesas

Hi Biju,

On Mon, Jul 30, 2018 at 9:54 AM Biju Das <biju.das@bp.renesas.com> wrote:
> Add all RZ/G2M Clock Pulse Generator Core Clock Outputs, as listed in
> Table 8.2b ("List of Clocks [RZ/G2M]") of the RZ/G2M Hardware User's
> Manual.
>
> Signed-off-by: Biju Das <biju.das@bp.renesas.com>
> Reviewed-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com>

Thanks for your patch!

> --- /dev/null
> +++ b/include/dt-bindings/clock/r8a774a1-cpg-mssr.h
> @@ -0,0 +1,59 @@
> +/* SPDX-License-Identifier: GPL-2.0
> + *
> + * Copyright (C) 2018 Renesas Electronics Corp.
> + */
> +#ifndef __DT_BINDINGS_CLOCK_R8A774A1_CPG_MSSR_H__
> +#define __DT_BINDINGS_CLOCK_R8A774A1_CPG_MSSR_H__
> +
> +#include <dt-bindings/clock/renesas-cpg-mssr.h>
> +
> +/* r8a774a1 CPG Core Clocks */
> +#define R8A774A1_CLK_Z                 0
> +#define R8A774A1_CLK_Z2                        1
> +#define R8A774A1_CLK_ZG                        2
> +#define R8A774A1_CLK_ZTR               3
> +#define R8A774A1_CLK_ZTRD2             4
> +#define R8A774A1_CLK_ZT                        5
> +#define R8A774A1_CLK_ZX                        6
> +#define R8A774A1_CLK_S0D1              7
> +#define R8A774A1_CLK_S0D2              8
> +#define R8A774A1_CLK_S0D3              9
> +#define R8A774A1_CLK_S0D4              10
> +#define R8A774A1_CLK_S0D6              11
> +#define R8A774A1_CLK_S0D8              12
> +#define R8A774A1_CLK_S0D12             13
> +#define R8A774A1_CLK_S1D2              14
> +#define R8A774A1_CLK_S1D4              15
> +#define R8A774A1_CLK_S2D1              16
> +#define R8A774A1_CLK_S2D2              17
> +#define R8A774A1_CLK_S2D4              18
> +#define R8A774A1_CLK_S3D1              19
> +#define R8A774A1_CLK_S3D2              20
> +#define R8A774A1_CLK_S3D4              21
> +#define R8A774A1_CLK_LB                        22
> +#define R8A774A1_CLK_CL                        23
> +#define R8A774A1_CLK_ZB3               24
> +#define R8A774A1_CLK_ZB3D2             25
> +#define R8A774A1_CLK_ZB3D4             26
> +#define R8A774A1_CLK_CR                        27
> +#define R8A774A1_CLK_CRD2              28
> +#define R8A774A1_CLK_SD0H              29
> +#define R8A774A1_CLK_SD0               30
> +#define R8A774A1_CLK_SD1H              31
> +#define R8A774A1_CLK_SD1               32
> +#define R8A774A1_CLK_SD2H              33
> +#define R8A774A1_CLK_SD2               34
> +#define R8A774A1_CLK_SD3H              35
> +#define R8A774A1_CLK_SD3               36
> +#define R8A774A1_CLK_RPC               37
> +#define R8A774A1_CLK_RPCD2             38
> +#define R8A774A1_CLK_MSO               39
> +#define R8A774A1_CLK_HDMI              40
> +#define R8A774A1_CLK_CSI0              41
> +#define R8A774A1_CLK_CP                        42
> +#define R8A774A1_CLK_POST2             43

POST2 is an internal clock, which doesn't need to be referred to from DT.
So please drop it from the bindings.

> +#define R8A774A1_CLK_CPEX              44
> +#define R8A774A1_CLK_R                 45
> +#define R8A774A1_CLK_OSC               46

With the above fixed:
Reviewed-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] 15+ messages in thread

* Re: [PATCH 3/5] soc: renesas: rcar-rst: Add support for RZ/G2M
  2018-07-30  7:48 ` [PATCH 3/5] soc: renesas: rcar-rst: Add support for RZ/G2M Biju Das
@ 2018-08-01  8:46   ` Geert Uytterhoeven
  0 siblings, 0 replies; 15+ messages in thread
From: Geert Uytterhoeven @ 2018-08-01  8:46 UTC (permalink / raw)
  To: Biju Das
  Cc: Philipp Zabel, Rob Herring, Mark Rutland, Simon Horman,
	Magnus Damm,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Linux-Renesas, Geert Uytterhoeven, Chris Paterson,
	Fabrizio Castro

On Mon, Jul 30, 2018 at 9:54 AM Biju Das <biju.das@bp.renesas.com> wrote:
> Signed-off-by: Biju Das <biju.das@bp.renesas.com>
> Reviewed-by: Chris Paterson <chris.paterson2@renesas.com>

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

* Re: [PATCH 5/5] clk: renesas: cpg-mssr: Add r8a774a1 support
  2018-07-30  7:48 ` [PATCH 5/5] clk: renesas: cpg-mssr: Add r8a774a1 support Biju Das
@ 2018-08-01  9:26   ` Geert Uytterhoeven
  2018-08-01  9:31       ` Biju Das
  0 siblings, 1 reply; 15+ messages in thread
From: Geert Uytterhoeven @ 2018-08-01  9:26 UTC (permalink / raw)
  To: Biju Das
  Cc: Michael Turquette, Stephen Boyd, Rob Herring, Mark Rutland,
	Geert Uytterhoeven, linux-clk,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Linux-Renesas, Simon Horman, Chris Paterson, Fabrizio Castro

Hi Biju,

On Mon, Jul 30, 2018 at 9:54 AM Biju Das <biju.das@bp.renesas.com> wrote:
> Add RZ/G2M (R8A774A1) Clock Pulse Generator / Module Standby and Software
> Reset support.
>
> Based on the Table 8.2b of "RZ/G Series, 2nd Generation User's Manual:
> Hardware ((Rev. 0.61, June 12, 2018)".
>
> Signed-off-by: Biju Das <biju.das@bp.renesas.com>
> Reviewed-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com>

Thanks for your patch!

> --- /dev/null
> +++ b/drivers/clk/renesas/r8a774a1-cpg-mssr.c

> +static const struct cpg_core_clk r8a774a1_core_clks[] __initconst = {

> +       DEF_DIV6_RO("osc",      R8A774A1_CLK_OSC,   CLK_EXTAL, CPG_RCKCR,  8),
> +       DEF_DIV6_RO("r_int",    CLK_RINT,          CLK_EXTAL, CPG_RCKCR, 32),

RZ/G2M does not have the CPG_RCKCR register.
The internal R CLK is an internal clock, hence please name it ".r".

Please have a look at "clk: renesas: rcar-gen3: OSC and RCLK improvements"
(https://patchwork.kernel.org/project/linux-renesas-soc/list/?series=2063)

> +/*
> + * CPG Clock Data
> + */
> +
> +/*
> + *   MD                EXTAL           PLL0    PLL1    PLL2    PLL3    PLL4
> + * 14 13 19 17 (MHz)
> + *-------------------------------------------------------------------
> + * 0  0  0  0  16.66 x 1       x180    x192    x144    x192    x144
> + * 0  0  0  1  16.66 x 1       x180    x192    x144    x128    x144
> + * 0  0  1  0  Prohibited setting
> + * 0  0  1  1  16.66 x 1       x180    x192    x144    x192    x144
> + * 0  1  0  0  20    x 1       x150    x160    x120    x160    x120
> + * 0  1  0  1  20    x 1       x150    x160    x120    x106    x120
> + * 0  1  1  0  Prohibited setting
> + * 0  1  1  1  20    x 1       x150    x160    x120    x160    x120
> + * 1  0  0  0  25    x 1       x120    x128    x96     x128    x96
> + * 1  0  0  1  25    x 1       x120    x128    x96     x84     x96
> + * 1  0  1  0  Prohibited setting
> + * 1  0  1  1  25    x 1       x120    x128    x96     x128    x96
> + * 1  1  0  0  33.33 / 2       x180    x192    x144    x192    x144
> + * 1  1  0  1  33.33 / 2       x180    x192    x144    x128    x144
> + * 1  1  1  0  Prohibited setting
> + * 1  1  1  1  33.33 / 2       x180    x192    x144    x192    x144
> + */
> +#define CPG_PLL_CONFIG_INDEX(md)       ((((md) & BIT(14)) >> 11) | \
> +                                        (((md) & BIT(13)) >> 11) | \
> +                                        (((md) & BIT(19)) >> 18) | \
> +                                        (((md) & BIT(17)) >> 17))
> +
> +static const struct rcar_gen3_cpg_pll_config cpg_pll_configs[16] __initconst = {
> +       /* EXTAL div    PLL1 mult/div   PLL3 mult/div */
> +       { 1,            192,    1,      192,    1,      },
> +       { 1,            192,    1,      128,    1,      },
> +       { 0, /* Prohibited setting */                   },
> +       { 1,            192,    1,      192,    1,      },
> +       { 1,            160,    1,      160,    1,      },
> +       { 1,            160,    1,      106,    1,      },
> +       { 0, /* Prohibited setting */                   },
> +       { 1,            160,    1,      160,    1,      },
> +       { 1,            128,    1,      128,    1,      },
> +       { 1,            128,    1,      84,     1,      },
> +       { 0, /* Prohibited setting */                   },
> +       { 1,            128,    1,      128,    1,      },
> +       { 2,            192,    1,      192,    1,      },
> +       { 2,            192,    1,      128,    1,      },
> +       { 0, /* Prohibited setting */                   },
> +       { 2,            192,    1,      192,    1,      },
> +};

Please add the new OSC predividers. You're gonna need them for the
corrected OSC clock.

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

* RE: [PATCH 5/5] clk: renesas: cpg-mssr: Add r8a774a1 support
  2018-08-01  9:26   ` Geert Uytterhoeven
  2018-08-01  9:31       ` Biju Das
@ 2018-08-01  9:31       ` Biju Das
  0 siblings, 0 replies; 15+ messages in thread
From: Biju Das @ 2018-08-01  9:31 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Michael Turquette, Stephen Boyd, Rob Herring, Mark Rutland,
	Geert Uytterhoeven, linux-clk,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS 
	<devicetree@vger.kernel.org>,
	Linux-Renesas, Simon Horman, Chris Paterson, Fabrizio Castro

Hi Geert,

Thanks for the feedback.

> Subject: Re: [PATCH 5/5] clk: renesas: cpg-mssr: Add r8a774a1 support
>
> Hi Biju,
>
> On Mon, Jul 30, 2018 at 9:54 AM Biju Das <biju.das@bp.renesas.com> wrote:
> > Add RZ/G2M (R8A774A1) Clock Pulse Generator / Module Standby and
> > Software Reset support.
> >
> > Based on the Table 8.2b of "RZ/G Series, 2nd Generation User's Manual:
> > Hardware ((Rev. 0.61, June 12, 2018)".
> >
> > Signed-off-by: Biju Das <biju.das@bp.renesas.com>
> > Reviewed-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com>
>
> Thanks for your patch!
>
> > --- /dev/null
> > +++ b/drivers/clk/renesas/r8a774a1-cpg-mssr.c
>
> > +static const struct cpg_core_clk r8a774a1_core_clks[] __initconst = {
>
> > +       DEF_DIV6_RO("osc",      R8A774A1_CLK_OSC,   CLK_EXTAL,
> CPG_RCKCR,  8),
> > +       DEF_DIV6_RO("r_int",    CLK_RINT,          CLK_EXTAL, CPG_RCKCR, 32),
>
> RZ/G2M does not have the CPG_RCKCR register.
> The internal R CLK is an internal clock, hence please name it ".r".
>
> Please have a look at "clk: renesas: rcar-gen3: OSC and RCLK improvements"
> (https://patchwork.kernel.org/project/linux-renesas-soc/list/?series=2063)

Will send V2 incorporating this changes.

> > +/*
> > + * CPG Clock Data
> > + */
> > +
> > +/*
> > + *   MD                EXTAL           PLL0    PLL1    PLL2    PLL3    PLL4
> > + * 14 13 19 17 (MHz)
> > + *-------------------------------------------------------------------
> > + * 0  0  0  0  16.66 x 1       x180    x192    x144    x192    x144
> > + * 0  0  0  1  16.66 x 1       x180    x192    x144    x128    x144
> > + * 0  0  1  0  Prohibited setting
> > + * 0  0  1  1  16.66 x 1       x180    x192    x144    x192    x144
> > + * 0  1  0  0  20    x 1       x150    x160    x120    x160    x120
> > + * 0  1  0  1  20    x 1       x150    x160    x120    x106    x120
> > + * 0  1  1  0  Prohibited setting
> > + * 0  1  1  1  20    x 1       x150    x160    x120    x160    x120
> > + * 1  0  0  0  25    x 1       x120    x128    x96     x128    x96
> > + * 1  0  0  1  25    x 1       x120    x128    x96     x84     x96
> > + * 1  0  1  0  Prohibited setting
> > + * 1  0  1  1  25    x 1       x120    x128    x96     x128    x96
> > + * 1  1  0  0  33.33 / 2       x180    x192    x144    x192    x144
> > + * 1  1  0  1  33.33 / 2       x180    x192    x144    x128    x144
> > + * 1  1  1  0  Prohibited setting
> > + * 1  1  1  1  33.33 / 2       x180    x192    x144    x192    x144
> > + */
> > +#define CPG_PLL_CONFIG_INDEX(md)       ((((md) & BIT(14)) >> 11) | \
> > +                                        (((md) & BIT(13)) >> 11) | \
> > +                                        (((md) & BIT(19)) >> 18) | \
> > +                                        (((md) & BIT(17)) >> 17))
> > +
> > +static const struct rcar_gen3_cpg_pll_config cpg_pll_configs[16]
> __initconst = {
> > +       /* EXTAL div    PLL1 mult/div   PLL3 mult/div */
> > +       { 1,            192,    1,      192,    1,      },
> > +       { 1,            192,    1,      128,    1,      },
> > +       { 0, /* Prohibited setting */                   },
> > +       { 1,            192,    1,      192,    1,      },
> > +       { 1,            160,    1,      160,    1,      },
> > +       { 1,            160,    1,      106,    1,      },
> > +       { 0, /* Prohibited setting */                   },
> > +       { 1,            160,    1,      160,    1,      },
> > +       { 1,            128,    1,      128,    1,      },
> > +       { 1,            128,    1,      84,     1,      },
> > +       { 0, /* Prohibited setting */                   },
> > +       { 1,            128,    1,      128,    1,      },
> > +       { 2,            192,    1,      192,    1,      },
> > +       { 2,            192,    1,      128,    1,      },
> > +       { 0, /* Prohibited setting */                   },
> > +       { 2,            192,    1,      192,    1,      },
> > +};
>
> Please add the new OSC predividers. You're gonna need them for the
> corrected OSC clock.

Will send V2 incorporating this changes.



Renesas Electronics Europe Ltd, Dukes Meadow, Millboard Road, Bourne End, Buckinghamshire, SL8 5FH, UK. Registered in England & Wales under Registered No. 04586709.

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

* RE: [PATCH 5/5] clk: renesas: cpg-mssr: Add r8a774a1 support
@ 2018-08-01  9:31       ` Biju Das
  0 siblings, 0 replies; 15+ messages in thread
From: Biju Das @ 2018-08-01  9:31 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Michael Turquette, Stephen Boyd, Rob Herring, Mark Rutland,
	Geert Uytterhoeven, linux-clk,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Linux-Renesas, Simon Horman, Chris Paterson, Fabrizio Castro

Hi Geert,

Thanks for the feedback.

> Subject: Re: [PATCH 5/5] clk: renesas: cpg-mssr: Add r8a774a1 support
>
> Hi Biju,
>
> On Mon, Jul 30, 2018 at 9:54 AM Biju Das <biju.das@bp.renesas.com> wrote:
> > Add RZ/G2M (R8A774A1) Clock Pulse Generator / Module Standby and
> > Software Reset support.
> >
> > Based on the Table 8.2b of "RZ/G Series, 2nd Generation User's Manual:
> > Hardware ((Rev. 0.61, June 12, 2018)".
> >
> > Signed-off-by: Biju Das <biju.das@bp.renesas.com>
> > Reviewed-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com>
>
> Thanks for your patch!
>
> > --- /dev/null
> > +++ b/drivers/clk/renesas/r8a774a1-cpg-mssr.c
>
> > +static const struct cpg_core_clk r8a774a1_core_clks[] __initconst = {
>
> > +       DEF_DIV6_RO("osc",      R8A774A1_CLK_OSC,   CLK_EXTAL,
> CPG_RCKCR,  8),
> > +       DEF_DIV6_RO("r_int",    CLK_RINT,          CLK_EXTAL, CPG_RCKCR, 32),
>
> RZ/G2M does not have the CPG_RCKCR register.
> The internal R CLK is an internal clock, hence please name it ".r".
>
> Please have a look at "clk: renesas: rcar-gen3: OSC and RCLK improvements"
> (https://patchwork.kernel.org/project/linux-renesas-soc/list/?series=2063)

Will send V2 incorporating this changes.

> > +/*
> > + * CPG Clock Data
> > + */
> > +
> > +/*
> > + *   MD                EXTAL           PLL0    PLL1    PLL2    PLL3    PLL4
> > + * 14 13 19 17 (MHz)
> > + *-------------------------------------------------------------------
> > + * 0  0  0  0  16.66 x 1       x180    x192    x144    x192    x144
> > + * 0  0  0  1  16.66 x 1       x180    x192    x144    x128    x144
> > + * 0  0  1  0  Prohibited setting
> > + * 0  0  1  1  16.66 x 1       x180    x192    x144    x192    x144
> > + * 0  1  0  0  20    x 1       x150    x160    x120    x160    x120
> > + * 0  1  0  1  20    x 1       x150    x160    x120    x106    x120
> > + * 0  1  1  0  Prohibited setting
> > + * 0  1  1  1  20    x 1       x150    x160    x120    x160    x120
> > + * 1  0  0  0  25    x 1       x120    x128    x96     x128    x96
> > + * 1  0  0  1  25    x 1       x120    x128    x96     x84     x96
> > + * 1  0  1  0  Prohibited setting
> > + * 1  0  1  1  25    x 1       x120    x128    x96     x128    x96
> > + * 1  1  0  0  33.33 / 2       x180    x192    x144    x192    x144
> > + * 1  1  0  1  33.33 / 2       x180    x192    x144    x128    x144
> > + * 1  1  1  0  Prohibited setting
> > + * 1  1  1  1  33.33 / 2       x180    x192    x144    x192    x144
> > + */
> > +#define CPG_PLL_CONFIG_INDEX(md)       ((((md) & BIT(14)) >> 11) | \
> > +                                        (((md) & BIT(13)) >> 11) | \
> > +                                        (((md) & BIT(19)) >> 18) | \
> > +                                        (((md) & BIT(17)) >> 17))
> > +
> > +static const struct rcar_gen3_cpg_pll_config cpg_pll_configs[16]
> __initconst = {
> > +       /* EXTAL div    PLL1 mult/div   PLL3 mult/div */
> > +       { 1,            192,    1,      192,    1,      },
> > +       { 1,            192,    1,      128,    1,      },
> > +       { 0, /* Prohibited setting */                   },
> > +       { 1,            192,    1,      192,    1,      },
> > +       { 1,            160,    1,      160,    1,      },
> > +       { 1,            160,    1,      106,    1,      },
> > +       { 0, /* Prohibited setting */                   },
> > +       { 1,            160,    1,      160,    1,      },
> > +       { 1,            128,    1,      128,    1,      },
> > +       { 1,            128,    1,      84,     1,      },
> > +       { 0, /* Prohibited setting */                   },
> > +       { 1,            128,    1,      128,    1,      },
> > +       { 2,            192,    1,      192,    1,      },
> > +       { 2,            192,    1,      128,    1,      },
> > +       { 0, /* Prohibited setting */                   },
> > +       { 2,            192,    1,      192,    1,      },
> > +};
>
> Please add the new OSC predividers. You're gonna need them for the
> corrected OSC clock.

Will send V2 incorporating this changes.



Renesas Electronics Europe Ltd, Dukes Meadow, Millboard Road, Bourne End, Buckinghamshire, SL8 5FH, UK. Registered in England & Wales under Registered No. 04586709.

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

* RE: [PATCH 5/5] clk: renesas: cpg-mssr: Add r8a774a1 support
@ 2018-08-01  9:31       ` Biju Das
  0 siblings, 0 replies; 15+ messages in thread
From: Biju Das @ 2018-08-01  9:31 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Michael Turquette, Stephen Boyd, Rob Herring, Mark Rutland,
	Geert Uytterhoeven, linux-clk,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Linux-Renesas, Simon Horman, Chris Paterson, Fabrizio Castro

SGkgR2VlcnQsDQoNClRoYW5rcyBmb3IgdGhlIGZlZWRiYWNrLg0KDQo+IFN1YmplY3Q6IFJlOiBb
UEFUQ0ggNS81XSBjbGs6IHJlbmVzYXM6IGNwZy1tc3NyOiBBZGQgcjhhNzc0YTEgc3VwcG9ydA0K
Pg0KPiBIaSBCaWp1LA0KPg0KPiBPbiBNb24sIEp1bCAzMCwgMjAxOCBhdCA5OjU0IEFNIEJpanUg
RGFzIDxiaWp1LmRhc0BicC5yZW5lc2FzLmNvbT4gd3JvdGU6DQo+ID4gQWRkIFJaL0cyTSAoUjhB
Nzc0QTEpIENsb2NrIFB1bHNlIEdlbmVyYXRvciAvIE1vZHVsZSBTdGFuZGJ5IGFuZA0KPiA+IFNv
ZnR3YXJlIFJlc2V0IHN1cHBvcnQuDQo+ID4NCj4gPiBCYXNlZCBvbiB0aGUgVGFibGUgOC4yYiBv
ZiAiUlovRyBTZXJpZXMsIDJuZCBHZW5lcmF0aW9uIFVzZXIncyBNYW51YWw6DQo+ID4gSGFyZHdh
cmUgKChSZXYuIDAuNjEsIEp1bmUgMTIsIDIwMTgpIi4NCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6
IEJpanUgRGFzIDxiaWp1LmRhc0BicC5yZW5lc2FzLmNvbT4NCj4gPiBSZXZpZXdlZC1ieTogRmFi
cml6aW8gQ2FzdHJvIDxmYWJyaXppby5jYXN0cm9AYnAucmVuZXNhcy5jb20+DQo+DQo+IFRoYW5r
cyBmb3IgeW91ciBwYXRjaCENCj4NCj4gPiAtLS0gL2Rldi9udWxsDQo+ID4gKysrIGIvZHJpdmVy
cy9jbGsvcmVuZXNhcy9yOGE3NzRhMS1jcGctbXNzci5jDQo+DQo+ID4gK3N0YXRpYyBjb25zdCBz
dHJ1Y3QgY3BnX2NvcmVfY2xrIHI4YTc3NGExX2NvcmVfY2xrc1tdIF9faW5pdGNvbnN0ID0gew0K
Pg0KPiA+ICsgICAgICAgREVGX0RJVjZfUk8oIm9zYyIsICAgICAgUjhBNzc0QTFfQ0xLX09TQywg
ICBDTEtfRVhUQUwsDQo+IENQR19SQ0tDUiwgIDgpLA0KPiA+ICsgICAgICAgREVGX0RJVjZfUk8o
InJfaW50IiwgICAgQ0xLX1JJTlQsICAgICAgICAgIENMS19FWFRBTCwgQ1BHX1JDS0NSLCAzMiks
DQo+DQo+IFJaL0cyTSBkb2VzIG5vdCBoYXZlIHRoZSBDUEdfUkNLQ1IgcmVnaXN0ZXIuDQo+IFRo
ZSBpbnRlcm5hbCBSIENMSyBpcyBhbiBpbnRlcm5hbCBjbG9jaywgaGVuY2UgcGxlYXNlIG5hbWUg
aXQgIi5yIi4NCj4NCj4gUGxlYXNlIGhhdmUgYSBsb29rIGF0ICJjbGs6IHJlbmVzYXM6IHJjYXIt
Z2VuMzogT1NDIGFuZCBSQ0xLIGltcHJvdmVtZW50cyINCj4gKGh0dHBzOi8vcGF0Y2h3b3JrLmtl
cm5lbC5vcmcvcHJvamVjdC9saW51eC1yZW5lc2FzLXNvYy9saXN0Lz9zZXJpZXM9MjA2MykNCg0K
V2lsbCBzZW5kIFYyIGluY29ycG9yYXRpbmcgdGhpcyBjaGFuZ2VzLg0KDQo+ID4gKy8qDQo+ID4g
KyAqIENQRyBDbG9jayBEYXRhDQo+ID4gKyAqLw0KPiA+ICsNCj4gPiArLyoNCj4gPiArICogICBN
RCAgICAgICAgICAgICAgICBFWFRBTCAgICAgICAgICAgUExMMCAgICBQTEwxICAgIFBMTDIgICAg
UExMMyAgICBQTEw0DQo+ID4gKyAqIDE0IDEzIDE5IDE3IChNSHopDQo+ID4gKyAqLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQ0KPiA+ICsgKiAwICAwICAwICAwICAxNi42NiB4IDEgICAgICAgeDE4MCAgICB4MTkyICAgIHgx
NDQgICAgeDE5MiAgICB4MTQ0DQo+ID4gKyAqIDAgIDAgIDAgIDEgIDE2LjY2IHggMSAgICAgICB4
MTgwICAgIHgxOTIgICAgeDE0NCAgICB4MTI4ICAgIHgxNDQNCj4gPiArICogMCAgMCAgMSAgMCAg
UHJvaGliaXRlZCBzZXR0aW5nDQo+ID4gKyAqIDAgIDAgIDEgIDEgIDE2LjY2IHggMSAgICAgICB4
MTgwICAgIHgxOTIgICAgeDE0NCAgICB4MTkyICAgIHgxNDQNCj4gPiArICogMCAgMSAgMCAgMCAg
MjAgICAgeCAxICAgICAgIHgxNTAgICAgeDE2MCAgICB4MTIwICAgIHgxNjAgICAgeDEyMA0KPiA+
ICsgKiAwICAxICAwICAxICAyMCAgICB4IDEgICAgICAgeDE1MCAgICB4MTYwICAgIHgxMjAgICAg
eDEwNiAgICB4MTIwDQo+ID4gKyAqIDAgIDEgIDEgIDAgIFByb2hpYml0ZWQgc2V0dGluZw0KPiA+
ICsgKiAwICAxICAxICAxICAyMCAgICB4IDEgICAgICAgeDE1MCAgICB4MTYwICAgIHgxMjAgICAg
eDE2MCAgICB4MTIwDQo+ID4gKyAqIDEgIDAgIDAgIDAgIDI1ICAgIHggMSAgICAgICB4MTIwICAg
IHgxMjggICAgeDk2ICAgICB4MTI4ICAgIHg5Ng0KPiA+ICsgKiAxICAwICAwICAxICAyNSAgICB4
IDEgICAgICAgeDEyMCAgICB4MTI4ICAgIHg5NiAgICAgeDg0ICAgICB4OTYNCj4gPiArICogMSAg
MCAgMSAgMCAgUHJvaGliaXRlZCBzZXR0aW5nDQo+ID4gKyAqIDEgIDAgIDEgIDEgIDI1ICAgIHgg
MSAgICAgICB4MTIwICAgIHgxMjggICAgeDk2ICAgICB4MTI4ICAgIHg5Ng0KPiA+ICsgKiAxICAx
ICAwICAwICAzMy4zMyAvIDIgICAgICAgeDE4MCAgICB4MTkyICAgIHgxNDQgICAgeDE5MiAgICB4
MTQ0DQo+ID4gKyAqIDEgIDEgIDAgIDEgIDMzLjMzIC8gMiAgICAgICB4MTgwICAgIHgxOTIgICAg
eDE0NCAgICB4MTI4ICAgIHgxNDQNCj4gPiArICogMSAgMSAgMSAgMCAgUHJvaGliaXRlZCBzZXR0
aW5nDQo+ID4gKyAqIDEgIDEgIDEgIDEgIDMzLjMzIC8gMiAgICAgICB4MTgwICAgIHgxOTIgICAg
eDE0NCAgICB4MTkyICAgIHgxNDQNCj4gPiArICovDQo+ID4gKyNkZWZpbmUgQ1BHX1BMTF9DT05G
SUdfSU5ERVgobWQpICAgICAgICgoKChtZCkgJiBCSVQoMTQpKSA+PiAxMSkgfCBcDQo+ID4gKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKChtZCkgJiBCSVQoMTMpKSA+
PiAxMSkgfCBcDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo
KChtZCkgJiBCSVQoMTkpKSA+PiAxOCkgfCBcDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAoKChtZCkgJiBCSVQoMTcpKSA+PiAxNykpDQo+ID4gKw0KPiA+ICtz
dGF0aWMgY29uc3Qgc3RydWN0IHJjYXJfZ2VuM19jcGdfcGxsX2NvbmZpZyBjcGdfcGxsX2NvbmZp
Z3NbMTZdDQo+IF9faW5pdGNvbnN0ID0gew0KPiA+ICsgICAgICAgLyogRVhUQUwgZGl2ICAgIFBM
TDEgbXVsdC9kaXYgICBQTEwzIG11bHQvZGl2ICovDQo+ID4gKyAgICAgICB7IDEsICAgICAgICAg
ICAgMTkyLCAgICAxLCAgICAgIDE5MiwgICAgMSwgICAgICB9LA0KPiA+ICsgICAgICAgeyAxLCAg
ICAgICAgICAgIDE5MiwgICAgMSwgICAgICAxMjgsICAgIDEsICAgICAgfSwNCj4gPiArICAgICAg
IHsgMCwgLyogUHJvaGliaXRlZCBzZXR0aW5nICovICAgICAgICAgICAgICAgICAgIH0sDQo+ID4g
KyAgICAgICB7IDEsICAgICAgICAgICAgMTkyLCAgICAxLCAgICAgIDE5MiwgICAgMSwgICAgICB9
LA0KPiA+ICsgICAgICAgeyAxLCAgICAgICAgICAgIDE2MCwgICAgMSwgICAgICAxNjAsICAgIDEs
ICAgICAgfSwNCj4gPiArICAgICAgIHsgMSwgICAgICAgICAgICAxNjAsICAgIDEsICAgICAgMTA2
LCAgICAxLCAgICAgIH0sDQo+ID4gKyAgICAgICB7IDAsIC8qIFByb2hpYml0ZWQgc2V0dGluZyAq
LyAgICAgICAgICAgICAgICAgICB9LA0KPiA+ICsgICAgICAgeyAxLCAgICAgICAgICAgIDE2MCwg
ICAgMSwgICAgICAxNjAsICAgIDEsICAgICAgfSwNCj4gPiArICAgICAgIHsgMSwgICAgICAgICAg
ICAxMjgsICAgIDEsICAgICAgMTI4LCAgICAxLCAgICAgIH0sDQo+ID4gKyAgICAgICB7IDEsICAg
ICAgICAgICAgMTI4LCAgICAxLCAgICAgIDg0LCAgICAgMSwgICAgICB9LA0KPiA+ICsgICAgICAg
eyAwLCAvKiBQcm9oaWJpdGVkIHNldHRpbmcgKi8gICAgICAgICAgICAgICAgICAgfSwNCj4gPiAr
ICAgICAgIHsgMSwgICAgICAgICAgICAxMjgsICAgIDEsICAgICAgMTI4LCAgICAxLCAgICAgIH0s
DQo+ID4gKyAgICAgICB7IDIsICAgICAgICAgICAgMTkyLCAgICAxLCAgICAgIDE5MiwgICAgMSwg
ICAgICB9LA0KPiA+ICsgICAgICAgeyAyLCAgICAgICAgICAgIDE5MiwgICAgMSwgICAgICAxMjgs
ICAgIDEsICAgICAgfSwNCj4gPiArICAgICAgIHsgMCwgLyogUHJvaGliaXRlZCBzZXR0aW5nICov
ICAgICAgICAgICAgICAgICAgIH0sDQo+ID4gKyAgICAgICB7IDIsICAgICAgICAgICAgMTkyLCAg
ICAxLCAgICAgIDE5MiwgICAgMSwgICAgICB9LA0KPiA+ICt9Ow0KPg0KPiBQbGVhc2UgYWRkIHRo
ZSBuZXcgT1NDIHByZWRpdmlkZXJzLiBZb3UncmUgZ29ubmEgbmVlZCB0aGVtIGZvciB0aGUNCj4g
Y29ycmVjdGVkIE9TQyBjbG9jay4NCg0KV2lsbCBzZW5kIFYyIGluY29ycG9yYXRpbmcgdGhpcyBj
aGFuZ2VzLg0KDQoNCg0KUmVuZXNhcyBFbGVjdHJvbmljcyBFdXJvcGUgTHRkLCBEdWtlcyBNZWFk
b3csIE1pbGxib2FyZCBSb2FkLCBCb3VybmUgRW5kLCBCdWNraW5naGFtc2hpcmUsIFNMOCA1Rkgs
IFVLLiBSZWdpc3RlcmVkIGluIEVuZ2xhbmQgJiBXYWxlcyB1bmRlciBSZWdpc3RlcmVkIE5vLiAw
NDU4NjcwOS4NCg==

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

* RE: [PATCH 4/5] clk: renesas: Add r8a774a1 CPG Core Clock Definitions
  2018-08-01  8:46   ` Geert Uytterhoeven
@ 2018-08-01  9:33     ` Biju Das
  0 siblings, 0 replies; 15+ messages in thread
From: Biju Das @ 2018-08-01  9:33 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Rob Herring, Mark Rutland,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Simon Horman, Geert Uytterhoeven, Chris Paterson,
	Fabrizio Castro, Linux-Renesas

Hi Geert,

Thanks for the feedback.

> Subject: Re: [PATCH 4/5] clk: renesas: Add r8a774a1 CPG Core Clock
> Definitions
>
> Hi Biju,
>
> On Mon, Jul 30, 2018 at 9:54 AM Biju Das <biju.das@bp.renesas.com> wrote:
> > Add all RZ/G2M Clock Pulse Generator Core Clock Outputs, as listed in
> > Table 8.2b ("List of Clocks [RZ/G2M]") of the RZ/G2M Hardware User's
> > Manual.
> >
> > Signed-off-by: Biju Das <biju.das@bp.renesas.com>
> > Reviewed-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com>
>
> Thanks for your patch!
>
> > --- /dev/null
> > +++ b/include/dt-bindings/clock/r8a774a1-cpg-mssr.h
> > @@ -0,0 +1,59 @@
> > +/* SPDX-License-Identifier: GPL-2.0
> > + *
> > + * Copyright (C) 2018 Renesas Electronics Corp.
> > + */
> > +#ifndef __DT_BINDINGS_CLOCK_R8A774A1_CPG_MSSR_H__
> > +#define __DT_BINDINGS_CLOCK_R8A774A1_CPG_MSSR_H__
> > +
> > +#include <dt-bindings/clock/renesas-cpg-mssr.h>
> > +
> > +/* r8a774a1 CPG Core Clocks */
> > +#define R8A774A1_CLK_Z                 0
> > +#define R8A774A1_CLK_Z2                        1
> > +#define R8A774A1_CLK_ZG                        2
> > +#define R8A774A1_CLK_ZTR               3
> > +#define R8A774A1_CLK_ZTRD2             4
> > +#define R8A774A1_CLK_ZT                        5
> > +#define R8A774A1_CLK_ZX                        6
> > +#define R8A774A1_CLK_S0D1              7
> > +#define R8A774A1_CLK_S0D2              8
> > +#define R8A774A1_CLK_S0D3              9
> > +#define R8A774A1_CLK_S0D4              10
> > +#define R8A774A1_CLK_S0D6              11
> > +#define R8A774A1_CLK_S0D8              12
> > +#define R8A774A1_CLK_S0D12             13
> > +#define R8A774A1_CLK_S1D2              14
> > +#define R8A774A1_CLK_S1D4              15
> > +#define R8A774A1_CLK_S2D1              16
> > +#define R8A774A1_CLK_S2D2              17
> > +#define R8A774A1_CLK_S2D4              18
> > +#define R8A774A1_CLK_S3D1              19
> > +#define R8A774A1_CLK_S3D2              20
> > +#define R8A774A1_CLK_S3D4              21
> > +#define R8A774A1_CLK_LB                        22
> > +#define R8A774A1_CLK_CL                        23
> > +#define R8A774A1_CLK_ZB3               24
> > +#define R8A774A1_CLK_ZB3D2             25
> > +#define R8A774A1_CLK_ZB3D4             26
> > +#define R8A774A1_CLK_CR                        27
> > +#define R8A774A1_CLK_CRD2              28
> > +#define R8A774A1_CLK_SD0H              29
> > +#define R8A774A1_CLK_SD0               30
> > +#define R8A774A1_CLK_SD1H              31
> > +#define R8A774A1_CLK_SD1               32
> > +#define R8A774A1_CLK_SD2H              33
> > +#define R8A774A1_CLK_SD2               34
> > +#define R8A774A1_CLK_SD3H              35
> > +#define R8A774A1_CLK_SD3               36
> > +#define R8A774A1_CLK_RPC               37
> > +#define R8A774A1_CLK_RPCD2             38
> > +#define R8A774A1_CLK_MSO               39
> > +#define R8A774A1_CLK_HDMI              40
> > +#define R8A774A1_CLK_CSI0              41
> > +#define R8A774A1_CLK_CP                        42
> > +#define R8A774A1_CLK_POST2             43
>
> POST2 is an internal clock, which doesn't need to be referred to from DT.
> So please drop it from the bindings.

Will send V2 with the above fix.

> > +#define R8A774A1_CLK_CPEX              44
> > +#define R8A774A1_CLK_R                 45
> > +#define R8A774A1_CLK_OSC               46
>
> With the above fixed:
> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>

Regards,
Biju



Renesas Electronics Europe Ltd, Dukes Meadow, Millboard Road, Bourne End, Buckinghamshire, SL8 5FH, UK. Registered in England & Wales under Registered No. 04586709.

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

end of thread, other threads:[~2018-08-01 11:16 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-30  7:48 [PATCH 0/5] Add RZ/G2M SYSC/RST/Clock support Biju Das
2018-07-30  7:48 ` [PATCH 1/5] dt-bindings: power: Add r8a774a1 SYSC power domain definitions Biju Das
2018-08-01  8:01   ` Geert Uytterhoeven
2018-07-30  7:48 ` [PATCH 2/5] soc: renesas: rcar-sysc: Add r8a774a1 support Biju Das
2018-08-01  8:05   ` Geert Uytterhoeven
2018-07-30  7:48 ` [PATCH 3/5] soc: renesas: rcar-rst: Add support for RZ/G2M Biju Das
2018-08-01  8:46   ` Geert Uytterhoeven
2018-07-30  7:48 ` [PATCH 4/5] clk: renesas: Add r8a774a1 CPG Core Clock Definitions Biju Das
2018-08-01  8:46   ` Geert Uytterhoeven
2018-08-01  9:33     ` Biju Das
2018-07-30  7:48 ` [PATCH 5/5] clk: renesas: cpg-mssr: Add r8a774a1 support Biju Das
2018-08-01  9:26   ` Geert Uytterhoeven
2018-08-01  9:31     ` Biju Das
2018-08-01  9:31       ` Biju Das
2018-08-01  9:31       ` Biju Das

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.