|
@@ -225,6 +225,28 @@ static struct clk clk_spi = {
|
|
|
.set = spi_set,
|
|
|
};
|
|
|
|
|
|
+/*
|
|
|
+ * 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
|
|
|
*/
|
|
@@ -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"))
|