[U-Boot-Users] Problems with usb storage devices on MPC5200 / TQM5200

Hi,
with the current U-Boot (top of tree) I'm not able to access an USB memory stick on a MPC5200 based TQM5200 board. The 'usb start' command prints some error messages:
U-Boot 1.3.0-rc3-ge31711b7 (Nov 6 2007 - 14:07:54)
CPU: MPC5200B v2.2, Core v1.4 at 396 MHz Bus 132 MHz, IPB 132 MHz, PCI 66 MHz Board: TQM5200 (TQ-Components GmbH) on a STK52xx carrier board I2C: 85 kHz, ready DRAM: 64 MB FLASH: 32 MB In: serial Out: serial Err: serial Net: FEC ETHERNET, i82559#0 POST i2c PASSED POST cpu PASSED IDE: Bus 0: not available SRAM: 512 kB PS/2: No device found Kbd: reset failed, no ACK
Type "run flash_nfs" to mount root filesystem over NFS
Hit any key to stop autoboot: 0 => usb start (Re)start USB... USB: scanning bus for devices... ERROR: CTL:TIMEOUT
USB device not responding, giving up (status=20) 2 USB Device(s) found scanning bus for storage devices... 0 Storage Device(s) found =>
In the current TQM5200 configuration the generic OHCI driver is used (CONFIG_USB_OHCI_NEW). If I switch back to the old cpu specific USB driver (CONFIG_USB_OHCI) USB seems to work properly:
U-Boot 1.3.0-rc3-ge31711b7-dirty (Nov 6 2007 - 14:14:45)
CPU: MPC5200B v2.2, Core v1.4 at 396 MHz Bus 132 MHz, IPB 132 MHz, PCI 66 MHz Board: TQM5200 (TQ-Components GmbH) on a STK52xx carrier board I2C: 85 kHz, ready DRAM: 64 MB FLASH: 32 MB In: serial Out: serial Err: serial Net: FEC ETHERNET, i82559#0 POST i2c PASSED POST cpu PASSED IDE: Bus 0: not available SRAM: 512 kB PS/2: No device found Kbd: reset failed, no ACK
Type "run flash_nfs" to mount root filesystem over NFS
Hit any key to stop autoboot: 0 => usb start (Re)start USB... USB: scanning bus for devices... 2 USB Device(s) found scanning bus for storage devices... 1 Storage Device(s) found => usb storage Device 0: Vendor: JetFlash Prod.: 32MB Rev: 1.11 Type: Removable Hard Disk Capacity: 31.5 MB = 0.0 GB (64512 x 512) => usb part print_part of 0
Partition Map for USB device 0 -- Partition Type: DOS
Partition Start Sector Num Sectors Type 1 32 64416 4
print_part of 1 ## Unknown partition table
print_part of 2 ## Unknown partition table
print_part of 3 ## Unknown partition table
print_part of 4 ## Unknown partition table => fatls usb 0 1441856 disk.img 199 prepare.img 1441856 disk_02.img
3 file(s), 0 dir(s)
=>
Has anyone observed similar problems with the generic OHCI driver?
Best regards, Martin Krause

Hi Martin,
"Martin Krause" Martin.Krause@tqs.de writes:
with the current U-Boot (top of tree) I'm not able to access an USB memory stick on a MPC5200 based TQM5200 board. The 'usb start' command prints some error messages:
...
Has anyone observed similar problems with the generic OHCI driver?
Can you confirm that it worked before with the generic driver and the same stick? Only few usb related changes were merged recently, so it if it did break, it shouldn't be hard to identify the culprit.
Best regards
Markus Klotzbuecher
-- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office@denx.de

Hi Markus,
Markus Klotzbücher wrote on Monday, November 19, 2007 4:05 PM:
"Martin Krause" Martin.Krause@tqs.de writes:
with the current U-Boot (top of tree) I'm not able to access an USB memory stick on a MPC5200 based TQM5200 board. The 'usb start' command prints some error messages:
...
Has anyone observed similar problems with the generic OHCI driver?
Can you confirm that it worked before with the generic driver and the same stick? Only few usb related changes were merged recently, so it if it did break, it shouldn't be hard to identify the culprit.
I have to admit, that I never tested the TQM5200 (nor any other MPC5200 board) with the generic OHCI driver before. So I could not tell, if it worked ever with the generic driver.
For the test with the current U-Boot I used three different memory sticks, which always worked with the old cpu specific OHCI driver. None of it worked with the generic driver :(.
Best Regards, Martin Krause

In message 47F3F98010FF784EBEE6526EAAB078D1024F87DE@tq-mailsrv.tq-net.de you wrote:
I have to admit, that I never tested the TQM5200 (nor any other MPC5200 board) with the generic OHCI driver before. So I could not tell, if it worked ever with the generic driver.
We tested it, of course - with the hardware that is available to us.
Which means on pre-Rev. B CPU only. [I wish TQ would finally understand what it means NOT to provide current hardware.]
For the test with the current U-Boot I used three different memory sticks, which always worked with the old cpu specific OHCI driver. None of it worked with the generic driver :(.
I guess you use Rev. B silicon? Could you please try it on an old board?
Best regards,
Wolfgang Denk

wd@denx.de wrote on Monday, November 19, 2007 4:54 PM:
In message 47F3F98010FF784EBEE6526EAAB078D1024F87DE@tq-mailsrv.tq-net.de you wrote:
I have to admit, that I never tested the TQM5200 (nor any other MPC5200 board) with the generic OHCI driver before. So I could not tell, if it worked ever with the generic driver.
We tested it, of course - with the hardware that is available to us.
Which means on pre-Rev. B CPU only. [I wish TQ would finally understand what it means NOT to provide current hardware.]
For the test with the current U-Boot I used three different memory sticks, which always worked with the old cpu specific OHCI driver. None of it worked with the generic driver :(.
I guess you use Rev. B silicon? Could you please try it on an old board?
I think I tested it on both versions. But I'm not sure. I will repeat the test on an old board.
Best Regards, Martin Krause

u-boot-users-bounces@lists.sourceforge.net wrote on :
wd@denx.de wrote on Monday, November 19, 2007 4:54 PM:
In message 47F3F98010FF784EBEE6526EAAB078D1024F87DE@tq-mailsrv.tq-net.de you wrote:
I have to admit, that I never tested the TQM5200 (nor any other MPC5200 board) with the generic OHCI driver before. So I could not tell, if it worked ever with the generic driver.
We tested it, of course - with the hardware that is available to us.
Which means on pre-Rev. B CPU only. [I wish TQ would finally understand what it means NOT to provide current hardware.]
For the test with the current U-Boot I used three different memory sticks, which always worked with the old cpu specific OHCI driver. None of it worked with the generic driver :(.
I guess you use Rev. B silicon? Could you please try it on an old board?
I think I tested it on both versions. But I'm not sure. I will repeat the test on an old board.
I repeated the test with an old TQM5200 board (v1.2 MPC5200 cpu). Unfortunately with the same results. USB sticks are not working:
U-Boot 1.3.0 (9a337ddc154a10a26f117fd147b009abcdeba75a) TQM5200_config
U-Boot 1.3.0 (Dec 3 2007 - 12:57:43)
CPU: MPC5200 v1.2, Core v1.1 at 396 MHz Bus 132 MHz, IPB 132 MHz, PCI 66 MHz Board: TQM5200 (TQ-Components GmbH) on a STK52xx carrier board I2C: 85 kHz, ready DRAM: 128 MB FLASH: 4 MB In: serial Out: serial Err: serial Net: FEC ETHERNET POST i2c PASSED POST cpu PASSED IDE: Bus 0: not available VGA: SMI501 (Voyager) with 8 MB PS/2: No device found Kbd: reset failed, no ACK
Type "run flash_nfs" to mount root filesystem over NFS
Hit any key to stop autoboot: 0 => usb start (Re)start USB... USB: scanning bus for devices... ERROR: CTL:TIMEOUT
USB device not responding, giving up (status=20) 2 USB Device(s) found scanning bus for storage devices... 0 Storage Device(s) found => usb info 1: Hub, USB Revision 1.10 - OHCI Root Hub - Class: Hub - PacketSize: 8 Configurations: 1 - Vendor: 0x0000 Product 0x0000 Version 0.0 Configuration: 1 - Interfaces: 1 Self Powered 0mA Interface: 0 - Alternate Setting 0, Endpoints: 1 - Class Hub - Endpoint 1 In Interrupt MaxPacket 2 Interval 255ms
Configuration: 0 - Interfaces: 0 Bus Powered 0mA
=> usb reset (Re)start USB... USB: scanning bus for devices... ERROR: CTL:TIMEOUT
USB device not responding, giving up (status=20) 2 USB Device(s) found scanning bus for storage devices... 0 Storage Device(s) found =>
I repeated the test with some older U-Boot versions (with the generic OHCI driver), but on neither USB sticks are working :(
Best Regards, Martin Krause

Hi Martin,
I finally got around to look into this. It was tested and worked with earlier U-Boot versions until some time ago I made big endian OHCI controllers a CFG_ option. With this option added to the TQM5200 config, USB work fine again.
Sorry, don't know how I missed this.
Attached patch fixes this.
Best regards
Markus Klotzbücher
The MPC5200 OHCI controller operates in big endian, so CFG_OHCI_BE_CONTROLLER must be defined for it to work properly.
Signed-off-by: Markus Klotzbuecher mk@denx.de
diff --git a/include/configs/TQM5200.h b/include/configs/TQM5200.h index 7ecc275..9a0e9b8 100644 --- a/include/configs/TQM5200.h +++ b/include/configs/TQM5200.h @@ -131,6 +131,7 @@ /* USB */ #if defined(CONFIG_STK52XX) || defined(CONFIG_FO300) #define CONFIG_USB_OHCI_NEW +#define CFG_OHCI_BE_CONTROLLER #define CONFIG_USB_STORAGE #define CONFIG_CMD_FAT #define CONFIG_CMD_USB
-- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office@denx.de

Hi Markus,
Markus Klotzbücher wrote on Wednesday, December 19, 2007 8:36 PM:
Hi Martin,
I finally got around to look into this. It was tested and worked with earlier U-Boot versions until some time ago I made big endian OHCI controllers a CFG_ option. With this option added to the TQM5200 config, USB work fine again.
Thanks for fishing out the reason!
Attached patch fixes this.
At the moment I'm a bit short of time (who not?). I`ll test the patch next year ;-)
Merry Christmas!
Martin Krause

Hi Martin,
"Martin Krause" Martin.Krause@tqs.de writes:
Thanks for fishing out the reason!
Your welcome.
Attached patch fixes this.
At the moment I'm a bit short of time (who not?). I`ll test the patch next year ;-)
Yep ;-), thats fine.
Merry Christmas!
Thank you, same to you!
Best regards
Markus Klotzbücher
-- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office@denx.de

Hi Markus,
Markus Klotzbücher wrote on Friday, December 21, 2007 11:31 AM:
Attached patch fixes this.
At the moment I'm a bit short of time (who not?). I`ll test the patch next year ;-)
Yep ;-), thats fine.
Today I found some time to test your patch on the TQM5200 and TQM5200B. I tested with several USB-Sticks. Everything works fine. Thanks!
Regards, Martin

Hi
I'm not sure whether that's the same problem but with my u-boot (a bit older though) the usb stuff works with sticks <= 256MB only! I tried several sticks of size >= 512MB and they don't work. BTW my hardware is TQM5200 based (pre B) also.
Maybe that explains why it worked for denx but not for TQ.
Best regards Stefan Strobl

Hi,
u-boot-users-bounces@lists.sourceforge.net wrote on :
Hi
I'm not sure whether that's the same problem but with my u-boot (a bit older though) the usb stuff works with sticks <= 256MB only! I tried several sticks of size >= 512MB and they don't work. BTW my hardware is TQM5200 based (pre B) also.
I used Sticks <= 256 MiB for testing.
Maybe that explains why it worked for denx but not for TQ.
Hm, I'm skeptic. Do you know wich OHCI driver is used in your U-Boot? The newer generic one or the older mpc52xx specific? IFAIK the generic one is used since U-Boot v1.3.0-rc3. I only had problems with the generic one. No stick I tested does work with this driver - but I haven't tested sticks >= 512 MiB, though.
Best Regards, Martin Krause

Hi
Martin Krause wrote:
Hm, I'm skeptic. Do you know wich OHCI driver is used in your U-Boot? The newer generic one or the older mpc52xx specific? IFAIK the generic one is used since U-Boot v1.3.0-rc3. I only had problems with the generic one. No stick I tested does work with this driver - but I haven't tested sticks >= 512 MiB, though.
You are right, the problem with >=512MB sticks exists on u-boot version 1.2.0 and it uses the older mpc52xx specific ohci driver. Actually this is not a problem for me!
Thanks Stefan Strobl

You are right, the problem with >=512MB sticks exists on u-boot version 1.2.0 and it uses the older mpc52xx specific ohci driver. Actually this is not a problem for me!
I think the problem is on the FAT. Did you check?
participants (5)
-
ikjoon
-
Markus Klotzbücher
-
Martin Krause
-
Stefan Strobl
-
Wolfgang Denk