From: elder@linaro.org (Alex Elder)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v5 0/7] clk: bcm: prerequisite and bus clock support
Date: Mon, 2 Jun 2014 17:44:51 -0500 [thread overview]
Message-ID: <1401749098-10185-1-git-send-email-elder@linaro.org> (raw)
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-v5
-Alex
Version history:
v5 - All clocks get initialized the first time they are prepared.
- A per-clock flag now avoids doing initialization more than once.
- Prerequisite clocks get prepared and enabled in a dependent
clock's prepare routine, *before* preparing the dependent.
- No longer require nestable CCU write enable requests.
- Dropped requirement that clock and prerequisite share CCU.
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 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: move some code
clk: kona: don't init clocks at startup time
clk: bcm281xx: add an initialized flag
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 | 99 ++++++++++-
drivers/clk/bcm/clk-kona.c | 310 +++++++++++++++++++++++++----------
drivers/clk/bcm/clk-kona.h | 36 +++-
include/dt-bindings/clock/bcm281xx.h | 3 +-
6 files changed, 364 insertions(+), 100 deletions(-)
--
1.9.1
next reply other threads:[~2014-06-02 22:44 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-02 22:44 Alex Elder [this message]
2014-06-02 22:44 ` [PATCH v5 1/7] clk: kona: move some code Alex Elder
2014-06-02 22:44 ` [PATCH v5 2/7] clk: kona: don't init clocks at startup time Alex Elder
2014-06-02 22:44 ` [PATCH v5 3/7] clk: bcm281xx: add an initialized flag Alex Elder
2014-06-02 22:44 ` [PATCH v5 4/7] clk: bcm281xx: implement prerequisite clocks Alex Elder
2014-06-02 22:44 ` [PATCH v5 5/7] clk: bcm281xx: add bus clock support Alex Elder
2014-06-02 22:44 ` [PATCH v5 6/7] clk: bcm281xx: define a bus clock Alex Elder
2014-06-02 22:44 ` [PATCH v5 7/7] ARM: dts: add bus clock bsc3_apb for bcm281xx Alex Elder
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1401749098-10185-1-git-send-email-elder@linaro.org \
--to=elder@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).