[U-Boot] [PATCH] Enable usb ehci support for p2020ds board

Felix Radensky felix at embedded-sol.com
Mon Sep 14 09:49:43 CEST 2009


Hi,

Zang Roy-R61911 wrote:
>  
>
>   
>> -----Original Message-----
>> From: Felix Radensky [mailto:felix at embedded-sol.com] 
>> Sent: Sunday, September 13, 2009 17:19 PM
>> To: Zang Roy-R61911
>> Cc: U-Boot-Denx; Kumar Gala
>> Subject: Re: [U-Boot] [PATCH] Enable usb ehci support for 
>> p2020ds board
>>
>> Hi, Roy
>>
>> Does this mean that USB mass storage devices are actually
>> usable on P2020DS ? 
>>     
> Yes, it works.
>
>   
>> Similar patch for MPC8536DS was
>> added during 2008.08 merge window, but USB mass storage
>> devices are not recognized by u-boot.
>>     
> Why? I do not try on 8536DS, but I think it should work. The same ip and
> the same code :-).
>
>   
>> Since I don't see any FSL
>> ehici driver changes, I suspect situation may be similar on
>> P2020DS.
>>     
> P2020DS and 8536DS should use the same driver. it works. 
> user ext2 command  to opertate usb interface.
>
> My log here on P2020:
>
> U-Boot 2009.08-00126-g0fc8f56-dirty (Sep 09 2009 - 18:00:43)
>
> CPU0:  P2020E, Version: 1.0, (0x80ea0010)
> Core:  E500, Version: 4.0, (0x80211040)
> Clock Configuration:
>        CPU0:1199.988 MHz, CPU1:1199.988 MHz,
>        CCB:599.994 MHz,
>        DDR:333.330 MHz (666.660 MT/s data rate) (Asynchronous),
> LBC:37.500 MHz
> L1:    D-cache 32 kB enabled
>        I-cache 32 kB enabled
> Board: P2020DS Sys ID: 0x16, Sys Ver: 0x02, FPGA Ver: 0x03, vBank: 0
> I2C:   ready
> DRAM:  Initializing....    DDR:  1 GB
> FLASH: 128 MB
> L2:    512 KB enabled
> NAND:  No NAND device found!!!
> No NAND device found!!!
> No NAND device found!!!
> 2048 MiB
> *** Warning - bad CRC, using default environment
>
> EEPROM: NXID v0
>
>     PCIE2 connected to ULI as Root Complex (base addr ffe09000)
>                Scanning PCI bus 01
>         02  11  8086  100f  0200  00
>         02  1c  10b9  5237  0c03  00
>         02  1c  10b9  5237  0c03  00
>         02  1c  10b9  5237  0c03  00
>         02  1c  10b9  5239  0c03  00
>         02  1e  10b9  1575  0601  00
>         02  1e  10b9  7101  0680  00
>         02  1f  10b9  5229  0101  00
>         02  1f  10b9  5288  0101  00
>         01  00  10b9  5249  0604  00
>     PCIE2 on bus 00 - 02
>
>     PCIE3 connected to Slot 1 as Root Complex (base addr ffe08000)
>     PCIE3 on bus 03 - 03
>
>     PCIE1 connected to Slot 2 as Root Complex (base addr ffe0a000)
>     PCIE1 on bus 04 - 04
> Video: No radeon video card found!
> In:    serial
> Out:   serial
> Err:   serial
> SCSI:  AHCI 0001.0000 32 slots 4 ports 3 Gbps 0xf impl IDE mode
> flags: ncq ilck pm led clo pmp pio slum part
> scanning bus for devices...
> Net:   e1000: 00:07:e9:14:4d:e3
> eTSEC1, eTSEC2, eTSEC3, e1000#0
> Warning: e1000#0 MAC addresses don't match:
> Address in SROM is         00:07:e9:14:4d:e3
> Address in environment is  00:e0:0c:02:03:fd
>
> Hit any key to stop autoboot:  0
> =>
> => help usb
> usb - USB sub-system
>
> Usage:
> usb reset - reset (rescan) USB controller
> usb stop [f]  - stop USB [f]=force stop
> usb tree  - show USB device tree
> usb info [dev] - show available USB devices
> usb storage  - show details of USB storage devices
> usb dev [dev] - show or set current USB storage device
> usb part [dev] - print partition table of one or all USB storage devices
> usb read addr blk# cnt - read `cnt' blocks starting at block `blk#'
>     to memory address `addr'
> => usb start
> (Re)start USB...
> USB:   Register 10011 NbrPorts 1
> USB EHCI 1.00
> scanning bus for devices... 2 USB Device(s) found
>        scanning bus for storage devices... 1 Storage Device(s) found
> => usb info
> 1: Hub,  USB Revision 2.0
>  - u-boot EHCI Host Controller
>  - Class: Hub
>  - PacketSize: 64  Configurations: 1
>  - Vendor: 0x0000  Product 0x0000 Version 1.0
>    Configuration: 1
>    - Interfaces: 1 Self Powered 0mA
>      Interface: 0
>      - Alternate Setting 0, Endpoints: 1
>      - Class Hub
>      - Endpoint 1 In Interrupt MaxPacket 2048 Interval 0ms
>
> 2: Mass Storage,  USB Revision 2.0
>  - SanDisk U3 Cruzer Micro 0774700CB28059E2
>  - Class: (from Interface) Mass Storage
>  - PacketSize: 64  Configurations: 1
>  - Vendor: 0x0781  Product 0x5406 Version 2.0
>    Configuration: 1
>    - Interfaces: 1 Bus Powered 200mA
>      Interface: 0
>      - Alternate Setting 0, Endpoints: 2
>      - Class Mass Storage, Transp. SCSI, Bulk only
>      - Endpoint 1 In Bulk MaxPacket 512
>      - Endpoint 2 Out Bulk MaxPacket 512
>
> => usb dev 0
>
> USB device 0:
>     Device 0: Vendor: SanDisk  Rev: 7.01 Prod: Cruzer
>             Type: Removable Hard Disk
>             Capacity: 1907.9 MB = 1.8 GB (3907583 x 512)
> ... is now current device
> => ext2ls usb 0:1
> <DIR>       4096 .
> <DIR>       4096 ..
>          2196128 vmlinuz
> => help ext2load
> ext2load - load binary file from a Ext2 filesystem
>
> Usage:
> ext2load <interface> <dev[:part]> [addr] [filename] [bytes]
>     - load binary file 'filename' from 'dev' on 'interface'
>       to address 'addr' from ext2 filesystem
> => ext2load usb 0:1 1000000 vmlinuz
> Loading file "vmlinuz" from usb device 0:1 (usbda1)
> 2196128 bytes read
> => md 1000000
> 01000000: ea0500c0 078cc88e d88ec08e d031e4fb    .............1..
> 01000010: fcbe2d00 ac20c074 09b40ebb 0700cd10    ..-.. .t........
> 01000020: ebf231c0 cd16cd19 eaf0ff00 f0446972    ..1..........Dir
> 01000030: 65637420 626f6f74 696e6720 66726f6d    ect booting from
> 01000040: 20666c6f 70707920 6973206e 6f206c6f     floppy is no lo
> 01000050: 6e676572 20737570 706f7274 65642e0d    nger supported..
> 01000060: 0a506c65 61736520 75736520 6120626f    .Please use a bo
> 01000070: 6f74206c 6f616465 72207072 6f677261    ot loader progra
> 01000080: 6d20696e 73746561 642e0d0a 0a52656d    m instead....Rem
> 01000090: 6f766520 6469736b 20616e64 20707265    ove disk and pre
> 010000a0: 73732061 6e79206b 65792074 6f207265    ss any key to re
> 010000b0: 626f6f74 202e202e 202e0d0a 00000000    boot . . .......
> 010000c0: 00000000 00000000 00000000 00000000    ................
> 010000d0: 00000000 00000000 00000000 00000000    ................
> 010000e0: 00000000 00000000 00000000 00000000    ................
> 010000f0: 00000000 00000000 00000000 00000000    ................
> =>
>   
This is what I get on MPC8536DS:

U-Boot 2009.08-rc3 (Aug 26 2009 - 18:18:31)

CPU:   8536E, Version: 1.0, (0x803f0090)
Core:  E500, Version: 3.0, (0x80210030)
Clock Configuration:
       CPU0:1249.988 MHz,
       CCB:499.995 MHz,
       DDR:249.998 MHz (499.995 MT/s data rate) (Synchronous), 
LBC:31.250 MHz
L1:    D-cache 32 kB enabled
       I-cache 32 kB enabled
Board: MPC8536DS Sys ID: 0x15, Sys Ver: 0x10, FPGA Ver: 0x13, vBank: 0
I2C:   ready
DRAM:  Initializing....    DDR: 512 MB (DDR2, 64-bit, CL=4, ECC off)
Top of RAM usable for U-Boot at: 20000000
Reserving 800k for U-Boot at: 1ff30000
Reserving 1032k for malloc() at: 1fe2e000
Reserving 80 Bytes for Board Info at: 1fe2dfb0
Reserving 76 Bytes for Global Data at: 1fe2df64
Stack Pointer at: 1fe2df48
New Stack Pointer is: 1fe2df48
Now running in RAM - U-Boot at: 1ff30000
FLASH: 128 MB
L2:    512 KB enabled
NAND:  4096 MiB
Invalid ID (ff ff ff ff)

    PCIE3 connected to Slot3 as Root Complex (base address ffe0b000)
               Scanning PCI bus 01
        01  00  8086  10b9  0200  00
    PCIE3 on bus 00 - 01

    PCIE1 connected to Slot1 as Root Complex (base address ffe0a000)
    PCIE1 on bus 02 - 02

    PCIE2 connected to Slot 2 as Root Complex (base address ffe09000)
    PCIE2 on bus 03 - 03

    PCI: 32 bit, 66 MHz, async, host, arbiter (base address ffe08000)
               Scanning PCI bus 04
PCI on bus 04 - 04
Video: No radeon video card found!
U-Boot relocated to 1ff30000
MMC:  FSL_ESDHC: 0
Net:   e1000: 00:1b:21:1e:2d:2a
eTSEC1, eTSEC3, e1000#0
Warning: e1000#0 MAC addresses don't match:
Address in SROM is         00:1b:21:1e:2d:2a
Address in environment is  04:00:00:00:00:0c

Hit any key to stop autoboot:  0
=> usb reset
(Re)start USB...
USB:   Register 10011 NbrPorts 1
USB EHCI 1.00
scanning bus for devices... 2 USB Device(s) found
       scanning bus for storage devices... Device NOT ready
   Request Sense returned 00 00 00
0 Storage Device(s) found
=> usb info
1: Hub,  USB Revision 2.0
 - u-boot EHCI Host Controller
 - Class: Hub
 - PacketSize: 64  Configurations: 1
 - Vendor: 0x0000  Product 0x0000 Version 1.0
   Configuration: 1
   - Interfaces: 1 Self Powered 0mA
     Interface: 0
     - Alternate Setting 0, Endpoints: 1
     - Class Hub
     - Endpoint 1 In Interrupt MaxPacket 2048 Interval 0ms

2: Mass Storage,  USB Revision 2.0
 - SanDisk Corporation Cruzer Mini 200435130107dcd07f5f
 - Class: (from Interface) Mass Storage
 - PacketSize: 64  Configurations: 1
 - Vendor: 0x0781  Product 0x5150 Version 0.32
   Configuration: 1
   - Interfaces: 1 Bus Powered 200mA
     Interface: 0
     - Alternate Setting 0, Endpoints: 2
     - Class Mass Storage, Transp. SCSI, Bulk only
     - Endpoint 1 In Bulk MaxPacket 512
     - Endpoint 1 Out Bulk MaxPacket 512

=> fatls usb 0:1
Device NOT ready
   Request Sense returned 00 00 00
** Can't read from device 0 **

** Unable to use usb 0:1 for fatls **

This device works fine in linux:

ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci_hcd: block sizes: qh 160 qtd 96 itd 192 sitd 96
initializing FSL-SOC USB Controller
fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number 1
fsl-ehci fsl-ehci.0: reset hcs_params 0x10011 dbg=0 ind cc=0 pcc=0 
ordered ports
=1
fsl-ehci fsl-ehci.0: reset hcc_params 0006 thresh 0 uframes 256/512/1024 
park
fsl-ehci fsl-ehci.0: park 0
fsl-ehci fsl-ehci.0: reset command 080b02 park=3 ithresh=8 period=1024 
Reset HAL
T
fsl-ehci fsl-ehci.0: ...powerdown ports...
fsl-ehci fsl-ehci.0: irq 28, io base 0xffe22000
fsl-ehci fsl-ehci.0: reset command 080b02 park=3 ithresh=8 period=1024 
Reset HAL
T
fsl-ehci fsl-ehci.0: init command 010009 (park)=0 ithresh=1 period=256 RUN
fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00
usb usb1: default language 0x0409
usb usb1: udev 1, busnum 1, minor = 0
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: Freescale On-Chip EHCI Host Controller
usb usb1: Manufacturer: Linux 2.6.31 ehci_hcd
usb usb1: SerialNumber: fsl-ehci.0
usb usb1: uevent
usb usb1: usb_probe_device
usb usb1: configuration #1 chosen from 1 choice
usb usb1: adding 1-0:1.0 (config #1, interface 0)
usb 1-0:1.0: uevent
hub 1-0:1.0: usb_probe_interface
hub 1-0:1.0: usb_probe_interface - got id
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
hub 1-0:1.0: standalone hub
hub 1-0:1.0: individual port power switching
hub 1-0:1.0: individual port over-current protection
hub 1-0:1.0: Single TT
hub 1-0:1.0: TT requires at most 8 FS bit times (666 ns)
hub 1-0:1.0: power on to power good time: 20ms
hub 1-0:1.0: local power source is good
hub 1-0:1.0: enabling power on all ports
initializing FSL-SOC USB Controller
fsl-ehci fsl-ehci.1: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci.1: new USB bus registered, assigned bus number 2
fsl-ehci fsl-ehci.1: reset hcs_params 0x10011 dbg=0 ind cc=0 pcc=0 
ordered ports
=1
fsl-ehci fsl-ehci.1: reset hcc_params 0006 thresh 0 uframes 256/512/1024 
park
fsl-ehci fsl-ehci.1: park 0
fsl-ehci fsl-ehci.1: reset command 080b02 park=3 ithresh=8 period=1024 
Reset HAL
T
fsl-ehci fsl-ehci.1: ...powerdown ports...
fsl-ehci fsl-ehci.1: irq 46, io base 0xffe23000
fsl-ehci fsl-ehci.1: reset command 080b02 park=3 ithresh=8 period=1024 
Reset HAL
T
fsl-ehci fsl-ehci.1: init command 010009 (park)=0 ithresh=1 period=256 RUN
fsl-ehci fsl-ehci.1: USB 2.0 started, EHCI 1.00
usb usb2: default language 0x0409
usb usb2: udev 1, busnum 2, minor = 128
usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: Freescale On-Chip EHCI Host Controller
usb usb2: Manufacturer: Linux 2.6.31 ehci_hcd
usb usb2: SerialNumber: fsl-ehci.1
usb usb2: uevent
usb usb2: usb_probe_device
usb usb2: configuration #1 chosen from 1 choice
usb usb2: adding 2-0:1.0 (config #1, interface 0)
usb 2-0:1.0: uevent
hub 2-0:1.0: usb_probe_interface
hub 2-0:1.0: usb_probe_interface - got id
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
hub 2-0:1.0: standalone hub
hub 2-0:1.0: individual port power switching
hub 2-0:1.0: individual port over-current protection
hub 2-0:1.0: Single TT
hub 2-0:1.0: TT requires at most 8 FS bit times (666 ns)
hub 2-0:1.0: power on to power good time: 20ms
hub 2-0:1.0: local power source is good
hub 2-0:1.0: enabling power on all ports
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
irq: irq 43 on host /soc at ffe00000/pic at 40000 mapped to virtual irq 43
fsl-ehci fsl-ehci.0: GetStatus port 1 status 90001803 POWER sig=j CSC 
CONNECT
hub 1-0:1.0: port 1: status 0101 change 0001
irq: irq 0 on host /soc at ffe00000/pic at 40000 mapped to virtual irq 18
at24 1-0057: 32768 byte 24c256 EEPROM (writable)
TCP cubic registered
NET: Registered protocol family 17
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
hub 2-0:1.0: state 7 ports 1 chg 0000 evt 0000
hub 1-0:1.0: state 7 ports 1 chg 0002 evt 0000
hub 1-0:1.0: port 1, status 0101, change 0000, 12 Mb/s
usb 1-1: new high speed USB device using fsl-ehci and address 2
fsl-ehci fsl-ehci.0: port 1 high speed
fsl-ehci fsl-ehci.0: GetStatus port 1 status 98001205 POWER sig=se0 PE 
CONNECT
usb 1-1: default language 0x0409
usb 1-1: udev 2, busnum 1, minor = 1
usb 1-1: New USB device found, idVendor=0781, idProduct=5150
usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-1: Product: Cruzer Mini
usb 1-1: Manufacturer: SanDisk Corporation
usb 1-1: SerialNumber: 200435130107dcd07f5f
usb 1-1: uevent
usb 1-1: usb_probe_device
usb 1-1: configuration #1 chosen from 1 choice
usb 1-1: adding 1-1:1.0 (config #1, interface 0)
usb 1-1:1.0: uevent
usb-storage 1-1:1.0: usb_probe_interface
usb-storage 1-1:1.0: usb_probe_interface - got id
scsi0 : SCSI emulation for USB Mass Storage devices
hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0002
usb-storage: device found at 2
usb-storage: waiting for device to settle before scanning
IP-Config: Gateway not on directly connected network.
Looking up port of RPC 100003/2 on 10.0.0.1
PHY: mdio at ffe24520:01 - Link is Up - 100/Full
Looking up port of RPC 100005/1 on 10.0.0.1
VFS: Mounted root (nfs filesystem) on device 0:12.
Freeing unused kernel memory: 148k init
scsi 0:0:0:0: Direct-Access     SanDisk  Cruzer Mini      0.3  PQ: 0 ANSI: 2
usb-storage: device scan complete
sd 0:0:0:0: [sda] 1000944 512-byte logical blocks: (512 MB/488 MiB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 03 00 00 00
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] Assuming drive cache: write through
 sda: sda1
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] Attached SCSI removable disk

Felix.


More information about the U-Boot mailing list