ARM: omap3: Implement dpll5 (HSUSB clk) workaround for OMAP36xx/AM/DM37xx according...
authorNaumann Andreas <ANaumann@ultratronik.de>
Tue, 9 Jul 2013 07:43:17 +0000 (09:43 +0200)
committerTom Rini <trini@ti.com>
Thu, 15 Aug 2013 13:09:29 +0000 (09:09 -0400)
commita704a6d615179a25f556c99d31cbc4ee366ffb54
treef3711d3ae6ca2da11162de7b10b93c8efec43602
parent802b3c7c1826018530acc8a7b8fe83f11614c937
ARM: omap3: Implement dpll5 (HSUSB clk) workaround for OMAP36xx/AM/DM37xx according to errata sprz318e.

In chapter 'Advisory 2.1 USB Host Clock Drift Causes USB Spec Non-compliance in Certain Configurations' of the TI Errata it is recommended to use certain div/mult values for the DPLL5 clock setup.
So far u-boot used the old 34xx values, so I added the errata recommended values specificly for 36xx init only.
Also, the FSEL registers exist no longer, so removed them from init.

Tested this on a AM3703 board with 19.2MHz oscillator, which previously couldnt lock the dpll5 (kernel complained). As a consequence the EHCI USB port wasnt usable in U-Boot and kernel. With this patch, kernel panics disappear and USB working fine in u-boot and kernel.

Signed-off-by: Andreas Naumann <anaumann@ultratronik.de>
[trini: Add extern to <asm/arch-omap3/clock.h>
Signed-off-by: Tom Rini <trini@ti.com>
arch/arm/cpu/armv7/omap3/clock.c
arch/arm/cpu/armv7/omap3/lowlevel_init.S
arch/arm/include/asm/arch-omap3/clock.h
arch/arm/include/asm/arch-omap3/clocks_omap3.h