imx6: clock: allow different clock sources for ldb
The LDB clock sources don't have to be the same, so allow DI1 clock to be configured separately. Unlikely to be significant, but the reason will become apparent in the following commit. Signed-off-by: Brian Ruley <brian.ruley@gehealthcare.com>
This commit is contained in:
committed by
Fabio Estevam
parent
73394a3cdc
commit
e3c70d44ff
@@ -82,7 +82,7 @@ int enable_lcdif_clock(u32 base_addr, bool enable);
|
||||
void enable_qspi_clk(int qspi_num);
|
||||
void enable_thermal_clk(void);
|
||||
void mxs_set_lcdclk(u32 base_addr, u32 freq);
|
||||
void select_ldb_di_clock_source(enum ldb_di_clock clk);
|
||||
void select_ldb_di_clock_source(enum ldb_di_clock clk0, enum ldb_di_clock clk1);
|
||||
void enable_eim_clk(unsigned char enable);
|
||||
int do_mx6_showclocks(struct cmd_tbl *cmdtp, int flag, int argc,
|
||||
char *const argv[]);
|
||||
|
||||
@@ -1452,7 +1452,7 @@ static void enable_ldb_di_clock_sources(void)
|
||||
* Try call this function as early in the boot process as possible since the
|
||||
* function temporarily disables PLL2 PFD's, PLL3 PFD's and PLL5.
|
||||
*/
|
||||
void select_ldb_di_clock_source(enum ldb_di_clock clk)
|
||||
void select_ldb_di_clock_source(enum ldb_di_clock clk0, enum ldb_di_clock clk1)
|
||||
{
|
||||
struct mxc_ccm_reg *mxc_ccm = (struct mxc_ccm_reg *)CCM_BASE_ADDR;
|
||||
int reg;
|
||||
@@ -1525,8 +1525,8 @@ void select_ldb_di_clock_source(enum ldb_di_clock clk)
|
||||
reg = readl(&mxc_ccm->cs2cdr);
|
||||
reg &= ~(MXC_CCM_CS2CDR_LDB_DI1_CLK_SEL_MASK
|
||||
| MXC_CCM_CS2CDR_LDB_DI0_CLK_SEL_MASK);
|
||||
reg |= ((clk << MXC_CCM_CS2CDR_LDB_DI1_CLK_SEL_OFFSET)
|
||||
| (clk << MXC_CCM_CS2CDR_LDB_DI0_CLK_SEL_OFFSET));
|
||||
reg |= ((clk0 << MXC_CCM_CS2CDR_LDB_DI0_CLK_SEL_OFFSET)
|
||||
| (clk1 << MXC_CCM_CS2CDR_LDB_DI1_CLK_SEL_OFFSET));
|
||||
writel(reg, &mxc_ccm->cs2cdr);
|
||||
|
||||
/* Unbypass pll3_sw_clk */
|
||||
|
||||
@@ -218,7 +218,7 @@ static void set_gpr_register(void)
|
||||
|
||||
int board_early_init_f(void)
|
||||
{
|
||||
select_ldb_di_clock_source(MXC_PLL5_CLK);
|
||||
select_ldb_di_clock_source(MXC_PLL5_CLK, MXC_PLL5_CLK);
|
||||
set_gpr_register();
|
||||
|
||||
/*
|
||||
|
||||
@@ -320,7 +320,7 @@ int overwrite_console(void)
|
||||
|
||||
int board_early_init_f(void)
|
||||
{
|
||||
select_ldb_di_clock_source(MXC_PLL5_CLK);
|
||||
select_ldb_di_clock_source(MXC_PLL5_CLK, MXC_PLL5_CLK);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -383,7 +383,7 @@ int board_early_init_f(void)
|
||||
|
||||
#if defined(CONFIG_VIDEO_IPUV3)
|
||||
/* Set LDB clock to Video PLL */
|
||||
select_ldb_di_clock_source(MXC_PLL5_CLK);
|
||||
select_ldb_di_clock_source(MXC_PLL5_CLK, MXC_PLL5_CLK);
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user