summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorJonas Gorski <jogo@openwrt.org>2013-11-30 15:42:02 +0400
committerRalf Baechle <ralf@linux-mips.org>2014-01-22 23:18:49 +0400
commit0ebe8aaefade244b224d65d1c83addea21dce4c3 (patch)
tree87729b7b15b79c18bdd7040677a038ee2479e9e3 /arch
parent597ce1723e0fa0bdbe2ae4c94f18da6e29b92635 (diff)
downloadlinux-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')
-rw-r--r--arch/mips/bcm63xx/clk.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/arch/mips/bcm63xx/clk.c b/arch/mips/bcm63xx/clk.c
index 43da4ae04cc2..37a621a634ee 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"))