devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 00/17] ARM: at91: move to common clk framework
@ 2013-10-11  7:37 Boris BREZILLON
  2013-10-11  7:37 ` [PATCH v4 01/17] ARM: at91: move at91_pmc.h to include/linux/clk/at91_pmc.h Boris BREZILLON
                   ` (12 more replies)
  0 siblings, 13 replies; 38+ messages in thread
From: Boris BREZILLON @ 2013-10-11  7:37 UTC (permalink / raw)
  To: Rob Herring, Pawel Moll, Mark Rutland, Stephen Warren,
	Ian Campbell, Rob Landley, Andrew Victor, Nicolas Ferre,
	Jean-Christophe Plagniol-Villard, Russell King, Mike Turquette,
	Felipe Balbi, Greg Kroah-Hartman, Grant Likely, Ludovic Desroches,
	Josh Wu, Richard Genoud
  Cc: devicetree, linux-doc, linux-usb, linux-kernel, Boris BREZILLON,
	linux-arm-kernel

Hello,

This patch series is the 4th version of the new at91 clock implementation
(using common clk framework).

Most of the clock provided by the PMC (Power Management Controller) are
implemented :
- main clock (main oscillator)
- pll clocks
- master clock
- programmable clocks
- utmi clock
- peripheral clocks
- system clocks

This implementation is only compatible with device tree definition.
The goal is to define the whole clock tree in the device tree.

Could a dt maintainer take a look at these dt bindinds.

This patch series is based on linus tree (but should apply correctly on
linux-next) and has been tested on sama5d31ek.

Best Regards,
Boris

Changes since v3:
 - simplify master clk implementation (drop set_rate/parent support)
 - fix bug in set_rate function of pll driver
 - fix coding style issues
 - define macros and constants where needed
 - remove peripheral id macro references
 - remove sam9g35 specific handling (sam9g35 = sam9x5)
 - rework main clk prepare function to handle automatic rate calculation

Changes since v2:
 - fix several bugs in clk implementations
 - drop non-dt boards support
 - split the series to ease review and tests:
   * 1 patch series for new clk implementations (this series)
   * 1 patch series to move each at91 SoC to common clk framework (coming soon)
 - modify dt-bindings (add atmel,clk- prefix to atmel specific properties)
 - add clk macros for dt-bindings
 - add pmc framework (helper function to access pmc registers)
 - add interrupt support to enable passive wait in clk_prepare functions

Changes since v1:
 - fix bugs in pll, programmable and system clock implementations
   (wrong bit position).
 - add usb clock configuration support (ohci and udc drivers +
   clk_lookup for non dt boards)
 - rework of the system clock interfaces (no need to define a parent clock,
   system clock is a gate with no rate info)
 - change system, peripheral and programmable clk dt bindings (1 master node
   and multiple child nodes each defining a system/peripheral or prog clock)
 - fix bugs in sama5 dt definition

Boris BREZILLON (17):
  ARM: at91: move at91_pmc.h to include/linux/clk/at91_pmc.h
  ARM: at91: add Kconfig options for common clk support
  clk: at91: add PMC base support
  clk: at91: add PMC macro file for dt definitions
  clk: at91: add PMC main clock
  clk: at91: add PMC pll clocks
  clk: at91: add PMC master clock
  clk: at91: add PMC system clocks
  clk: at91: add PMC peripheral clocks
  clk: at91: add peripheral clk macros for peripheral clk dt bindings
  clk: at91: add PMC programmable clocks
  clk: at91: add PMC utmi clock
  clk: at91: add PMC usb clock
  clk: at91: add PMC smd clock
  clk: at91: add PMC clk device tree binding doc.
  ARM: at91: move pit timer to common clk framework
  ARM: at91: add new compatible strings for pmc driver

 .../devicetree/bindings/clock/at91-clock.txt       |  328 ++++++++++++
 arch/arm/mach-at91/Kconfig                         |   44 ++
 arch/arm/mach-at91/Kconfig.non_dt                  |    6 +
 arch/arm/mach-at91/Makefile                        |    2 +-
 arch/arm/mach-at91/at91rm9200.c                    |    2 +-
 arch/arm/mach-at91/at91sam9260.c                   |    2 +-
 arch/arm/mach-at91/at91sam9261.c                   |    2 +-
 arch/arm/mach-at91/at91sam9263.c                   |    2 +-
 arch/arm/mach-at91/at91sam926x_time.c              |   14 +-
 arch/arm/mach-at91/at91sam9g45.c                   |    2 +-
 arch/arm/mach-at91/at91sam9n12.c                   |    2 +-
 arch/arm/mach-at91/at91sam9rl.c                    |    2 +-
 arch/arm/mach-at91/at91sam9x5.c                    |    2 +-
 arch/arm/mach-at91/clock.c                         |    7 +-
 arch/arm/mach-at91/generic.h                       |    3 +-
 arch/arm/mach-at91/pm.c                            |    2 +-
 arch/arm/mach-at91/pm_slowclock.S                  |    2 +-
 arch/arm/mach-at91/sama5d3.c                       |    2 +-
 arch/arm/mach-at91/setup.c                         |    8 +-
 drivers/clk/Makefile                               |    1 +
 drivers/clk/at91/Makefile                          |   12 +
 drivers/clk/at91/clk-main.c                        |  189 +++++++
 drivers/clk/at91/clk-master.c                      |  278 ++++++++++
 drivers/clk/at91/clk-peripheral.c                  |  407 +++++++++++++++
 drivers/clk/at91/clk-pll.c                         |  539 ++++++++++++++++++++
 drivers/clk/at91/clk-plldiv.c                      |  137 +++++
 drivers/clk/at91/clk-programmable.c                |  423 +++++++++++++++
 drivers/clk/at91/clk-smd.c                         |  173 +++++++
 drivers/clk/at91/clk-system.c                      |  193 +++++++
 drivers/clk/at91/clk-usb.c                         |  400 +++++++++++++++
 drivers/clk/at91/clk-utmi.c                        |  162 ++++++
 drivers/clk/at91/pmc.c                             |  372 ++++++++++++++
 drivers/clk/at91/pmc.h                             |  113 ++++
 drivers/usb/gadget/atmel_usba_udc.c                |    2 +-
 include/dt-bindings/clk/at91.h                     |   28 +
 .../include/mach => include/linux/clk}/at91_pmc.h  |    4 +-
 36 files changed, 3847 insertions(+), 20 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/clock/at91-clock.txt
 create mode 100644 drivers/clk/at91/Makefile
 create mode 100644 drivers/clk/at91/clk-main.c
 create mode 100644 drivers/clk/at91/clk-master.c
 create mode 100644 drivers/clk/at91/clk-peripheral.c
 create mode 100644 drivers/clk/at91/clk-pll.c
 create mode 100644 drivers/clk/at91/clk-plldiv.c
 create mode 100644 drivers/clk/at91/clk-programmable.c
 create mode 100644 drivers/clk/at91/clk-smd.c
 create mode 100644 drivers/clk/at91/clk-system.c
 create mode 100644 drivers/clk/at91/clk-usb.c
 create mode 100644 drivers/clk/at91/clk-utmi.c
 create mode 100644 drivers/clk/at91/pmc.c
 create mode 100644 drivers/clk/at91/pmc.h
 create mode 100644 include/dt-bindings/clk/at91.h
 rename {arch/arm/mach-at91/include/mach => include/linux/clk}/at91_pmc.h (98%)

-- 
1.7.9.5

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

end of thread, other threads:[~2013-11-07 23:29 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-11  7:37 [PATCH v4 00/17] ARM: at91: move to common clk framework Boris BREZILLON
2013-10-11  7:37 ` [PATCH v4 01/17] ARM: at91: move at91_pmc.h to include/linux/clk/at91_pmc.h Boris BREZILLON
2013-10-11 16:05   ` Felipe Balbi
2013-10-16 15:29   ` Nicolas Ferre
2013-10-11  7:37 ` [PATCH v4 02/17] ARM: at91: add Kconfig options for common clk support Boris BREZILLON
2013-10-16 15:33   ` Nicolas Ferre
2013-10-11  7:37 ` [PATCH v4 03/17] clk: at91: add PMC base support Boris BREZILLON
2013-10-17 15:46   ` Nicolas Ferre
2013-10-11  8:41 ` [PATCH v4 04/17] clk: at91: add PMC macro file for dt definitions Boris BREZILLON
     [not found]   ` <1381480885-11994-1-git-send-email-b.brezillon-ZNYIgs0QAGpBDgjK7y7TUQ@public.gmane.org>
2013-10-17 15:47     ` Nicolas Ferre
2013-10-11  8:51 ` [PATCH v4 07/17] clk: at91: add PMC master clock Boris BREZILLON
2013-10-17 15:59   ` Nicolas Ferre
2013-10-11  9:44 ` [PATCH v4 09/17] clk: at91: add PMC peripheral clocks Boris BREZILLON
2013-10-17 16:02   ` Nicolas Ferre
     [not found] ` <1381477081-6041-1-git-send-email-b.brezillon-ZNYIgs0QAGpBDgjK7y7TUQ@public.gmane.org>
2013-10-11  8:44   ` [PATCH v4 05/17] clk: at91: add PMC main clock Boris BREZILLON
2013-10-17 15:58     ` Nicolas Ferre
2013-10-11  8:48   ` [PATCH v4 06/17] clk: at91: add PMC pll clocks Boris BREZILLON
2013-10-17 15:59     ` Nicolas Ferre
2013-10-11  9:41   ` [PATCH v4 08/17] clk: at91: add PMC system clocks Boris BREZILLON
     [not found]     ` <1381484501-13420-1-git-send-email-b.brezillon-ZNYIgs0QAGpBDgjK7y7TUQ@public.gmane.org>
2013-10-17 15:59       ` Nicolas Ferre
2013-10-11  9:53   ` [PATCH v4 10/17] clk: at91: add peripheral clk macros for peripheral clk dt bindings Boris BREZILLON
2013-10-17 16:03     ` Nicolas Ferre
2013-10-11  9:57   ` [PATCH v4 11/17] clk: at91: add PMC programmable clocks Boris BREZILLON
2013-10-17 16:08     ` Nicolas Ferre
2013-10-11 11:49   ` [PATCH v4 17/17] ARM: at91: add new compatible strings for pmc driver Boris BREZILLON
2013-10-11 10:22 ` [PATCH v4 12/17] clk: at91: add PMC utmi clock Boris BREZILLON
2013-10-17 16:10   ` Nicolas Ferre
2013-10-11 11:15 ` [PATCH v4 13/17] clk: at91: add PMC usb clock Boris BREZILLON
2013-10-17 16:18   ` Nicolas Ferre
2013-10-11 11:27 ` [PATCH v4 14/17] clk: at91: add PMC smd clock Boris BREZILLON
2013-10-17 16:27   ` Nicolas Ferre
2013-10-17 16:55     ` [PATCH v5 13/17] clk: at91: add PMC usb clock Boris BREZILLON
2013-10-18  7:53       ` Nicolas Ferre
2013-10-11 11:38 ` [PATCH v4 15/17] clk: at91: add PMC clk device tree binding doc Boris BREZILLON
2013-10-17 16:37   ` Nicolas Ferre
2013-10-11 11:46 ` [PATCH v4 16/17] ARM: at91: move pit timer to common clk framework Boris BREZILLON
2013-10-18  8:18 ` [PATCH v4 00/17] ARM: at91: move " Nicolas Ferre
     [not found]   ` <5260EEBC.2090002-AIFe0yeh4nAAvxtiuMwx3w@public.gmane.org>
2013-11-07 23:29     ` Mike Turquette

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