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:
Brian Ruley
2026-06-26 23:02:46 -03:00
committed by Fabio Estevam
parent 73394a3cdc
commit e3c70d44ff
5 changed files with 7 additions and 7 deletions
+1 -1
View File
@@ -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[]);
+3 -3
View File
@@ -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 */
+1 -1
View File
@@ -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();
/*
+1 -1
View File
@@ -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;
}
+1 -1
View File
@@ -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;
}