Full speed mode on Cy7C68013A

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hi, 

   

I am working on Cypress Cy7C68013A high speed controller. How can I configure the configure the size of the endpoint buffer to be 64bytes (as in full speed), for the bulk transfer. My host also supports USB 2.0 high speed, but due to the typical nature of the project, I need to limit the endpoint size to 64bytes. How can I do this ? 

   

Thank You

0 Likes
5 Replies
Anonymous
Not applicable

 Hi,

   

 Refer section Disabling High-speed Chirp via EEPROM Config Byte of application note MIGRATING FROM EZ-USB(R) FX2(TM) TO EZ-USB FX2LP(TM) - AN4078 .

   

Regards

   

Prajith

0 Likes
Anonymous
Not applicable

 Hi Prajith, 

   

I referred the section mentioned above, but since there was no detailed documentation on the procedure, I was not able to achieve it. Instead, I hard coded al the endpoint sizes to 64bytes, including that of the high speed configuration descriptors, and places where high speed feature is checked by the firmware as "EZUSB_HIGHSPEED()" .  

   

After hard coding the endpoint sizes as 64bytes, I am getting the 64bytes as endpoint size on EZ-USB Interface too. 

   

I am doing my development on a USB 2.0 host, but I will be implementing my project on a USB 1.1 host. 

   

Is this a reliable solution to work on. ? 

   

Thank You

0 Likes
Anonymous
Not applicable

 Hi,

   

 

   

This might be useful for you http://www.cypress.com/?id=4&rID=30776.

   

 

   

Regards,

   

Gayathri

0 Likes
Anonymous
Not applicable

 Hi, 

   

Thanks for the reply. I had pasted the following lines of code as mentioned in the link:

   

USBCS |= 0x08;
EZUSB_Delay(1500);
CT1 |= 0x02;
USBCS &=0xF7;

   

and it works on standard examples. But the USB enumeration fails once I try to use only one endpoint. 

   

I worked on the application example "EZ-USB® FX2LP™ GPIF and Slave FIFO Configuration Examples using FX2LP

   

Back-to-Back Setup", on the slave part of the firmware, which has two endpoints configured. Once the above code is used in TD_init( ), the slave gets enumerated as a full speed device. For the same example, the USB eumeration fails after using only one endpoint. Why is that happening ? 

   

Thank You

0 Likes
Anonymous
Not applicable

 Hi,

   

 

   

What is the behaviour seen? Does it enumerate with VID/PID = 0x0000/0x0000 or Unkown device kind of pop ups come? What does it appear as in DEvice manager? Is it possible to attach any USB traffic trace to understand how exactly it is failing?

   

 

   

Regards,

   

Gayathri

0 Likes