linux-sh.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 0/5] clk: shmobile: Add new CPG/MSSR driver
@ 2015-10-29 11:20 Geert Uytterhoeven
  2015-10-29 11:21 ` [PATCH v5 1/5] clk: shmobile: Rework CONFIG_ARCH_SHMOBILE_MULTI Geert Uytterhoeven
                   ` (4 more replies)
  0 siblings, 5 replies; 10+ messages in thread
From: Geert Uytterhoeven @ 2015-10-29 11:20 UTC (permalink / raw)
  To: Michael Turquette, Stephen Boyd, Magnus Damm, Simon Horman,
	Laurent Pinchart
  Cc: linux-clk, linux-sh, linux-kernel, Geert Uytterhoeven

	Hi Mike, Stephen, et al.,

This series adds a new driver for the Renesas CPG (Clock Pulse
Generator) and MSSR (Module Standby and Software Reset) blocks for R-Car
H3 (r8a7795).  This is supposed to be more in-line with current CCF best
practices, and allows expansion to cover the module reset functionality
in the future. This drivers follows the DT bindings in
Documentation/devicetree/bindings/clock/renesas,cpg-mssr.txt, which have
been accepted in clk/clk-next.
Support for other SoCs may be added later.

  - Patch 1 reworks configuration after the removal of shmobile-legacy,
    and prepares for the advent of arm64 support, where
    CONFIG_ARCH_SHMOBILE_MULTI is not defined.
  - Patch 2 makes clock-output-names optional in the DIV6 driver.
    This is a bit unrelated, but I had sent this patch before, and
    there's a contextual dependency,
  - Patch 3 prepares the existing DIV6 driver for reuse,
  - Patch 4 introduces the new CPG/MSSR driver core, to be used by
    several SoC-specific drivers,
  - Patch 5 introduces the new r8a7795-specific driver.

Compared to v4, major changes are:
  - Convert from CLK_OF_DECLARE() to a real platform_driver, initialized
    using platform_driver_probe() from subsys_initcall().
    Note that arch_initcall() would be OK for arm32, but not for arm64:
      - arm32 calls of_platform_populate() from arch_initcall(),
      - arm64 calls of_platform_populate() from arch_initcall_sync().
  - Move conversion from Module Clock numbers to IDs from run time (C
    code) to compile time (CPP macros for filling in tables),
  - Implement handling of core clocks that are suitable for power
    management (not needed for R-Car, but useful for SH-Mobile AG5 and
    R-Mobile APE6),
More detailed changelog information is available in the individual
patches.

For your convenience, I pushed these patches and its dependencies to the
topic/cpg-mssr-v5 branch of my
renesas-drivers repository at
https://git.kernel.org/cgit/linux/kernel/git/geert/renesas-drivers.git/log/?h=topic/cpg-mssr-v5.

A full integration for R-Car Gen3 is available from the
topic/gen3-latest branch.

Thanks for your comments!

References:
  - v4 = "[PATCH/RFC v4 0/5] clk: shmobile: Add new Renesas CPG/MSSR DT
    bindings" (http://www.spinics.net/lists/devicetree/msg98342.html)
  - v3 = "[PATCH/RFC v3 0/3] clk: shmobile: Add new Renesas CPG/MSSR DT
    bindings" (http://www.spinics.net/lists/linux-sh/msg45870.html)
  - v2+ ≈ "[PATCH v8 00/05] Renesas R-Car Gen3 CPG support V8"
    (http://www.spinics.net/lists/linux-clk/msg03288.html)
  - v2 = "[PATCH/RFC v2 0/4] Renesas CPG/MSTP DT Binding Proposal"
    (http://www.spinics.net/lists/linux-clk/msg03132.html)
  - v1 = "Renesas CPG/MSTP DT Binding Proposal"
    (http://www.spinics.net/lists/linux-clk/msg01189.html)

Geert Uytterhoeven (4):
  clk: shmobile: div6: Make clock-output-names optional
  clk: shmobile: div6: Extract cpg_div6_register()
  clk: shmobile: Add new CPG/MSSR driver core
  clk: shmobile: r8a7795: Add new CPG/MSSR driver

Magnus Damm (1):
  clk: shmobile: Rework CONFIG_ARCH_SHMOBILE_MULTI

 .../bindings/clock/renesas,cpg-div6-clocks.txt     |   4 +
 drivers/clk/Makefile                               |   1 +
 drivers/clk/shmobile/Makefile                      |  24 +-
 drivers/clk/shmobile/clk-div6.c                    | 137 +++--
 drivers/clk/shmobile/clk-div6.h                    |   7 +
 drivers/clk/shmobile/r8a7795-cpg-mssr.c            | 373 +++++++++++++
 drivers/clk/shmobile/renesas-cpg-mssr.c            | 593 +++++++++++++++++++++
 drivers/clk/shmobile/renesas-cpg-mssr.h            | 132 +++++
 8 files changed, 1208 insertions(+), 63 deletions(-)
 create mode 100644 drivers/clk/shmobile/clk-div6.h
 create mode 100644 drivers/clk/shmobile/r8a7795-cpg-mssr.c
 create mode 100644 drivers/clk/shmobile/renesas-cpg-mssr.c
 create mode 100644 drivers/clk/shmobile/renesas-cpg-mssr.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] 10+ messages in thread

end of thread, other threads:[~2015-10-30 13:57 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-29 11:20 [PATCH v5 0/5] clk: shmobile: Add new CPG/MSSR driver Geert Uytterhoeven
2015-10-29 11:21 ` [PATCH v5 1/5] clk: shmobile: Rework CONFIG_ARCH_SHMOBILE_MULTI Geert Uytterhoeven
2015-10-29 11:21 ` [PATCH v5 2/5] clk: shmobile: div6: Make clock-output-names optional Geert Uytterhoeven
2015-10-30 13:47   ` Laurent Pinchart
2015-10-30 13:57     ` Geert Uytterhoeven
2015-10-29 11:21 ` [PATCH v5 3/5] clk: shmobile: div6: Extract cpg_div6_register() Geert Uytterhoeven
2015-10-30 13:54   ` Laurent Pinchart
2015-10-29 11:21 ` [PATCH v5 4/5] clk: shmobile: Add new CPG/MSSR driver core Geert Uytterhoeven
2015-10-29 11:21 ` [PATCH v5 5/5] clk: shmobile: r8a7795: Add new CPG/MSSR driver Geert Uytterhoeven
2015-10-30  8:27   ` Geert Uytterhoeven

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