diff options
author | Bryan Wu <bryan.wu@analog.com> | 2009-12-16 22:04:02 -0500 |
---|---|---|
committer | Remy Bohmer <linux@bohmer.net> | 2010-01-09 10:25:09 +0100 |
commit | e608f221c13943d88e86f44753e23668342c3df3 (patch) | |
tree | 1f1aaa9edfc854e119151ba91398afc98e09cf62 /drivers/usb/musb/musb_core.h | |
parent | bc72a919e037782f64e3ac45c91bc60408e57e85 (diff) | |
download | bootable_bootloader_goldelico_gta04-e608f221c13943d88e86f44753e23668342c3df3.zip bootable_bootloader_goldelico_gta04-e608f221c13943d88e86f44753e23668342c3df3.tar.gz bootable_bootloader_goldelico_gta04-e608f221c13943d88e86f44753e23668342c3df3.tar.bz2 |
usb: musb: add support for Blackfin MUSB
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Remy Bohmer <linux@bohmer.net>
Diffstat (limited to 'drivers/usb/musb/musb_core.h')
-rw-r--r-- | drivers/usb/musb/musb_core.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/usb/musb/musb_core.h b/drivers/usb/musb/musb_core.h index cee7a11..f0f0301 100644 --- a/drivers/usb/musb/musb_core.h +++ b/drivers/usb/musb/musb_core.h @@ -38,6 +38,10 @@ #include <usb_defs.h> #include <asm/io.h> +#ifdef CONFIG_USB_BLACKFIN +# include "blackfin_usb.h" +#endif + #define MUSB_EP0_FIFOSIZE 64 /* This is non-configurable */ /* EP0 */ @@ -71,6 +75,7 @@ struct musb_epN_regs { }; /* Mentor USB core register overlay structure */ +#ifndef musb_regs struct musb_regs { /* common registers */ u8 faddr; @@ -138,6 +143,7 @@ struct musb_regs { } ep[16]; } __attribute__((packed, aligned(32))); +#endif /* * MUSB Register bits @@ -347,4 +353,14 @@ extern void musb_configure_ep(struct musb_epinfo *epinfo, u8 cnt); extern void write_fifo(u8 ep, u32 length, void *fifo_data); extern void read_fifo(u8 ep, u32 length, void *fifo_data); +#if defined(CONFIG_USB_BLACKFIN) +/* Every USB register is accessed as a 16-bit even if the value itself + * is only 8-bits in size. Fun stuff. + */ +# undef readb +# define readb(addr) (u8)bfin_read16(addr) +# undef writeb +# define writeb(b, addr) bfin_write16(addr, b) +#endif + #endif /* __MUSB_HDRC_DEFS_H__ */ |