arm, davinci: add PLL0 prediv to da850 lowlevel setup
The OMAP-L138 has a pre-divider available on PLL0. Add support to da850_lowlevel.c for configuring PLL0's pre-divider. This is to achieve certain OPP's -- e.g. the 372MHz OPP used also by Linux. Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca> Cc: Christian Riesch <christian.riesch@omicron.at> CC: Heiko Schocher <hs@denx.de> Cc: Sandeep Paulraj <s-paulraj@ti.com> Cc: Tom Rini <tom.rini@gmail.com> Cc: Albert ARIBAUD <albert.u.boot@aribaud.net> Acked-by: Heiko Schocher <hs@denx.de> Acked-by: Christian Riesch <christian.riesch@omicron.at>
This commit is contained in:
parent
bd29cb05f2
commit
d652a344a0
|
@ -85,6 +85,13 @@ int da850_pll_init(struct davinci_pllc_regs *reg, unsigned long pllmult)
|
|||
/* Enable the PLL from Disable Mode PLLDIS bit to 0 */
|
||||
clrbits_le32(®->pllctl, PLLCTL_PLLDIS);
|
||||
|
||||
#if defined(CONFIG_SYS_DA850_PLL0_PREDIV)
|
||||
/* program the prediv */
|
||||
if (reg == davinci_pllc0_regs && CONFIG_SYS_DA850_PLL0_PREDIV)
|
||||
writel((PLL_DIVEN | CONFIG_SYS_DA850_PLL0_PREDIV),
|
||||
®->prediv);
|
||||
#endif
|
||||
|
||||
/* Program the required multiplier value in PLLM */
|
||||
writel(pllmult, ®->pllm);
|
||||
|
||||
|
|
|
@ -68,7 +68,8 @@ struct dv_pll_regs {
|
|||
#define PLLCTL_RES_9 (1 << 8)
|
||||
#define PLLCTL_EXTCLKSRC (1 << 9)
|
||||
|
||||
#define PLL_POSTDEN (1 << 15)
|
||||
#define PLL_DIVEN (1 << 15)
|
||||
#define PLL_POSTDEN PLL_DIVEN
|
||||
|
||||
#define PLL_SCSCFG3_DIV45PENA (1 << 2)
|
||||
#define PLL_SCSCFG3_EMA_CLKSRC (1 << 1)
|
||||
|
|
Loading…
Reference in New Issue