[U-Boot] USB EHCI on MPC8349 based board very slow
Dushara Jayasinghe
DusharaJ at optiscan.com
Fri Jun 12 08:34:21 CEST 2009
Hi all,
I'm trying to use the ehci-hcd driver to load linux from a USB memory stick.
The version I'm using is commit id:c06326c73bf90e48a8e1cf8893ad31c575423f50 of the mpc-83xx fork.
The device is detected but the data transfers are very slow (takes about 20 seconds to load a ~3M file into RAM).
On linux itself, the operation is instantaneous:
dd if=/mnt/flash/uRamdisk of=/dev/null
The output of usb reset (with DEBUG_HUB enabled) is:
=> usb reset
(Re)start USB...
USB: PORTSC0=0000008c->0010008c
Register 1210012 NbrPorts 2
USB EHCI 1.00
scanning bus for devices... USB hub found
2 ports detected
ganged power switching
standalone hub
global over-current protection
power on to power good time: 510ms
hub controller current requirement: 0mA
port 1 is removable
port 2 is removable
get_hub_status returned status 1, change 2
local power source is lost (inactive)
no over-current condition exists
enabling power on all ports
port 1 returns 0
port 2 returns 0
Port 1 Status 101 Change 1
port 1 connection change
portstatus 101, change 1, 12 Mb/s
hub_port_reset: resetting port 0...
portstatus 503, change 10, 480 Mb/s
STAT_C_CONNECTION = 0 STAT_CONNECTION = 1 USB_PORT_STAT_ENABLE 1
hub_port_reset: resetting port 0...
portstatus 503, change 10, 480 Mb/s
STAT_C_CONNECTION = 0 STAT_CONNECTION = 1 USB_PORT_STAT_ENABLE 1
USB hub found
7 ports detected
individual port power switching
standalone hub
individual port over-current protection
power on to power good time: 100ms
hub controller current requirement: 1mA
port 1 is removable
port 2 is removable
port 3 is removable
port 4 is removable
port 5 is removable
port 6 is removable
port 7 is removable
get_hub_status returned status 0, change 0
local power source is good
no over-current condition exists
enabling power on all ports
port 1 returns 0
port 2 returns 0
port 3 returns 0
port 4 returns 0
port 5 returns 0
port 6 returns 0
port 7 returns 0
Port 1 Status 100 Change 0
Port 2 Status 100 Change 0
Port 3 Status 100 Change 0
Port 4 Status 100 Change 0
Port 5 Status 100 Change 0
Port 6 Status 100 Change 0
Port 7 Status 100 Change 0
Port 2 Status 101 Change 1
port 2 connection change
portstatus 101, change 1, 12 Mb/s
hub_port_reset: resetting port 1...
portstatus 503, change 10, 480 Mb/s
STAT_C_CONNECTION = 0 STAT_CONNECTION = 1 USB_PORT_STAT_ENABLE 1
hub_port_reset: resetting port 1...
portstatus 503, change 10, 480 Mb/s
STAT_C_CONNECTION = 0 STAT_CONNECTION = 1 USB_PORT_STAT_ENABLE 1
3 USB Device(s) found
scanning bus for storage devices... 1 Storage Device(s) found
and the device tree:
Device Tree:
1 Hub (480 Mb/s, 0mA)
| u-boot EHCI Host Controller
|
+-2 Hub (480 Mb/s, 2mA)
|
+-3 Mass Storage (480 Mb/s, 200mA)
Micron Technology Real SSD eUSB 2GB ECF0022700011917
Any help would be appreciated as I'm not exactly sure what the issue is.
Also is it possible to set the linux root file system directly using (for example) root=/dev/sda2 without first loading a ramdisk? My initial experiments failed, but I'm not sure if there are any show stoppers.
Thanks again
Dushara Jayasinghe
More information about the U-Boot
mailing list