]> git.baikalelectronics.ru Git - kernel.git/commit
clk/zynq/clkc: Add 'fclk-enable' feature
authorSoren Brinkmann <soren.brinkmann@xilinx.com>
Wed, 27 Nov 2013 20:16:23 +0000 (12:16 -0800)
committerMichal Simek <michal.simek@xilinx.com>
Fri, 20 Dec 2013 12:23:55 +0000 (13:23 +0100)
commitab69d2de8db6a54273ac190933a1c644abee68c3
treeb2f86681050be4395efc4d5edb51c386d21196cb
parent3eb01a4d202afde3645d8fd2de5e0eefac376e9c
clk/zynq/clkc: Add 'fclk-enable' feature

In some use cases Zynq's FPGA clocks are used as static clock
generators for IP in the FPGA part of the SOC for which no Linux driver
exists and would control those clocks. To avoid automatic
gating of these clocks in such cases a new property - fclk-enable - is
added to the clock controller's DT description to accomodate such use
cases. It's value is a bitmask, where a set bit results in enabling
the corresponding FCLK through the clkc.

FPGA clocks are handled following the rules below:

If an FCLK is not enabled by bootloaders, that FCLK will be disabled in
Linux. Drivers can enable and control it through the CCF as usual.

If an FCLK is enabled by bootloaders AND the corresponding bit in the
'fclk-enable' DT property is set, that FCLK will be enabled by the clkc,
resulting in an off by one reference count for that clock. Ensuring it
will always be running.

Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com>
Acked-by: Michal Simek <michal.simek@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Documentation/devicetree/bindings/clock/zynq-7000.txt
drivers/clk/zynq/clkc.c