linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/7] clk: bcm: prerequisite and bus clock support
@ 2014-05-30 20:53 Alex Elder
  2014-05-30 20:53 ` [PATCH v4 1/7] clk: kona: allow nested ccu_write_enable() requests Alex Elder
                   ` (6 more replies)
  0 siblings, 7 replies; 13+ messages in thread
From: Alex Elder @ 2014-05-30 20:53 UTC (permalink / raw)
  To: mturquette, mporter, bcm; +Cc: linux-arm-kernel, linux-kernel

Currently only peripheral clocks are supported for Broadcom platforms
that use Kona style CCUs for clocking.  This series adds support for
bus clocks as well.

One motivation for doing this is that there exist peripheral clocks
that cannot be configured without having first enabled a related bus
clock.  Adding bus clock support allows such peripheral clocks to be
usable.

This also imposes a new requirement, however--that the bus clock be
enabled *before* operating on the clock that depends on it.  For
this, we define the notion of a "prerequisite" clock.  If a clock
has a prerequisite specified, that prequisite clock will be prepared
and enabled at the beginning  of the dependent clock's ->prepare
method.  The prerequisite clock is similarly disabled and unprepared
at the end of the dependent clock's ->unprepare method.

These patches are based on Mike Turquette's current "clk-next"
branch.
    9ec2749 clk: qcom: Return error pointers for unimplemented clocks

They are available here:
    http://git.linaro.org/landing-teams/working/broadcom/kernel.git
    Branch review/bcm-bus-clk-v4

					-Alex

Version history:
v4  - Remove boot-time initialization of clocks, opting instead to
      do this work when needed, via clock ->prepare method.
    - Prerequisite clocks are now prepared and enabled as
      in a dependent clock's ->prepare method.
    - Use __clk_lookup() to get the prerequisite clock pointer.
    - ccu_write_enable() calls can now be nested
v3: - Deleted clk_lookup field from struct kona_clk.
    - Now use term "initialized" rather than "enabled".
v2: - Added field "p" to the previously unnamed prereq union.

Alex Elder (7):
  clk: kona: allow nested ccu_write_enable() requests
  clk: kona: move some code
  clk: kona: don't init clocks at startup time
  clk: bcm281xx: implement prerequisite clocks
  clk: bcm281xx: add bus clock support
  clk: bcm281xx: define a bus clock
  ARM: dts: add bus clock bsc3_apb for bcm281xx

 arch/arm/boot/dts/bcm11351.dtsi      |   3 +-
 drivers/clk/bcm/clk-bcm281xx.c       |  13 +-
 drivers/clk/bcm/clk-kona-setup.c     | 123 ++++++++++++-
 drivers/clk/bcm/clk-kona.c           | 325 ++++++++++++++++++++++++-----------
 drivers/clk/bcm/clk-kona.h           |  31 +++-
 include/dt-bindings/clock/bcm281xx.h |   3 +-
 6 files changed, 387 insertions(+), 111 deletions(-)

-- 
1.9.1


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

end of thread, other threads:[~2014-06-02 21:06 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-05-30 20:53 [PATCH v4 0/7] clk: bcm: prerequisite and bus clock support Alex Elder
2014-05-30 20:53 ` [PATCH v4 1/7] clk: kona: allow nested ccu_write_enable() requests Alex Elder
2014-05-30 23:28   ` Mike Turquette
2014-05-31  3:46     ` Alex Elder
2014-06-02 21:05       ` Mike Turquette
2014-05-30 20:53 ` [PATCH v4 2/7] clk: kona: move some code Alex Elder
2014-05-30 20:53 ` [PATCH v4 3/7] clk: kona: don't init clocks at startup time Alex Elder
2014-05-30 23:37   ` Mike Turquette
2014-05-31  3:47     ` Alex Elder
2014-05-30 20:53 ` [PATCH v4 4/7] clk: bcm281xx: implement prerequisite clocks Alex Elder
2014-05-30 20:53 ` [PATCH v4 5/7] clk: bcm281xx: add bus clock support Alex Elder
2014-05-30 20:53 ` [PATCH v4 6/7] clk: bcm281xx: define a bus clock Alex Elder
2014-05-30 20:53 ` [PATCH v4 7/7] ARM: dts: add bus clock bsc3_apb for bcm281xx Alex Elder

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