powerpc/512x: add clock structure for Video-IN (VIU) unit
authorAnatolij Gustschin <agust@denx.de>
Fri, 23 Jul 2010 03:50:18 +0000 (03:50 +0000)
committerGrant Likely <grant.likely@secretlab.ca>
Sun, 1 Aug 2010 23:06:44 +0000 (17:06 -0600)
Allows using clk_get()/clk_enable()/clk_disable() for VIU
clock in the v4l2 video driver.

Signed-off-by: Hongjun Chen <hong-jun.chen@freescale.com>
Signed-off-by: Anatolij Gustschin <agust@denx.de>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
arch/powerpc/platforms/512x/clock.c

index 4c42246..e1c5cd6 100644 (file)
@@ -292,6 +292,15 @@ static void diu_clk_calc(struct clk *clk)
        clk->rate = rate;
 }
 
+static void viu_clk_calc(struct clk *clk)
+{
+       unsigned long rate;
+
+       rate = sys_clk.rate;
+       rate /= 2;
+       clk->rate = rate;
+}
+
 static void half_clk_calc(struct clk *clk)
 {
        clk->rate = clk->parent->rate / 2;
@@ -412,6 +421,14 @@ static struct clk diu_clk = {
        .calc = diu_clk_calc,
 };
 
+static struct clk viu_clk = {
+       .name = "viu_clk",
+       .flags = CLK_HAS_CTRL,
+       .reg = 1,
+       .bit = 18,
+       .calc = viu_clk_calc,
+};
+
 static struct clk axe_clk = {
        .name = "axe_clk",
        .flags = CLK_HAS_CTRL,
@@ -535,6 +552,7 @@ struct clk *rate_clks[] = {
        &ref_clk,
        &sys_clk,
        &diu_clk,
+       &viu_clk,
        &csb_clk,
        &e300_clk,
        &ips_clk,