diff options
author | Jonas Gorski <jogo@openwrt.org> | 2013-11-30 11:42:02 (GMT) |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2014-01-22 19:18:49 (GMT) |
commit | 0ebe8aaefade244b224d65d1c83addea21dce4c3 (patch) | |
tree | 87729b7b15b79c18bdd7040677a038ee2479e9e3 /arch/mips/bcm63xx | |
parent | 597ce1723e0fa0bdbe2ae4c94f18da6e29b92635 (diff) | |
download | linux-0ebe8aaefade244b224d65d1c83addea21dce4c3.tar.xz |
MIPS: BCM63XX: expose the HSSPI clock
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
Signed-off-by: John Crispin <blogic@openwrt.org>
Patchwork: http://patchwork.linux-mips.org/patch/6178/
Diffstat (limited to 'arch/mips/bcm63xx')
-rw-r--r-- | arch/mips/bcm63xx/clk.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/arch/mips/bcm63xx/clk.c b/arch/mips/bcm63xx/clk.c index 43da4ae..37a621a 100644 --- a/arch/mips/bcm63xx/clk.c +++ b/arch/mips/bcm63xx/clk.c @@ -226,6 +226,28 @@ static struct clk clk_spi = { }; /* + * HSSPI clock + */ +static void hsspi_set(struct clk *clk, int enable) +{ + u32 mask; + + if (BCMCPU_IS_6328()) + mask = CKCTL_6328_HSSPI_EN; + else if (BCMCPU_IS_6362()) + mask = CKCTL_6362_HSSPI_EN; + else + return; + + bcm_hwclock_set(mask, enable); +} + +static struct clk clk_hsspi = { + .set = hsspi_set, +}; + + +/* * XTM clock */ static void xtm_set(struct clk *clk, int enable) @@ -346,6 +368,8 @@ struct clk *clk_get(struct device *dev, const char *id) return &clk_usbd; if (!strcmp(id, "spi")) return &clk_spi; + if (!strcmp(id, "hsspi")) + return &clk_hsspi; if (!strcmp(id, "xtm")) return &clk_xtm; if (!strcmp(id, "periph")) |