diff options
author | Ilya Yanok <ilya.yanok@cogentembedded.com> | 2012-11-06 13:48:25 +0000 |
---|---|---|
committer | Marek Vasut <marex@denx.de> | 2012-11-20 00:16:07 +0100 |
commit | 833a53c627b839a28b5925ba283109b141f6cff0 (patch) | |
tree | fb0f303fa61f432e1d2f27323ed2729626cb2527 /arch/arm | |
parent | d2aa1154b95a211416c1511005451dfcf076dd97 (diff) | |
download | u-boot-imx-833a53c627b839a28b5925ba283109b141f6cff0.zip u-boot-imx-833a53c627b839a28b5925ba283109b141f6cff0.tar.gz u-boot-imx-833a53c627b839a28b5925ba283109b141f6cff0.tar.bz2 |
musb-new: am35x backend driver
Backend driver for MUSB OTG controllers found on TI AM35x.
It seems that on AM35X interrupt status registers can be updated
_before_ core registers. As we don't use true interrupts in U-Boot
and poll interrupt status registers instead this can result in
interrupt handler being called with non-updated core registers.
This confuses the code and result in hanged transfers.
Add a small delay in am35x_interrupt as a workaround.
Signed-off-by: Ilya Yanok <ilya.yanok@cogentembedded.com>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/include/asm/omap_musb.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm/include/asm/omap_musb.h b/arch/arm/include/asm/omap_musb.h index 0081a68..46c8578 100644 --- a/arch/arm/include/asm/omap_musb.h +++ b/arch/arm/include/asm/omap_musb.h @@ -18,8 +18,11 @@ #define __ASM_ARM_OMAP_MUSB_H extern struct musb_platform_ops musb_dsps_ops; +extern const struct musb_platform_ops am35x_ops; struct omap_musb_board_data { void (*set_phy_power)(u8 on); + void (*clear_irq)(void); + void (*reset)(void); }; #endif /* __ASM_ARM_OMAP_MUSB_H */ |