diff options
author | Andrew Bresticker <abrestic@chromium.org> | 2015-02-25 06:56:07 +0300 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2015-03-31 12:59:31 +0300 |
commit | a47eb351d2bd17cdf01de070f13cb12f6be4a0c5 (patch) | |
tree | f314573b31bbcbdbc27b8ab66ad8a1f21467f5c9 /drivers/clk/pistachio | |
parent | 8cb94af684ecfea38e8c9ff8d8519ff751a66968 (diff) | |
download | linux-a47eb351d2bd17cdf01de070f13cb12f6be4a0c5.tar.xz |
CLK: Pistachio: Register external clock gates
Register the clock gates for the external audio and ethernet
reference clocks provided by the top-level general control block.
Signed-off-by: Damien Horsley <Damien.Horsley@imgtec.com>
Signed-off-by: Andrew Bresticker <abrestic@chromium.org>
Cc: Mike Turquette <mturquette@linaro.org>
Cc: Stephen Boyd <sboyd@codeaurora.org>
Cc: devicetree@vger.kernel.org
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Cc: Ezequiel Garcia <ezequiel.garcia@imgtec.com>
Cc: James Hartley <james.hartley@imgtec.com>
Cc: James Hogan <james.hogan@imgtec.com>
Acked-by: Stephen Boyd <sboyd@codeaurora.org>
Patchwork: https://patchwork.linux-mips.org/patch/9321/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'drivers/clk/pistachio')
-rw-r--r-- | drivers/clk/pistachio/clk-pistachio.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/drivers/clk/pistachio/clk-pistachio.c b/drivers/clk/pistachio/clk-pistachio.c index 3351808ea42a..8c0fe8828f99 100644 --- a/drivers/clk/pistachio/clk-pistachio.c +++ b/drivers/clk/pistachio/clk-pistachio.c @@ -306,3 +306,24 @@ static void __init pistachio_cr_periph_init(struct device_node *np) } CLK_OF_DECLARE(pistachio_cr_periph, "img,pistachio-cr-periph", pistachio_cr_periph_init); + +static struct pistachio_gate pistachio_ext_gates[] __initdata = { + GATE(EXT_CLK_ENET_IN, "enet_clk_in_gate", "enet_clk_in", 0x58, 5), + GATE(EXT_CLK_AUDIO_IN, "audio_clk_in_gate", "audio_clk_in", 0x58, 8) +}; + +static void __init pistachio_cr_top_init(struct device_node *np) +{ + struct pistachio_clk_provider *p; + + p = pistachio_clk_alloc_provider(np, EXT_CLK_NR_CLKS); + if (!p) + return; + + pistachio_clk_register_gate(p, pistachio_ext_gates, + ARRAY_SIZE(pistachio_ext_gates)); + + pistachio_clk_register_provider(p); +} +CLK_OF_DECLARE(pistachio_cr_top, "img,pistachio-cr-top", + pistachio_cr_top_init); |