Cypress Perform

Home > Design Support > Cypress Developer CommunityTM > Cypress Forums > USB Controllers > Extending USB2.0 code to SuperSpeed

Bookmark and Share
Cypress Developer CommunityTM
Forums | Videos | Blogs | Training | Rewards Program | Community Components



Extending USB2.0 code to SuperSpeed
Moderator:
RSKV

Post Reply
Follow this topic



Extending USB2.0 code to SuperSpeed

mrainer posted on 27 Jul 2012 6:07 AM PST
Member
7 Forum Posts

 Hello. I am working on extending the host software of an old FX2 application to make it work with an FX3 device. I have some questions for which the documentation is not so explicit about, and unfortunately I can't test the code with the device until September.

 
1) First of all I was wondering if there is any issue with bulk endpoints, that is, if there are any bulk endpoints designed specifically for working in SuperSpeed mode. If not, then I can just set a couple of IN/OUT bulk endpoints and use them independently of the port (USB 2.0 or 3.0) I connect the device to? 
 
2) The Alternate Interfaces. Let's say I have a USBDevice (CCyUSBDevice*) and I set the EndPoint 4 for IN transfers and EndPoint 6 for OUT transfers. Then I do a USBDevice->setAltIntfc(new_interface). Should I set a new pair of EndPoints or the alternative interface will just use the previous ones? And if so, each alternative interface is bound to its EndPoints or I just have to set them up everytime I switch to another interface?
 
3) I saw that SetXferSize() and GetXferSize() methods are obsolete and no longer supported. Does this mean that the only way to play with the transfer size is how described in msdn.microsoft.com/en-us/library/ff538112.aspx?
 
 
Thanks a lot for your time.
 
 
Regards,
m.
 



Re: Extending USB2.0 code to SuperSpeed

RSKV posted on 01 Aug 2012 12:03 AM PST
Cypress Employee
655 Forum Posts

Please find the answers to your questions below:

1) First of all I was wondering if there is any issue with bulk endpoints, that is, if there are any bulk endpoints designed specifically for working in SuperSpeed mode. If not, then I can just set a couple of IN/OUT bulk endpoints and use them independently of the port (USB 2.0 or 3.0) I connect the device to? 
 
<RSKV>
Yes. You can configure endpoints to IN/OUT bulk endpoints and use them independently of the port.
Suppose you have developed your application firmware for FX3 device based on the example projects that we provide then it works independent of the port that you connect it to.
<RSKV>
 
2) The Alternate Interfaces. Let's say I have a USBDevice (CCyUSBDevice*) and I set the EndPoint 4 for IN transfers and EndPoint 6 for OUT transfers. Then I do a USBDevice->setAltIntfc(new_interface). Should I set a new pair of EndPoints or the alternative interface will just use the previous ones? And if so, each alternative interface is bound to its EndPoints or I just have to set them up everytime I switch to another interface?
 
<RSKV>
When you are using alternate interface then you can use the same endpoint numbers or different endpoints. Basically this information you need to mention in the descriptor tables. Please refer to the example project that comes with the Cypress SuiteUSB installation. (C:\Cypress\Cypress Suite USB 3.4.5\Firmware\CyStreamer)
http://www.cypress.com/?rID=34870
<RSKV>
 
 

Regards,

sai kirshna.






ALL CONTENT AND MATERIALS ON THIS SITE ARE PROVIDED "AS IS". CYPRESS SEMICONDUCTOR AND ITS RESPECTIVE SUPPLIERS MAKE NO REPRESENTATIONS ABOUT THE SUITABILITY OF THESE MATERIALS FOR ANY PURPOSE AND DISCLAIM ALL WARRANTIES AND CONDITIONS WITH REGARD TO THESE MATERIALS, INCLUDING BUT NOT LIMITED TO, ALL IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT OF ANY THIRD PARTY INTELLECTUAL PROPERTY RIGHT. NO LICENSE, EITHER EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, IS GRANTED BY CYPRESS SEMICONDUCTOR. USE OF THE INFORMATION ON THIS SITE MAY REQUIRE A LICENSE FROM A THIRD PARTY, OR A LICENSE FROM CYPRESS SEMICONDUCTOR.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms and Conditions of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms and Conditions of this site. Cypress Semiconductor and its suppliers reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.