#include "clock.h"
+#define SUBCLK 0x24
+
static DEFINE_SPINLOCK(clocks_lock);
int clk_enable(struct clk *clk)
}
EXPORT_SYMBOL(clk_disable);
-void w90x900_clk_enable(struct clk *clk, int enable)
+unsigned long clk_get_rate(struct clk *clk)
+{
+ return 15000000;
+}
+EXPORT_SYMBOL(clk_get_rate);
+
+void nuc900_clk_enable(struct clk *clk, int enable)
{
unsigned int clocks = clk->cken;
unsigned long clken;
__raw_writel(clken, W90X900_VA_CLKPWR);
}
-void clks_register(struct clk_lookup *clks, size_t num)
+void nuc900_subclk_enable(struct clk *clk, int enable)
{
- int i;
+ unsigned int clocks = clk->cken;
+ unsigned long clken;
+
+ clken = __raw_readl(W90X900_VA_CLKPWR + SUBCLK);
+
+ if (enable)
+ clken |= clocks;
+ else
+ clken &= ~clocks;
- for (i = 0; i < num; i++)
- clkdev_add(&clks[i]);
+ __raw_writel(clken, W90X900_VA_CLKPWR + SUBCLK);
}