devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] soc: renesas: rcar-sysc: Add support for R-Car M3-W power areas
@ 2016-05-04 14:36 Geert Uytterhoeven
  2016-05-04 14:36 ` [PATCH 1/3] soc: renesas: rcar-sysc: Document r8a7796 support Geert Uytterhoeven
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Geert Uytterhoeven @ 2016-05-04 14:36 UTC (permalink / raw)
  To: Simon Horman, Magnus Damm
  Cc: Laurent Pinchart, linux-renesas-soc-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA, 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.

/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

For your convenience, I've pushed this series to the
topic/r8a7796-sysc-v1 branch of
https://git.kernel.org/cgit/linux/kernel/git/geert/renesas-drivers.git.

Integration with renesas-drivers-2016-04-26-v4.6-rc5, and minimal board
integration for testing is available in the topic/gen3-latest branch.

This has received minimal testing on r8a7796/salvator-x.

Thanks for your comments!

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-Td1EMuHUCqxL1ZNQvxDV9g@public.gmane.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
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

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

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
 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] 6+ messages in thread

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

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
 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] 6+ messages in thread

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

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
 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] 6+ messages in thread

* Re: [PATCH 1/3] soc: renesas: rcar-sysc: Document r8a7796 support
  2016-05-04 14:36 ` [PATCH 1/3] soc: renesas: rcar-sysc: Document r8a7796 support Geert Uytterhoeven
@ 2016-05-05 22:13   ` Rob Herring
  0 siblings, 0 replies; 6+ messages in thread
From: Rob Herring @ 2016-05-05 22:13 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Simon Horman, Magnus Damm, Laurent Pinchart, linux-renesas-soc,
	devicetree

On Wed, May 04, 2016 at 04:36:08PM +0200, Geert Uytterhoeven wrote:
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> ---
>  Documentation/devicetree/bindings/power/renesas,rcar-sysc.txt | 1 +
>  1 file changed, 1 insertion(+)

Acked-by: Rob Herring <robh@kernel.org>

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

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

Hi Geert,

Thank you for the patches.

For the whole series,

Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

On Wednesday 04 May 2016 16:36:07 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.
> 
> /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
> 
> For your convenience, I've pushed this series to the
> topic/r8a7796-sysc-v1 branch of
> https://git.kernel.org/cgit/linux/kernel/git/geert/renesas-drivers.git.
> 
> Integration with renesas-drivers-2016-04-26-v4.6-rc5, and minimal board
> integration for testing is available in the topic/gen3-latest branch.
> 
> This has received minimal testing on r8a7796/salvator-x.
> 
> Thanks for your comments!
> 
> 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

-- 
Regards,

Laurent Pinchart

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

end of thread, other threads:[~2016-05-09 12:01 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-05-04 14:36 [PATCH 0/3] soc: renesas: rcar-sysc: Add support for R-Car M3-W power areas Geert Uytterhoeven
2016-05-04 14:36 ` [PATCH 1/3] soc: renesas: rcar-sysc: Document r8a7796 support Geert Uytterhoeven
2016-05-05 22:13   ` Rob Herring
2016-05-04 14:36 ` [PATCH 2/3] soc: renesas: Add r8a7796 SYSC PM Domain Binding Definitions Geert Uytterhoeven
2016-05-04 14:36 ` [PATCH 3/3] soc: renesas: rcar-sysc: Add support for R-Car M3-W power areas Geert Uytterhoeven
2016-05-09 12:01 ` [PATCH 0/3] " Laurent Pinchart

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