X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=drivers%2Fusb%2Fhost%2Fohci.h;h=9a4a2c24759111adf185be7cebdbffa0bd1f29b8;hb=3ad207a2bf1399a689233a97978e306f71729f77;hp=a547337e7f3cc50111e72cb160877430844bfa5b;hpb=2731b9a86685190d26b1883f27afda5ac8e1a313;p=u-boot diff --git a/drivers/usb/host/ohci.h b/drivers/usb/host/ohci.h index a547337e7f..9a4a2c2475 100644 --- a/drivers/usb/host/ohci.h +++ b/drivers/usb/host/ohci.h @@ -7,15 +7,23 @@ * usb-ohci.h */ -/* functions for doing board or CPU specific setup/cleanup */ -extern int usb_board_init(void); -extern int usb_board_stop(void); -extern int usb_board_init_fail(void); +/* + * e.g. PCI controllers need this + */ +#ifdef CONFIG_SYS_OHCI_SWAP_REG_ACCESS +# define ohci_readl(a) __swap_32(*((volatile u32 *)(a))) +# define ohci_writel(a, b) (*((volatile u32 *)(b)) = __swap_32((volatile u32)a)) +#else +# define ohci_readl(a) (*((volatile u32 *)(a))) +# define ohci_writel(a, b) (*((volatile u32 *)(b)) = ((volatile u32)a)) +#endif /* CONFIG_SYS_OHCI_SWAP_REG_ACCESS */ -extern int usb_cpu_init(void); -extern int usb_cpu_stop(void); -extern int usb_cpu_init_fail(void); +/* functions for doing board or CPU specific setup/cleanup */ +int usb_board_stop(void); +int usb_cpu_init(void); +int usb_cpu_stop(void); +int usb_cpu_init_fail(void); static int cc_to_error[16] = { @@ -101,7 +109,7 @@ struct ed { struct usb_device *usb_dev; void *purb; __u32 unused[2]; -} __attribute((aligned(16))); +} __attribute__((aligned(16))); typedef struct ed ed_t; @@ -161,7 +169,7 @@ struct td { __u32 data; __u32 unused2[2]; -} __attribute((aligned(32))); +} __attribute__((aligned(32))); typedef struct td td_t; #define OHCI_ED_SKIP (1 << 14) @@ -184,7 +192,7 @@ struct ohci_hcca { #endif __u32 done_head; /* info returned for an interrupt */ u8 reserved_for_hc[116]; -} __attribute((aligned(256))); +} __attribute__((aligned(256))); /* @@ -196,8 +204,8 @@ struct ohci_hcca { /* * This is the structure of the OHCI controller's memory mapped I/O - * region. This is Memory Mapped I/O. You must use the readl() and - * writel() macros defined in asm/io.h to access these!! + * region. This is Memory Mapped I/O. You must use the ohci_readl() and + * ohci_writel() macros defined in this file to access these!! */ struct ohci_regs { /* control and status registers */ @@ -228,7 +236,7 @@ struct ohci_regs { __u32 status; __u32 portstatus[CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS]; } roothub; -} __attribute((aligned(32))); +} __attribute__((aligned(32))); /* Some EHCI controls */ #define EHCI_USBCMD_OFF 0x20