diff options
author | Liu Ying <Ying.Liu@freescale.com> | 2015-04-27 18:07:47 +0800 |
---|---|---|
committer | Ye Li <ye.li@nxp.com> | 2017-04-05 14:04:27 +0800 |
commit | 036b71e1cd77ddb1827fd85eb7035fb7eccb7b12 (patch) | |
tree | 55dbd04d95f275a369d0ad7727ae47e53c3bcebd /drivers/video/ipu_disp.c | |
parent | a59c901317e70da111b426db1be77f289eccbcbc (diff) | |
download | u-boot-imx-036b71e1cd77ddb1827fd85eb7035fb7eccb7b12.zip u-boot-imx-036b71e1cd77ddb1827fd85eb7035fb7eccb7b12.tar.gz u-boot-imx-036b71e1cd77ddb1827fd85eb7035fb7eccb7b12.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 615d4c51679a6c2ee0ed4c5e3922eec76646eef1)
(cherry picked from commit 152192507c3bbaba093783d7da32b88327705c63)
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 fdd8024..8b3b82d 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]; @@ -645,6 +645,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; @@ -735,6 +738,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 } } @@ -886,7 +892,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) |