This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TUSB9261 Enumeration

Other Parts Discussed in Thread: TUSB9261, PMP

I have a customer with the following questions:

 

1) Does the TUSB9261 support port multipliers and/or FIS-switching on its SATA port?
I have tried interfacing the TUSB9261 eval board with 2 different port multipliers but so far have had no success getting multiple drives to work (the port multiplier will only function as a single drive pass-through).

2) Has TI tested the TUSB9261 with Intel's ICH9M IO controller?
I have tried the TUSB9261 eval board with two different single board computers that each use the ICH9M IO Controller for the USB port.
Neither enumerate the TUSB9261.  The board functions fine when I use it with the USB ports (USB 2.0 and USB3.0) of the desktop PC at my desk (which I'm sure has a different IO controller supplying the USB ports).

 

Thanks,

Rinzai Bell

  • Rinzai,

    On the first question:
    Port multiplier is supported by the HW, but the included FW does not support it.  The customer can request the source code (send the request to USB3_Support@ti.com) and modify it themselves to add support if they wish. 

    On the second question, is it a silent failure?  Could it be a power issue - is the EVM bus-powered or self-powered?  What is connected to the SATA interface of the board?

  • Dan,

    Thanks for your response.  I actually originated this question via TI's tech support page (case #1-768810670).  Rinzai Bell posted the questions on this forum on my behalf.

    Anyway, can you give me some idea as to the scope/extent of the effort for making this firmware modification?  Presently, our software engineers are very busy on other projects.  If this modification is fairly minor, possibly one of them can make this change.  If it's fairly involved/in depth (which I suspect otherwise I imagine your engineers would have already done it), this might be a show-stopper for designing in this part.

    As for your questions regarding the USB enumeration when I use the TUSB9261 with an ICH9M, I am not sure what a "silent failure" is. The EVM is self-powered (as it is when I tried the EVM with my desktop PC's USB ports). I use the same SATA drive (an Intel SSD) in both sets of experiments.  Do you have any experience with interfacing the TUSB9261 with one of the USB ports from Intel's ICH9M?

  • Harold,

    Bty silent failure, I mean what does the host PC system show you when it "fails"?

     

    On the FW mods, it’s not exactly trivial, but the FW is architected in such a way that adding it doesn’t require re-writing it.  My SW engineer said it should be about a week of work to implement/debug if you know what you’re doing…significantly longer if you don’t.  We have had another customer add it themselves and it took them about a week or so to get it working.

    Some general guidance on what is need:

    • The SATA core controller does support port multiplier, but the mass storage layers, associated datapath RAM, and USB stack are architected for a single LUN only.
    • You have to maintain separate state machines and memory structures for each LUN and divide up the datapath RAM which could impact performance.  Then just setup PMP bits in each command FIS.    “ ata_cmd.fis.CRRR_PMP = 0x80;  /* Set C bit, no port multiplier */”.  Of course you must also enumerate the port multiplier during SATA init.
  • Dan,

    With the PC that does enumerate the EVM, in the Device Manager, under Universal Serial Bus controllers, I see a USB Mass Storage Device add to the list of controllers when I plug in the EVM (and the drive connected to the EVM appears under Disk Drives).  With the "failing" systems, there's no addition of any device (not even one with a yellow question mark/exclamation mark).  There's no obvious error message or status window that Windows (XP Pro SP3) displays when I plug in the EVM to these "failing" systems.  So yes, I guess I consider this a silent failure.  As for LEDs visible on the EVM when it fails to enumerate, D1 is blinking and D3 is solid on. No other LED is illuminated.

    Thanks for the updates regarding the FW modifications.

  • Dan,

    Regarding the firmware modifications, what development tools/SDK do I need?  Was this code developed with Code Composer Studio?

    Thanks,

    Hal

  • Harold,

    Yes, on Code Composer Studio for FW mods.

    On the sient failures, that means the host system is not even seeing the device as being plugged in.  Could you try with a an older USB 2.0 cable and see if you get anything recognition.

  • Dan,

    I tried two USB 2.0 cables (both that work with other USB devices with this same single board computer) but got the same result with the TUSB9261 EVM.  The TUSB9261 continues to fail to enumerate with this system.

    So I will repeat an earlier question that I asked - do you have any experience interfacing the TUSB9261 with an Intel ICH9M's USB ports?


    Thanks,

    Hal

  • Dan,

    As for using Code Composer Studio to make these firmware modifications, do you know if I need to purchase a license in order to do this or can use the 30-day/90-day evaluation version to make these changes?  I'm not sure if the evaluation version is crippled in some way and/or does not support this device.

    In addition, is there additional documentation for the TUSB9261 (i.e. a firmware development document) that describes the memory map of the device and register set?  The Data Manual does not have this information.

    Thanks,
    Hal

  • Hal,

    We need to setup an NDA if you want to see register maps and functional specs.  Not sure you need tose unless you’re doing something advanced.  90% don't need it.  The source code comes with a reference manual documenting architecture and all functions.

    I've never used the eval SW so you'll just have to try it.

    Regards,

    Brian