diff mbox

[U-Boot,8/9] ipu_common: Add ldb_clk for use in parenting the pixel clock

Message ID 1338485043-21666-8-git-send-email-fabio.estevam@freescale.com
State Accepted
Commit cf65d478ab4e0bb0247c374e6b0b40ef77eddbe8
Delegated to: Anatolij Gustschin
Headers show

Commit Message

Fabio Estevam May 31, 2012, 5:24 p.m. UTC
From: Eric Nelson <eric.nelson@boundarydevices.com>

Add ldb_clk for use in parenting the pixel clock.

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
---
 drivers/video/ipu_common.c |   12 ++++++++++--
 drivers/video/ipu_disp.c   |    3 ++-
 2 files changed, 12 insertions(+), 3 deletions(-)

Comments

Anatolij Gustschin June 22, 2012, 11:39 a.m. UTC | #1
Hi,

On Thu, 31 May 2012 14:24:02 -0300
Fabio Estevam <fabio.estevam@freescale.com> wrote:

> From: Eric Nelson <eric.nelson@boundarydevices.com>
> 
> Add ldb_clk for use in parenting the pixel clock.
> 
> Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
> ---
>  drivers/video/ipu_common.c |   12 ++++++++++--
>  drivers/video/ipu_disp.c   |    3 ++-
>  2 files changed, 12 insertions(+), 3 deletions(-)

Applied to u-boot-video/next, thanks!

Anatolij
diff mbox

Patch

diff --git a/drivers/video/ipu_common.c b/drivers/video/ipu_common.c
index 47d8232..706fddc 100644
--- a/drivers/video/ipu_common.c
+++ b/drivers/video/ipu_common.c
@@ -219,8 +219,15 @@  static struct clk ipu_clk = {
 	.usecount = 0,
 };
 
+static struct clk ldb_clk = {
+	.name = "ldb_clk",
+	.rate = 65000000,
+	.usecount = 0,
+};
+
 /* Globals */
 struct clk *g_ipu_clk;
+struct clk *g_ldb_clk;
 unsigned char g_ipu_clk_enabled;
 struct clk *g_di_clk[2];
 struct clk *g_pixel_clk[2];
@@ -343,7 +350,7 @@  static int ipu_pixel_clk_set_parent(struct clk *clk, struct clk *parent)
 
 	if (parent == g_ipu_clk)
 		di_gen &= ~DI_GEN_DI_CLK_EXT;
-	else if (!IS_ERR(g_di_clk[clk->id]) && parent == g_di_clk[clk->id])
+	else if (!IS_ERR(g_di_clk[clk->id]) && parent == g_ldb_clk)
 		di_gen |= DI_GEN_DI_CLK_EXT;
 	else
 		return -EINVAL;
@@ -429,7 +436,8 @@  int ipu_probe(void)
 
 	g_ipu_clk = &ipu_clk;
 	debug("ipu_clk = %u\n", clk_get_rate(g_ipu_clk));
-
+	g_ldb_clk = &ldb_clk;
+	debug("ldb_clk = %u\n", clk_get_rate(g_ldb_clk));
 	ipu_reset();
 
 	clk_set_parent(g_pixel_clk[0], g_ipu_clk);
diff --git a/drivers/video/ipu_disp.c b/drivers/video/ipu_disp.c
index fa8fb2c..b4116df 100644
--- a/drivers/video/ipu_disp.c
+++ b/drivers/video/ipu_disp.c
@@ -64,6 +64,7 @@  static int dmfc_size_28, dmfc_size_29, dmfc_size_24, dmfc_size_27, dmfc_size_23;
 int g_di1_tvout;
 
 extern struct clk *g_ipu_clk;
+extern struct clk *g_ldb_clk;
 extern struct clk *g_di_clk[2];
 extern struct clk *g_pixel_clk[2];
 
@@ -941,7 +942,7 @@  int32_t ipu_init_sync_panel(int disp, uint32_t pixel_clk,
 				udelay(10000);
 			}
 		}
-		clk_set_parent(g_pixel_clk[disp], g_di_clk[disp]);
+		clk_set_parent(g_pixel_clk[disp], g_ldb_clk);
 	} else {
 		if (clk_get_usecount(g_pixel_clk[disp]) != 0)
 			clk_set_parent(g_pixel_clk[disp], g_ipu_clk);