This patch adds the real "camif" clock (off HCLK.)

Signed-off-by: Werner Almesberger <wer...@openmoko.org>

--- 

Index: cam/arch/arm/plat-s3c64xx/s3c6400-clock.c
===================================================================
--- cam.orig/arch/arm/plat-s3c64xx/s3c6400-clock.c      2009-03-11 
17:22:16.000000000 +0800
+++ cam/arch/arm/plat-s3c64xx/s3c6400-clock.c   2009-03-11 17:57:11.000000000 
+0800
@@ -622,6 +622,28 @@
        .reg_divider    = S3C_CLK_DIV0,
 };
 
+static struct clk *clkset_camif_list[] = {
+       &clk_h,
+};
+
+static struct clk_sources clkset_camif = {
+       .sources        = clkset_camif_list,
+       .nr_sources     = ARRAY_SIZE(clkset_camif_list),
+};
+
+static struct clksrc_clk clk_camif = {
+       .clk    = {
+               .name           = "camif",
+               .id             = -1,
+               .ctrlbit        = S3C_CLKCON_HCLK_CAMIF,
+               .enable         = s3c64xx_hclk_ctrl,
+               .set_parent     = s3c64xx_setparent_clksrc,
+       },
+       .shift          = 0,
+       .mask           = 0,
+       .sources        = &clkset_camif,
+};
+
 /* Clock initialisation code */
 
 static struct clksrc_clk *init_parents[] = {
@@ -639,6 +661,7 @@
        &clk_audio1,
        &clk_irda,
        &clk_camif,
+       &clk_camera,
 };
 
 static void __init_or_cpufreq s3c6400_set_clksrc(struct clksrc_clk *clk)
@@ -740,6 +763,7 @@
        &clk_audio1.clk,
        &clk_irda.clk,
        &clk_camera.clk,
+       &clk_camif.clk,
        &clk_arm,
 };
 
Index: cam/arch/arm/plat-s3c/include/plat/clock.h
===================================================================
--- cam.orig/arch/arm/plat-s3c/include/plat/clock.h     2009-03-11 
17:21:59.000000000 +0800
+++ cam/arch/arm/plat-s3c/include/plat/clock.h  2009-03-11 17:22:44.000000000 
+0800
@@ -81,6 +81,7 @@
 
 /* S3C64XX specific functions and clocks */
 
+extern int s3c64xx_hclk_ctrl(struct clk *clk, int enable);
 extern int s3c64xx_sclk_ctrl(struct clk *clk, int enable);
 
 /* Init for pwm clock code */
Index: cam/arch/arm/plat-s3c64xx/clock.c
===================================================================
--- cam.orig/arch/arm/plat-s3c64xx/clock.c      2009-03-11 17:21:59.000000000 
+0800
+++ cam/arch/arm/plat-s3c64xx/clock.c   2009-03-11 17:22:44.000000000 +0800
@@ -89,7 +89,7 @@
        return s3c64xx_gate(S3C_PCLK_GATE, clk, enable);
 }
 
-static int s3c64xx_hclk_ctrl(struct clk *clk, int enable)
+int s3c64xx_hclk_ctrl(struct clk *clk, int enable)
 {
        return s3c64xx_gate(S3C_HCLK_GATE, clk, enable);
 }

-- 

Reply via email to