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 .
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. ?
Thanks for the reply. I had pasted the following lines of code as mentioned in the link:
USBCS |= 0x08;
CT1 |= 0x02;
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 ?
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?