cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
saadsalman
Newbie
Newbie
6,834 Views
Registered: ‎05-08-2010

XPS USB Host Controller with Spartan 3E-1600

Hello,

I am trying to run the Xilinx Linux kernel on the FPGA device. Before adding the XPS USB Host Controller core everything was running fine but after I added that core according to the instructions at http://xilinx.wikidot.com/usbhost-system-setup, the processor does not start properly with the same Kernel image. Here is the terminal screen:


$ xmd
Xilinx Microprocessor Debugger (XMD) Engine
Xilinx EDK 11.5 Build EDK_LS5.70

Copyright (c) 1995-2009 Xilinx, Inc.  All rights reserved.

XMD%

XMD% connect mb mdm
Info:AutoDetecting cable. Please wait.
Info:Reusing A0050024 key.

Info:Reusing 24050024 key.
Info: OS platform = i686.
Info: Using windrvr6 driver.

Info:Connecting to cable (Usb Port - USB21).
Info:Checking cable driver.

Info:Overriding Xilinx file <> with local file </opt/Xilinx/11.1/EDK/bin/lin/>
Info:File version of /usr/share/xusbdfwu.hex = 1030.

Info: libusb-driver.so version: 2010-05-31 03:01:15.
Info: Cable PID = 0008.

Info: Max current requested during enumeration is 74 mA.
Info:Type = 0x0004.

Info: Cable Type = 3, Revision = 0.
Info: Setting cable speed to 6 MHz.
Info:Cable connection established.

Info:Firmware version = 1303.
Info:File version of /opt/Xilinx/11.1/ISE/data/xusb_xlp.hex = 1303.

Info:Firmware hex file version = 1303.
Info:PLD file version = 0012h.

Info: PLD version = 0012h.
Info:Type = 0x0004.
Info: ESN device is not available for this cable.


JTAG chain configuration
--------------------------------------------------

Device   ID Code        IR Length    Part Name
 1       21c3a093           6        XC3S1600E
 2       d5046093           8        XCF04S
 3       d5046093           8        XCF04S
 4       06e5e093           8        XC2C64A

MicroBlaze Processor Configuration :

-------------------------------------
Version............................7.20.d

Optimization.......................Performance
Interconnect.......................PLBv46

MMU Type...........................Full_MMU
No of PC Breakpoints...............1

No of Read Addr/Data Watchpoints...0
No of Write Addr/Data Watchpoints..0

Instruction Cache Support..........on
Instruction Cache Base Address.....0x44000000

Instruction Cache High Address.....0x47ffffff
Data Cache Support.................on

Data Cache Base Address............0x44000000
Data Cache High Address............0x47ffffff

Exceptions  Support................on
FPU  Support.......................off

Hard Divider Support...............off
Hard Multiplier Support............on - (Mul32)

Barrel Shifter Support.............off
MSR clr/set Instruction Support....on

Compare Instruction Support........on
PVR Supported......................on

PVR Configuration Type.............Full
Data Cache Write-back Support......off


Connected to "mb" target. id = 0
Starting GDB server for "mb" target (id = 0) at TCP port no 1234

XMD% dow arch/microblaze/boot/simpleImage.xilinx
System Reset .... DONE

Downloading Program -- arch/microblaze/boot/simpleImage.xilinx
    section, .text: 0xc0000000-0xc02afa3f
    section, .ref.text: 0xc02afa40-0xc02b0937
    section, .init.text: 0xc0374000-0xc03922f7
    section, .init.ivt: 0xc03954d0-0xc0395537
    section, __fdt_blob: 0xc02b0938-0xc02b4937
    section, .rodata: 0xc02b5000-0xc0348e1f
    section, __ksymtab: 0xc0348e20-0xc034cf6f
    section, __ksymtab_gpl: 0xc034cf70-0xc034eb8f
    section, __ksymtab_strings: 0xc034eb90-0xc035b4d6
    section, __param: 0xc035b4d8-0xc035bfff
    section, __ex_table: 0xc035c000-0xc035cd47
    section, .sdata2: 0xc035cd48-0xc035cfff
    section, .data: 0xc035d000-0xc037253f
    section, .init.data: 0xc03922f8-0xc03954ce
    section, .init.setup: 0xc0395538-0xc03957ef
    section, .initcall.init: 0xc03957f0-0xc0395a1b
    section, .con_initcall.init: 0xc0395a1c-0xc0395a23
    section, .init.ramfs: 0xc0396000-0xc045d5cb
    section, .bss: 0xc045e000-0xc048a62f
Setting PC with Program Start Address 0x44000000

XMD% run

Info:Processor started. Type "stop" to stop processor

RUNNING> XMD%


At this point I keep on waiting for the output at the serial port but nothing happens. Next I try to stop the processor and the following appears:

RUNNING> XMD% stop
 ERROR: Unable to Stop Processor
MicroBlaze Pipeline Stalled on a Blocking Instruction or Invalid Bus Access
    Stalled PC: 0x44000000
    Try Resetting the Processor to Continue..


The MHS and MSS files are attached herewith. Can anyone please help on this matter?

Thanking in anticipation.


Regards,

Saad

0 Kudos
5 Replies
sklogn
Newbie
Newbie
6,611 Views
Registered: ‎08-18-2010

I have the same problem,too.

And I try to update Microblaze to to 7.20.d and xps_usb_host to 1.02.a.

But the system still stall when booting.

0 Kudos
youemei
Visitor
Visitor
6,320 Views
Registered: ‎10-29-2010

I have a question,where can you gen the lisence to the xps_usb_host_v1 core?

 

Xilinx dosent provide the lisence,can you send me the license.

 

please help me ,thanks very much.

0 Kudos
linnj
Xilinx Employee
Xilinx Employee
6,315 Views
Registered: ‎09-10-2008

This core is not a free core, you have to pay for it, to my knowledge unless it changed.

 

Here's the last status that I know of.  My group, a software group, is not supporting this core any more as we were told that the h/w group is not supporting it anymore.

 

My apologies for any time that you may have invested.  It was working last I knew, but we pulled it out of our automated test because of lack of support from the h/w team.

 

Thanks.

0 Kudos
youemei
Visitor
Visitor
6,308 Views
Registered: ‎10-29-2010

Dear  John Linn,

     Thank your reply.

     Yes,I follow the wiki step to add the USB Drvice into the kernel during porting linux to ML507 .It is  in the page http://xilinx.wikidot.com/usb-host-controller-driver.

     So I find i can find the license for the XPS_usb_host core ,if it should pay, is there any other method to port a USB driver into the linux 2.6.x kernel?

     and i have another question:

            in the wiki page said:

PHY

The USB Host controller needs a PHY to communicate with USB devices. It should work with any ULPI PHYs. The PHY that we have been using for development on ML40X and ML50X boards is the SMSC daughter card:

http://www.digilentinc.com/Products/Detail.cfm?Prod=EVB-USB3300-XLX&Nav1=Products&Nav2=Accessory
http://www.smsc.com/main/catalog/usb3300.html#Additional%20Information

 

but i find ML507 has a host controller CY7C67300-100AI, is that a PHY to communicate with a USB device?

and what i need the SMSC daughter card for?

 

      best wishes,

     forward for your reply.thanks.

0 Kudos
linnj
Xilinx Employee
Xilinx Employee
6,287 Views
Registered: ‎09-10-2008

From what I was told, the phy on the ML507 does not work correctly.

0 Kudos