linux/drivers/clk/bcm
Eric Anholt 41691b8862 clk: bcm2835: Add support for programming the audio domain clocks
This adds support for enabling, disabling, and setting the rate of the
audio domain clocks.  It will be necessary for setting the pixel clock
for HDMI in the VC4 driver and let us write a cpufreq driver.  It will
also improve compatibility with user changes to the firmware's
config.txt, since our previous fixed clocks are unaware of it.

The firmware also has support for configuring the clocks through the
mailbox channel, but the pixel clock setup by the firmware doesn't
work, and it's Raspberry Pi specific anyway.  The only conflicts we
should have with the firmware would be if we made firmware calls that
result in clock management (like opening firmware V3D or ISP access,
which we don't support in upstream), or on hardware over-thermal or
under-voltage (when the firmware would rewrite PLLB to take the ARM
out of overclock).  If that happens, our cached .recalc_rate() results
would be incorrect, but that's no worse than our current state where
we used fixed clocks.

The existing fixed clocks in the code are left in place to provide
backwards compatibility with old device tree files.

Signed-off-by: Eric Anholt <eric@anholt.net>
Tested-by: Martin Sperl <kernel@martin.sperl.org>
Acked-by: Stephen Warren <swarren@wwwdotorg.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2015-10-12 11:32:02 -07:00
..
clk-bcm281xx.c clk: bcm281xx: move compatible string definitions 2014-04-30 11:51:39 -07:00
clk-bcm2835.c clk: bcm2835: Add support for programming the audio domain clocks 2015-10-12 11:32:02 -07:00
clk-bcm21664.c clk: bcm21664: use common clock framework 2014-04-30 11:51:44 -07:00
clk-cygnus.c clk: cygnus: add clock support for Broadcom Cygnus 2015-06-18 12:36:39 -07:00
clk-iproc-armpll.c clk: iproc: add initial common clock support 2015-06-18 12:36:38 -07:00
clk-iproc-asiu.c clk: iproc: fix memory leak from clock name 2015-07-02 09:50:26 -07:00
clk-iproc-pll.c clk: iproc: fix bit manipulation arithmetic 2015-07-02 09:51:09 -07:00
clk-iproc.h clk: iproc: add initial common clock support 2015-06-18 12:36:38 -07:00
clk-kona-setup.c clk: bcm/kona: Remove ccu_list 2015-05-14 17:11:20 -07:00
clk-kona.c clk: bcm: Convert to clk_hw based provider APIs 2015-08-24 16:48:48 -07:00
clk-kona.h clk: bcm/kona: Remove ccu_list 2015-05-14 17:11:20 -07:00
Kconfig clk: iproc: add initial common clock support 2015-06-18 12:36:38 -07:00
Makefile clk: bcm2835: Move under bcm/ with other Broadcom SoC clk drivers. 2015-10-01 17:12:03 -07:00