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

Felix Radensky felix at embedded-sol.com
Mon Sep 14 10:16:06 CEST 2009


Zang Roy-R61911 wrote:
>  
>
>   
>> -----Original Message-----
>> From: Felix Radensky [mailto:felix at embedded-sol.com] 
>> Sent: Monday, September 14, 2009 15:50 PM
>> To: Zang Roy-R61911
>> Cc: U-Boot-Denx; Kumar Gala; Zhang Junjie-B18070
>> Subject: Re: [U-Boot] [PATCH] Enable usb ehci support for 
>> p2020ds board
>>
>> 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 **
>>     
> You need to run
> => usb start
> to start usb, then run
> => usb dev 0
> to specify the device, then run
> => ext2ls usb 0:1
> to ls the sda1 content. make sure it is ext2.
> Thanks.
> Roy
>   
I think "usb start" and "usb reset" are identical, but anyway:

=> 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... Device NOT ready
   Request Sense returned 00 00 00
0 Storage Device(s) found
=> usb dev 0

USB device 0:
    Device 0: Vendor:  Rev:  Prod:
            Type: Hard Disk
            Capacity: not available
... is now current device

=> ext2ls usb 0:1
** Bad partition - usb 0:1 **



More information about the U-Boot mailing list