2014-01-13 20:11:45 +08:00
|
|
|
From f0df10fb498c21bbb201bc81dd209ea646b5a311 Mon Sep 17 00:00:00 2001
|
|
|
|
From: Jonas Gorski <jogo@openwrt.org>
|
2013-07-20 19:30:26 +08:00
|
|
|
Date: Sat, 12 Nov 2011 12:19:09 +0100
|
2014-01-13 20:11:45 +08:00
|
|
|
Subject: [PATCH 1/5] MIPS: BCM63XX: expose the HSSPI clock
|
2013-07-20 19:30:26 +08:00
|
|
|
|
2014-01-13 20:11:45 +08:00
|
|
|
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
2013-07-20 19:30:26 +08:00
|
|
|
---
|
2014-01-13 20:11:45 +08:00
|
|
|
arch/mips/bcm63xx/clk.c | 24 ++++++++++++++++++++++++
|
|
|
|
1 file changed, 24 insertions(+)
|
2013-07-20 19:30:26 +08:00
|
|
|
|
|
|
|
--- a/arch/mips/bcm63xx/clk.c
|
|
|
|
+++ b/arch/mips/bcm63xx/clk.c
|
2014-01-13 20:11:45 +08:00
|
|
|
@@ -226,6 +226,28 @@ static struct clk clk_spi = {
|
2013-07-20 19:30:26 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
/*
|
2014-01-13 20:11:45 +08:00
|
|
|
+ * HSSPI clock
|
2013-07-20 19:30:26 +08:00
|
|
|
+ */
|
|
|
|
+static void hsspi_set(struct clk *clk, int enable)
|
|
|
|
+{
|
|
|
|
+ u32 mask;
|
|
|
|
+
|
|
|
|
+ if (BCMCPU_IS_6328())
|
|
|
|
+ mask = CKCTL_6328_HSSPI_EN;
|
2014-01-13 20:11:45 +08:00
|
|
|
+ else if (BCMCPU_IS_6362())
|
|
|
|
+ mask = CKCTL_6362_HSSPI_EN;
|
2013-07-20 19:30:26 +08:00
|
|
|
+ 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)
|
2014-01-13 20:11:45 +08:00
|
|
|
@@ -334,6 +356,8 @@ struct clk *clk_get(struct device *dev,
|
2013-07-20 19:30:26 +08:00
|
|
|
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"))
|