Message ID | 1305973002-28352-1-git-send-email-ricardo.salveti@linaro.org |
---|---|
State | Superseded |
Headers | show |
Menon, Nishanth wrote: > On Sat, May 21, 2011 at 05:16, Ricardo Salveti de Araujo <ricardo.salveti@linaro.org> wrote: > > Add support for correctly configuring the fref_clkout depending on the > > board revision of the pandaboard. This patch is necessary to make u-boot > > work with the smsc usb+ethernet driver. > > > > Based on patch from David Anders <x0132446@ti.com> from > > omap4_panda_L24.9 branch at gitorious.org/pandaboard x-loader tree. > > > > Signed-off-by: Ricardo Salveti de Araujo <ricardo.salveti@linaro.org> > > --- > > board/omap4430panda/omap4430panda.c | 30 ++++++++++++++++++++++++++---- > > 1 files changed, 26 insertions(+), 4 deletions(-) ... > Thanks for finding it and sending the patch. I like everything about > this patch except for hardcoded 0x4A30a110 -> given that OMAP4460 > silicon is also in the near future, debugging code should not involve > looking up register values in TRM. we probably have quiet a few of > them already there, (certain authors have a penchant for hardcoded > values instead of adding a couple of #defines...), but lets try not to > add anymore? I'll wait for an updated version, then apply it and bump up the x-loader revision. - Anand
diff --git a/board/omap4430panda/omap4430panda.c b/board/omap4430panda/omap4430panda.c index 962820b..c76ad17 100644 --- a/board/omap4430panda/omap4430panda.c +++ b/board/omap4430panda/omap4430panda.c @@ -531,6 +531,7 @@ static void ddr_init(void) *****************************************/ int board_init(void) { + unsigned int rev = omap_revision(); unsigned int v; /* @@ -546,10 +547,31 @@ int board_init(void) v = __raw_readl(OMAP44XX_GPIO_BASE2 + __GPIO_DATAOUT); __raw_writel((v & ~(1 << 30)), OMAP44XX_GPIO_BASE2 + __GPIO_DATAOUT); - /* kill USB PLL */ - - v = __raw_readl(CM_CLKMODE_DPLL_USB); - __raw_writel((v & ~7) | 1, CM_CLKMODE_DPLL_USB); + if (rev != OMAP4430_ES1_0) { + if (__raw_readl(0x4805D138) & (1<<22)) { + /* enable software ioreq */ + sr32(0x4A30a31C, 8, 1, 0x1); + /* set for sys_clk (38.4MHz) */ + sr32(0x4A30a31C, 1, 2, 0x0); + /* set divisor to 2 */ + sr32(0x4A30a31C, 16, 4, 0x1); + /* set the clock source to active */ + sr32(0x4A30a110, 0, 1, 0x1); + /* enable clocks */ + sr32(0x4A30a110, 2, 2, 0x3); + } else { + /* enable software ioreq */ + sr32(0x4A30a314, 8, 1, 0x1); + /* set for PER_DPLL */ + sr32(0x4A30a314, 1, 2, 0x2); + /* set divisor to 16 */ + sr32(0x4A30a314, 16, 4, 0xf); + /* set the clock source to active */ + sr32(0x4A30a110, 0, 1, 0x1); + /* enable clocks */ + sr32(0x4A30a110, 2, 2, 0x3); + } + } return 0; }
Add support for correctly configuring the fref_clkout depending on the board revision of the pandaboard. This patch is necessary to make u-boot work with the smsc usb+ethernet driver. Based on patch from David Anders <x0132446@ti.com> from omap4_panda_L24.9 branch at gitorious.org/pandaboard x-loader tree. Signed-off-by: Ricardo Salveti de Araujo <ricardo.salveti@linaro.org> --- board/omap4430panda/omap4430panda.c | 30 ++++++++++++++++++++++++++---- 1 files changed, 26 insertions(+), 4 deletions(-)