[U-Boot] omap3 usb boot

Hi Tom
I have managed to boot dm3730 on usb (first stage), but looking at the code I have some comment
in arch/arm/cpu/armv7/omap3/clock.c
#ifdef CONFIG_SYS_NS16550 /* Enable UART1 clocks */ sr32(&prcm_base->fclken1_core, 13, 1, 0x1); sr32(&prcm_base->iclken1_core, 13, 1, 0x1);
/* UART 3 Clocks */ sr32(&prcm_base->fclken_per, 11, 1, 0x1); sr32(&prcm_base->iclken_per, 11, 1, 0x1);
You enable clock for two uarts without take in account the real console uart of the device. Then some lines after
sr32(&prcm_base->fclken_per, 0, 32, FCK_PER_ON); sr32(&prcm_base->iclken_per, 0, 32, ICK_PER_ON);
That just reset all the clock using the PER_ON mask so what is done before doesn't make sense anymore.
Michael

On Fri, Oct 11, 2013 at 11:15:25AM +0200, Michael Trimarchi wrote:
Hi Tom
I have managed to boot dm3730 on usb (first stage), but looking at the code I have some comment
in arch/arm/cpu/armv7/omap3/clock.c
#ifdef CONFIG_SYS_NS16550 /* Enable UART1 clocks */ sr32(&prcm_base->fclken1_core, 13, 1, 0x1); sr32(&prcm_base->iclken1_core, 13, 1, 0x1);
/* UART 3 Clocks */ sr32(&prcm_base->fclken_per, 11, 1, 0x1); sr32(&prcm_base->iclken_per, 11, 1, 0x1);
You enable clock for two uarts without take in account the real console uart of the device. Then some lines after
sr32(&prcm_base->fclken_per, 0, 32, FCK_PER_ON); sr32(&prcm_base->iclken_per, 0, 32, ICK_PER_ON);
That just reset all the clock using the PER_ON mask so what is done before doesn't make sense anymore.
Yes, a lot of that code hasn't been heavily reviewed in a long while. Patches to clean things up happily reviewed.
participants (2)
-
Michael Trimarchi
-
Tom Rini