From: Rodolfo Giometti <giometti@linux.it>
To: u-boot@lists.denx.de
Subject: [U-Boot-Users] USB Storage Device(s) not found
Date: Tue, 11 Apr 2006 16:51:09 +0200 [thread overview]
Message-ID: <20060411145109.GK21613@enneenne.com> (raw)
Hello,
I'm just working on USB support for mips au1100 based board.
The problem is that when I do:
WWPC # usb start
I get:
...
DEBUG: RET(rh) URB:[ 0] dev: 1,ep: 0-I,type:CTRL,len:4/4 stat:0x0
au1x00_usb_ohci.c: cmd(8): a3 00 00 00 02 00 04 00
au1x00_usb_ohci.c: data(4/4): 01 01 12 00
cannot reset port 2!?
1 USB Device(s) found
scanning bus for storage devices... 0 Storage Device(s) found
An USB pen is into the USB host port and if I do:
WWPC # usb tree
I get:
Device Tree:
1 Hub (12MBit/s, 0mA)
OHCI Root Hub
Since I have an au1100 I also modified the initialization code as
follow:
diff --git a/cpu/mips/au1x00_usb_ohci.c b/cpu/mips/au1x00_usb_ohci.c
index dbf72dc..97c5091 100644
--- a/cpu/mips/au1x00_usb_ohci.c
+++ b/cpu/mips/au1x00_usb_ohci.c
@@ -1581,6 +1582,7 @@ int usb_lowlevel_init(void)
au_writel(sys_freqctrl, SYS_FREQCTRL0);
/* zero and disable USBH/USBD clocks */
+#if 0
sys_clksrc = au_readl(SYS_CLKSRC);
sys_clksrc &= ~0x00007FE0;
au_writel(sys_clksrc, SYS_CLKSRC);
@@ -1590,6 +1592,17 @@ int usb_lowlevel_init(void)
sys_clksrc = au_readl(SYS_CLKSRC);
sys_clksrc &= ~0x00007FE0;
+#else
+ sys_clksrc = au_readl(SYS_CLKSRC);
+ sys_clksrc &= ~0x0000001F;
+ au_writel(sys_clksrc, SYS_CLKSRC);
+
+ sys_freqctrl = au_readl(SYS_FREQCTRL0);
+ sys_freqctrl &= ~0xFFF00000;
+
+ sys_clksrc = au_readl(SYS_CLKSRC);
+ sys_clksrc &= ~0x0000001F;
+#endif
switch (prid & 0x000000FF) {
case 0x00: /* DA */
@@ -1621,6 +1634,7 @@ int usb_lowlevel_init(void)
/*
* Route 48MHz FREQ2 into USB Host and/or Device
*/
+#if 0
sys_clksrc |= ((4<<12) | (0<<11) | (0<<10));
au_writel(sys_clksrc, SYS_CLKSRC);
@@ -1630,6 +1644,15 @@ int usb_lowlevel_init(void)
au_writel(pin_func, SYS_PINFUNC);
au_writel(0x2800, SYS_TRIOUTCLR);
au_writel(0x0030, SYS_OUTPUTCLR);
+#else
+ sys_clksrc |= ((4<<2) | (0<<1) | 0 );
+ au_writel(sys_clksrc, SYS_CLKSRC);
+
+ /* Set USB functionality pin state as device */
+ pin_func = au_readl(SYS_PINFUNC) & (u32)(~0x8000);
+ pin_func &= ~0x8000;
+ au_writel(pin_func, SYS_PINFUNC);
+#endif
dbg("OHCI board setup complete\n");
This code is the same that I use into Linux and it works correctly!
Someone have some suggestions? Have someone already used the USB
support for mips boards? :-o
Thanks in advance,
Rodolfo
--
GNU/Linux Solutions e-mail: giometti at enneenne.com
Linux Device Driver giometti at gnudd.com
Embedded Systems giometti@linux.it
UNIX programming phone: +39 349 2432127
next reply other threads:[~2006-04-11 14:51 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-04-11 14:51 Rodolfo Giometti [this message]
2006-04-12 13:37 ` [U-Boot-Users] USB Storage Device(s) not found Rodolfo Giometti
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20060411145109.GK21613@enneenne.com \
--to=giometti@linux.it \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.