hello,
On Wed, 2005-09-28 at 15:52 -0500, Jay Monkman wrote:
> I'm trying to get USB working on my AU1550 board, and I'm getting an error I
> don't understand. I've searched the web and the mailing list archives, but
> haven't found anything relevant.
there was a post of mine, dating back to 22 Nov 2004 which could have
been relevant to your cause :-)
>
> I'm using 2.6.12, in big-endian mode.
[..]
> Can anyone point me in the right direction to get this working?
don't know whether you still require being pointed in to any direction;
however, the following patch (against current GIT HEAD, works for me,
YMMV :-) might provide a hint:
diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
index ed1899d..914b964 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -100,12 +100,14 @@ config USB_OHCI_HCD_PCI
config USB_OHCI_BIG_ENDIAN
bool
depends on USB_OHCI_HCD
+ default y if SOC_AU1X00 && CPU_BIG_ENDIAN
default n
config USB_OHCI_LITTLE_ENDIAN
bool
depends on USB_OHCI_HCD
default n if STB03xxx || PPC_MPC52xx
+ default n if SOC_AU1X00 && CPU_BIG_ENDIAN
default y
config USB_UHCI_HCD
diff --git a/drivers/usb/host/ohci.h b/drivers/usb/host/ohci.h
index caacf14..bf18351 100644
--- a/drivers/usb/host/ohci.h
+++ b/drivers/usb/host/ohci.h
@@ -462,6 +462,11 @@ static inline struct usb_hcd *ohci_to_hc
#define writel_be(val, addr) out_be32((__force unsigned *)addr, val)
#endif
+#if defined(CONFIG_SOC_AU1X00)
+#define readl_be(addr) __raw_readl((__force u32 *)(addr))
+#define writel_be(val, addr) __raw_writel(val, (__force u32 *)(addr))
+#endif
+
static inline unsigned int ohci_readl (const struct ohci_hcd *ohci,
__hc32 __iomem * regs)
{
greetings,
--
Herbert Valerio Riedel <hvr@gnu.org>
GnuPG Key Fingerprint: 7BB9 2D6C D485 CE64 4748 5F65 4981 E064 883F 4142
|