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>
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 */