linux-mips
[Top] [All Lists]

Re: USB on AU1550

To: Jay Monkman <jtm@smoothsmoothie.com>
Subject: Re: USB on AU1550
From: Herbert Valerio Riedel <hvr@gnu.org>
Date: Sat, 24 Dec 2005 12:52:42 +0100
Cc: linux-mips@linux-mips.org
In-reply-to: <433B0299.8080507@smoothsmoothie.com>
Organization: Free Software Foundation
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <433B0299.8080507@smoothsmoothie.com>
Sender: linux-mips-bounce@linux-mips.org
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



<Prev in Thread] Current Thread [Next in Thread>
  • Re: USB on AU1550, Herbert Valerio Riedel <=