devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/3]  soc: renesas: rcar-sysc: Add support for R-Car M3-W power areas
@ 2016-05-30 17:05 Geert Uytterhoeven
  2016-05-30 17:05 ` [PATCH v2 1/3] soc: renesas: rcar-sysc: Document r8a7796 support Geert Uytterhoeven
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Geert Uytterhoeven @ 2016-05-30 17:05 UTC (permalink / raw)
  To: Simon Horman, Magnus Damm
  Cc: Laurent Pinchart, linux-pm, linux-renesas-soc, devicetree,
	Geert Uytterhoeven

	Hi Simon, Magnus,

This patch series adds support for the power areas exposed by the System
Controller on the Renesas R-Car M3-W SoC. This is a prerequisite for
enabling devices (e.g. VSP and FCP) that reside in power areas.

/sys/kernel/debug/pm_genpd/pm_genpd_summary output:

    domain                          status          slaves
	/device                                             runtime status
    ----------------------------------------------------------------------
    clock-controller                on              
    a3ir                            off-0           
    3dg-b                           off-0           
    3dg-a                           off-0           3dg-b
    a2vc1                           off-0           
    a2vc0                           off-0           
    a3vc                            off-0           a2vc0, a2vc1
    cr7                             off-0           
    ca53-cpu3                       on              
    ca53-cpu2                       on              
    ca53-cpu1                       on              
    ca53-cpu0                       on              
    ca53-scu                        on              ca53-cpu0, ca53-cpu1, ca53-cpu2, ca53-cpu3
    ca57-cpu1                       on              
    ca57-cpu0                       on              
    ca57-scu                        on              ca57-cpu0, ca57-cpu1
    always-on                       on              ca57-scu, ca53-scu, cr7, a3vc, 3dg-a, a3ir
	/devices/platform/soc/e6e88000.serial               active

Changes compared to v1:
  - Add Acked-by.

For your convenience, I've pushed this series to the
topic/r8a7796-sysc-v2 branch of
https://git.kernel.org/cgit/linux/kernel/git/geert/renesas-drivers.git.
This has been tested on r8a7796/salvator-x, and the code (minus the
acks, i.e. v1), has been part of renesas-drivers since 2016-05-10.

Thanks!

Geert Uytterhoeven (3):
  soc: renesas: rcar-sysc: Document r8a7796 support
  soc: renesas: Add r8a7796 SYSC PM Domain Binding Definitions
  soc: renesas: rcar-sysc: Add support for R-Car M3-W power areas

 .../bindings/power/renesas,rcar-sysc.txt           |  1 +
 drivers/soc/renesas/Makefile                       |  1 +
 drivers/soc/renesas/r8a7796-sysc.c                 | 48 ++++++++++++++++++++++
 drivers/soc/renesas/rcar-sysc.c                    |  3 ++
 drivers/soc/renesas/rcar-sysc.h                    |  1 +
 include/dt-bindings/power/r8a7796-sysc.h           | 36 ++++++++++++++++
 6 files changed, 90 insertions(+)
 create mode 100644 drivers/soc/renesas/r8a7796-sysc.c
 create mode 100644 include/dt-bindings/power/r8a7796-sysc.h

-- 
1.9.1

Gr{oetje,eeting}s,

						Geert

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

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

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

* [PATCH v2 1/3] soc: renesas: rcar-sysc: Document r8a7796 support
  2016-05-30 17:05 [PATCH v2 0/3] soc: renesas: rcar-sysc: Add support for R-Car M3-W power areas Geert Uytterhoeven
@ 2016-05-30 17:05 ` Geert Uytterhoeven
  2016-05-30 17:05 ` [PATCH v2 2/3] soc: renesas: Add r8a7796 SYSC PM Domain Binding Definitions Geert Uytterhoeven
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Geert Uytterhoeven @ 2016-05-30 17:05 UTC (permalink / raw)
  To: Simon Horman, Magnus Damm
  Cc: Laurent Pinchart, linux-pm, linux-renesas-soc, devicetree,
	Geert Uytterhoeven

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Rob Herring <robh@kernel.org>
---
v2:
  - Add Acked-by.
---
 Documentation/devicetree/bindings/power/renesas,rcar-sysc.txt | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/power/renesas,rcar-sysc.txt b/Documentation/devicetree/bindings/power/renesas,rcar-sysc.txt
index b74e4d4785ab2d60..0725fb37a973d8eb 100644
--- a/Documentation/devicetree/bindings/power/renesas,rcar-sysc.txt
+++ b/Documentation/devicetree/bindings/power/renesas,rcar-sysc.txt
@@ -14,6 +14,7 @@ Required properties:
       - "renesas,r8a7793-sysc" (R-Car M2-N)
       - "renesas,r8a7794-sysc" (R-Car E2)
       - "renesas,r8a7795-sysc" (R-Car H3)
+      - "renesas,r8a7796-sysc" (R-Car M3-W)
   - reg: Address start and address range for the device.
   - #power-domain-cells: Must be 1.
 
-- 
1.9.1

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

* [PATCH v2 2/3] soc: renesas: Add r8a7796 SYSC PM Domain Binding Definitions
  2016-05-30 17:05 [PATCH v2 0/3] soc: renesas: rcar-sysc: Add support for R-Car M3-W power areas Geert Uytterhoeven
  2016-05-30 17:05 ` [PATCH v2 1/3] soc: renesas: rcar-sysc: Document r8a7796 support Geert Uytterhoeven
@ 2016-05-30 17:05 ` Geert Uytterhoeven
  2016-05-30 17:05 ` [PATCH v2 3/3] soc: renesas: rcar-sysc: Add support for R-Car M3-W power areas Geert Uytterhoeven
  2016-06-06  1:14 ` [PATCH v2 0/3] " Simon Horman
  3 siblings, 0 replies; 5+ messages in thread
From: Geert Uytterhoeven @ 2016-05-30 17:05 UTC (permalink / raw)
  To: Simon Horman, Magnus Damm
  Cc: Laurent Pinchart, linux-pm, linux-renesas-soc, devicetree,
	Geert Uytterhoeven

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
v2:
  - Add Acked-by.
---
 include/dt-bindings/power/r8a7796-sysc.h | 36 ++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)
 create mode 100644 include/dt-bindings/power/r8a7796-sysc.h

diff --git a/include/dt-bindings/power/r8a7796-sysc.h b/include/dt-bindings/power/r8a7796-sysc.h
new file mode 100644
index 0000000000000000..5b4daab44daa0057
--- /dev/null
+++ b/include/dt-bindings/power/r8a7796-sysc.h
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2016 Glider bvba
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ */
+#ifndef __DT_BINDINGS_POWER_R8A7796_SYSC_H__
+#define __DT_BINDINGS_POWER_R8A7796_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 R8A7796_PD_CA57_CPU0		 0
+#define R8A7796_PD_CA57_CPU1		 1
+#define R8A7796_PD_CA53_CPU0		 5
+#define R8A7796_PD_CA53_CPU1		 6
+#define R8A7796_PD_CA53_CPU2		 7
+#define R8A7796_PD_CA53_CPU3		 8
+#define R8A7796_PD_CA57_SCU		12
+#define R8A7796_PD_CR7			13
+#define R8A7796_PD_A3VC			14
+#define R8A7796_PD_3DG_A		17
+#define R8A7796_PD_3DG_B		18
+#define R8A7796_PD_CA53_SCU		21
+#define R8A7796_PD_A3IR			24
+#define R8A7796_PD_A2VC0		25
+#define R8A7796_PD_A2VC1		26
+
+/* Always-on power area */
+#define R8A7796_PD_ALWAYS_ON		32
+
+#endif /* __DT_BINDINGS_POWER_R8A7796_SYSC_H__ */
-- 
1.9.1


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

* [PATCH v2 3/3] soc: renesas: rcar-sysc: Add support for R-Car M3-W power areas
  2016-05-30 17:05 [PATCH v2 0/3] soc: renesas: rcar-sysc: Add support for R-Car M3-W power areas Geert Uytterhoeven
  2016-05-30 17:05 ` [PATCH v2 1/3] soc: renesas: rcar-sysc: Document r8a7796 support Geert Uytterhoeven
  2016-05-30 17:05 ` [PATCH v2 2/3] soc: renesas: Add r8a7796 SYSC PM Domain Binding Definitions Geert Uytterhoeven
@ 2016-05-30 17:05 ` Geert Uytterhoeven
  2016-06-06  1:14 ` [PATCH v2 0/3] " Simon Horman
  3 siblings, 0 replies; 5+ messages in thread
From: Geert Uytterhoeven @ 2016-05-30 17:05 UTC (permalink / raw)
  To: Simon Horman, Magnus Damm
  Cc: Laurent Pinchart, linux-pm, linux-renesas-soc, devicetree,
	Geert Uytterhoeven

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
v2:
  - Add Acked-by.
---
 drivers/soc/renesas/Makefile       |  1 +
 drivers/soc/renesas/r8a7796-sysc.c | 48 ++++++++++++++++++++++++++++++++++++++
 drivers/soc/renesas/rcar-sysc.c    |  3 +++
 drivers/soc/renesas/rcar-sysc.h    |  1 +
 4 files changed, 53 insertions(+)
 create mode 100644 drivers/soc/renesas/r8a7796-sysc.c

diff --git a/drivers/soc/renesas/Makefile b/drivers/soc/renesas/Makefile
index 151fcd3f025b01f3..cd85cd5e6a01517c 100644
--- a/drivers/soc/renesas/Makefile
+++ b/drivers/soc/renesas/Makefile
@@ -5,3 +5,4 @@ obj-$(CONFIG_ARCH_R8A7791)	+= rcar-sysc.o r8a7791-sysc.o
 obj-$(CONFIG_ARCH_R8A7793)	+= rcar-sysc.o r8a7791-sysc.o
 obj-$(CONFIG_ARCH_R8A7794)	+= rcar-sysc.o r8a7794-sysc.o
 obj-$(CONFIG_ARCH_R8A7795)	+= rcar-sysc.o r8a7795-sysc.o
+obj-$(CONFIG_ARCH_R8A7796)	+= rcar-sysc.o r8a7796-sysc.o
diff --git a/drivers/soc/renesas/r8a7796-sysc.c b/drivers/soc/renesas/r8a7796-sysc.c
new file mode 100644
index 0000000000000000..f700c842b9e1d010
--- /dev/null
+++ b/drivers/soc/renesas/r8a7796-sysc.c
@@ -0,0 +1,48 @@
+/*
+ * Renesas R-Car M3-W System Controller
+ *
+ * Copyright (C) 2016 Glider bvba
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ */
+
+#include <linux/bug.h>
+#include <linux/kernel.h>
+
+#include <dt-bindings/power/r8a7796-sysc.h>
+
+#include "rcar-sysc.h"
+
+static const struct rcar_sysc_area r8a7796_areas[] __initconst = {
+	{ "always-on",	    0, 0, R8A7796_PD_ALWAYS_ON,	-1, PD_ALWAYS_ON },
+	{ "ca57-scu",	0x1c0, 0, R8A7796_PD_CA57_SCU,	R8A7796_PD_ALWAYS_ON,
+	  PD_SCU },
+	{ "ca57-cpu0",	 0x80, 0, R8A7796_PD_CA57_CPU0,	R8A7796_PD_CA57_SCU,
+	  PD_CPU_NOCR },
+	{ "ca57-cpu1",	 0x80, 1, R8A7796_PD_CA57_CPU1,	R8A7796_PD_CA57_SCU,
+	  PD_CPU_NOCR },
+	{ "ca53-scu",	0x140, 0, R8A7796_PD_CA53_SCU,	R8A7796_PD_ALWAYS_ON,
+	  PD_SCU },
+	{ "ca53-cpu0",	0x200, 0, R8A7796_PD_CA53_CPU0,	R8A7796_PD_CA53_SCU,
+	  PD_CPU_NOCR },
+	{ "ca53-cpu1",	0x200, 1, R8A7796_PD_CA53_CPU1,	R8A7796_PD_CA53_SCU,
+	  PD_CPU_NOCR },
+	{ "ca53-cpu2",	0x200, 2, R8A7796_PD_CA53_CPU2,	R8A7796_PD_CA53_SCU,
+	  PD_CPU_NOCR },
+	{ "ca53-cpu3",	0x200, 3, R8A7796_PD_CA53_CPU3,	R8A7796_PD_CA53_SCU,
+	  PD_CPU_NOCR },
+	{ "cr7",	0x240, 0, R8A7796_PD_CR7,	R8A7796_PD_ALWAYS_ON },
+	{ "a3vc",	0x380, 0, R8A7796_PD_A3VC,	R8A7796_PD_ALWAYS_ON },
+	{ "a2vc0",	0x3c0, 0, R8A7796_PD_A2VC0,	R8A7796_PD_A3VC },
+	{ "a2vc1",	0x3c0, 1, R8A7796_PD_A2VC1,	R8A7796_PD_A3VC },
+	{ "3dg-a",	0x100, 0, R8A7796_PD_3DG_A,	R8A7796_PD_ALWAYS_ON },
+	{ "3dg-b",	0x100, 1, R8A7796_PD_3DG_B,	R8A7796_PD_3DG_A },
+	{ "a3ir",	0x180, 0, R8A7796_PD_A3IR,	R8A7796_PD_ALWAYS_ON },
+};
+
+const struct rcar_sysc_info r8a7796_sysc_info __initconst = {
+	.areas = r8a7796_areas,
+	.num_areas = ARRAY_SIZE(r8a7796_areas),
+};
diff --git a/drivers/soc/renesas/rcar-sysc.c b/drivers/soc/renesas/rcar-sysc.c
index 79dbc770895f4b6d..fc997d4d2a4afb7e 100644
--- a/drivers/soc/renesas/rcar-sysc.c
+++ b/drivers/soc/renesas/rcar-sysc.c
@@ -303,6 +303,9 @@ static const struct of_device_id rcar_sysc_matches[] = {
 #ifdef CONFIG_ARCH_R8A7795
 	{ .compatible = "renesas,r8a7795-sysc", .data = &r8a7795_sysc_info },
 #endif
+#ifdef CONFIG_ARCH_R8A7796
+	{ .compatible = "renesas,r8a7796-sysc", .data = &r8a7796_sysc_info },
+#endif
 	{ /* sentinel */ }
 };
 
diff --git a/drivers/soc/renesas/rcar-sysc.h b/drivers/soc/renesas/rcar-sysc.h
index 5e766174c2f47eb0..4ac3d7bf7f38043c 100644
--- a/drivers/soc/renesas/rcar-sysc.h
+++ b/drivers/soc/renesas/rcar-sysc.h
@@ -55,4 +55,5 @@ extern const struct rcar_sysc_info r8a7790_sysc_info;
 extern const struct rcar_sysc_info r8a7791_sysc_info;
 extern const struct rcar_sysc_info r8a7794_sysc_info;
 extern const struct rcar_sysc_info r8a7795_sysc_info;
+extern const struct rcar_sysc_info r8a7796_sysc_info;
 #endif /* __SOC_RENESAS_RCAR_SYSC_H__ */
-- 
1.9.1


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

* Re: [PATCH v2 0/3]  soc: renesas: rcar-sysc: Add support for R-Car M3-W power areas
  2016-05-30 17:05 [PATCH v2 0/3] soc: renesas: rcar-sysc: Add support for R-Car M3-W power areas Geert Uytterhoeven
                   ` (2 preceding siblings ...)
  2016-05-30 17:05 ` [PATCH v2 3/3] soc: renesas: rcar-sysc: Add support for R-Car M3-W power areas Geert Uytterhoeven
@ 2016-06-06  1:14 ` Simon Horman
  3 siblings, 0 replies; 5+ messages in thread
From: Simon Horman @ 2016-06-06  1:14 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Magnus Damm, Laurent Pinchart, linux-pm, linux-renesas-soc,
	devicetree

On Mon, May 30, 2016 at 07:05:08PM +0200, Geert Uytterhoeven wrote:
> 	Hi Simon, Magnus,
> 
> This patch series adds support for the power areas exposed by the System
> Controller on the Renesas R-Car M3-W SoC. This is a prerequisite for
> enabling devices (e.g. VSP and FCP) that reside in power areas.
> 
> /sys/kernel/debug/pm_genpd/pm_genpd_summary output:
> 
>     domain                          status          slaves
> 	/device                                             runtime status
>     ----------------------------------------------------------------------
>     clock-controller                on              
>     a3ir                            off-0           
>     3dg-b                           off-0           
>     3dg-a                           off-0           3dg-b
>     a2vc1                           off-0           
>     a2vc0                           off-0           
>     a3vc                            off-0           a2vc0, a2vc1
>     cr7                             off-0           
>     ca53-cpu3                       on              
>     ca53-cpu2                       on              
>     ca53-cpu1                       on              
>     ca53-cpu0                       on              
>     ca53-scu                        on              ca53-cpu0, ca53-cpu1, ca53-cpu2, ca53-cpu3
>     ca57-cpu1                       on              
>     ca57-cpu0                       on              
>     ca57-scu                        on              ca57-cpu0, ca57-cpu1
>     always-on                       on              ca57-scu, ca53-scu, cr7, a3vc, 3dg-a, a3ir
> 	/devices/platform/soc/e6e88000.serial               active
> 
> Changes compared to v1:
>   - Add Acked-by.
> 
> For your convenience, I've pushed this series to the
> topic/r8a7796-sysc-v2 branch of
> https://git.kernel.org/cgit/linux/kernel/git/geert/renesas-drivers.git.
> This has been tested on r8a7796/salvator-x, and the code (minus the
> acks, i.e. v1), has been part of renesas-drivers since 2016-05-10.
> 
> Thanks!

Thanks, I have queued these up for v4.8.

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

end of thread, other threads:[~2016-06-06  1:14 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-30 17:05 [PATCH v2 0/3] soc: renesas: rcar-sysc: Add support for R-Car M3-W power areas Geert Uytterhoeven
2016-05-30 17:05 ` [PATCH v2 1/3] soc: renesas: rcar-sysc: Document r8a7796 support Geert Uytterhoeven
2016-05-30 17:05 ` [PATCH v2 2/3] soc: renesas: Add r8a7796 SYSC PM Domain Binding Definitions Geert Uytterhoeven
2016-05-30 17:05 ` [PATCH v2 3/3] soc: renesas: rcar-sysc: Add support for R-Car M3-W power areas Geert Uytterhoeven
2016-06-06  1:14 ` [PATCH v2 0/3] " Simon Horman

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