diff options
author | Liu Ying <Ying.Liu@freescale.com> | 2015-04-27 18:07:47 +0800 |
---|---|---|
committer | Peng Fan <Peng.Fan@freescale.com> | 2015-05-07 10:38:00 +0800 |
commit | 615d4c51679a6c2ee0ed4c5e3922eec76646eef1 (patch) | |
tree | f5d07aa37cf78f0382187968f146fcff136cdcbc /drivers/video/ipu_disp.c | |
parent | 3e40c7466ae7d1d6ca74011bfe69ae059d412a3b (diff) | |
download | u-boot-imx-615d4c51679a6c2ee0ed4c5e3922eec76646eef1.zip u-boot-imx-615d4c51679a6c2ee0ed4c5e3922eec76646eef1.tar.gz u-boot-imx-615d4c51679a6c2ee0ed4c5e3922eec76646eef1.tar.bz2 |
MLK-10747-2 video: ipu: Enable/disable LDB_DI clock when necessary
This patch adds enable/disable hooks support for ldb_di[0/1] clocks
and enables/disables them when necessary.
Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
(cherry picked from commit 839a1da941be48baf27c9cb28939cc6b2030424a)
Diffstat (limited to 'drivers/video/ipu_disp.c')
-rw-r--r-- | drivers/video/ipu_disp.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/video/ipu_disp.c b/drivers/video/ipu_disp.c index 3c24863..5a8727f 100644 --- a/drivers/video/ipu_disp.c +++ b/drivers/video/ipu_disp.c @@ -49,7 +49,7 @@ int g_di1_tvout; extern struct clk *g_ipu_clk; #if defined(CONFIG_MX6) || defined(CONFIG_MX53) -extern struct clk *g_ldb_clk; +extern struct clk *g_ldb_clk[2]; #endif extern struct clk *g_di_clk[2]; extern struct clk *g_pixel_clk[2]; @@ -647,6 +647,9 @@ void ipu_dp_dc_enable(ipu_channel_t channel) __raw_writel(reg, DC_WR_CH_CONF(dc_chan)); clk_enable(g_pixel_clk[di]); +#if defined(CONFIG_MX6) || defined(CONFIG_MX53) + clk_enable(g_ldb_clk[di]); +#endif } static unsigned char dc_swap; @@ -737,6 +740,9 @@ void ipu_dp_dc_disable(ipu_channel_t channel, unsigned char swap) /* Clock is already off because it must be done quickly, but we need to fix the ref count */ clk_disable(g_pixel_clk[g_dc_di_assignment[dc_chan]]); +#if defined(CONFIG_MX6) || defined(CONFIG_MX53) + clk_disable(g_ldb_clk[g_dc_di_assignment[dc_chan]]); +#endif } } @@ -888,7 +894,7 @@ int32_t ipu_init_sync_panel(int disp, uint32_t pixel_clk, } } #if defined(CONFIG_MX6) || defined(CONFIG_MX53) - clk_set_parent(g_pixel_clk[disp], g_ldb_clk); + clk_set_parent(g_pixel_clk[disp], g_ldb_clk[disp]); #endif } else { if (clk_get_usecount(g_pixel_clk[disp]) != 0) |