1
linux/arch/arm/mach-omap2
Anand Gadiyar 25499d9353 OMAP3: wait on IDLEST after enabling USBTLL fclk
We need to wait on the IDLEST bit after the clocks are enabled
before attempting to access any register.

Currently, the USBTLL i-clock ops uses the clkops_omap2_dflt_wait,
while the USBTLL f-clock ops uses clkops_omap2_dflt. If the
i-clock is enabled first, the clkops_omap2_dflt_wait is
short-circuited as the companion f-clock is not enabled.
This can cause a data abort if the IDLEST has not transitioned,
and we try to access a USBTLL register.

Since the USBTLL i-clock and f-clock could be enabled in any order,
this is a bug. Fix it by changing the clkops for the f-clock.

Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
2010-07-26 16:34:27 -06:00
..
include/mach
board-2430sdp.c
board-3430sdp.c
board-3630sdp.c
board-4430sdp.c
board-am3517evm.c
board-apollon.c
board-cm-t35.c
board-devkit8000.c
board-generic.c
board-h4.c
board-igep0020.c
board-ldp.c
board-n8x0.c
board-omap3beagle.c
board-omap3evm.c
board-omap3pandora.c
board-omap3stalker.c
board-omap3touchbook.c
board-overo.c
board-rx51-peripherals.c
board-rx51-sdram.c
board-rx51-video.c
board-rx51.c
board-sdp-flash.c
board-zoom2.c
board-zoom3.c
board-zoom-debugboard.c
board-zoom-peripherals.c
clkt2xxx_apll.c
clkt2xxx_dpllcore.c
clkt2xxx_osc.c
clkt2xxx_sys.c
clkt2xxx_virt_prcm_set.c
clkt34xx_dpll3m2.c
clkt_clksel.c
clkt_dpll.c
clock2xxx.c
clock2xxx.h
clock3xxx_data.c OMAP3: wait on IDLEST after enabling USBTLL fclk 2010-07-26 16:34:27 -06:00
clock3xxx.c
clock3xxx.h
clock34xx.c
clock34xx.h
clock36xx.c
clock36xx.h
clock44xx_data.c
clock44xx.h
clock2420_data.c
clock2430_data.c
clock2430.c
clock3517.c
clock3517.h
clock_common_data.c
clock.c
clock.h
clockdomain.c
clockdomains44xx.h
clockdomains.h
cm4xxx.c
cm44xx.h
cm-regbits-24xx.h
cm-regbits-34xx.h
cm-regbits-44xx.h
cm.c
cm.h
control.c
cpuidle34xx.c
devices.c
dpll3xxx.c
emu.c
gpmc-nand.c
gpmc-onenand.c
gpmc-smc91x.c
gpmc.c
hsmmc.c
hsmmc.h
i2c.c
id.c
io.c
iommu2.c
irq.c
Kconfig
mailbox.c
Makefile
Makefile.boot
mcbsp.c
mux34xx.c
mux34xx.h
mux.c
mux.h
omap4-common.c
omap44xx-smc.S
omap_hwmod_3xxx_data.c
omap_hwmod_2420_data.c
omap_hwmod_2430_data.c
omap_hwmod_common_data.c
omap_hwmod_common_data.h
omap_hwmod.c
omap-headsmp.S
omap-iommu.c
omap-smp.c
opp2xxx.h
opp2420_data.c
opp2430_data.c
pm24xx.c
pm34xx.c
pm-debug.c
pm.h
powerdomain.c
powerdomains24xx.h
powerdomains34xx.h
powerdomains44xx.h
powerdomains.h
prcm-common.h
prcm.c
prm44xx.h
prm-regbits-24xx.h
prm-regbits-34xx.h
prm-regbits-44xx.h
prm.h
sdram-hynix-h8mbx00u0mer-0em.h
sdram-micron-mt46h32m32lf-6.h
sdram-numonyx-m65kxxxxam.h
sdram-qimonda-hyb18m512160af-6.h
sdrc2xxx.c
sdrc.c
sdrc.h
serial.c
sleep24xx.S
sleep34xx.S
sram34xx.S
sram242x.S
sram243x.S
timer-gp.c
timer-mpu.c
usb-ehci.c
usb-musb.c
usb-tusb6010.c