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.

RTOS/EVMK2G: USB Driver Enumeration issue

Part Number: EVMK2G

Tool/software: TI-RTOS

Hi,

I  am having one K2G-EVM and using TI RTOS (Processor SDK) on it. The PSDK have USB driver and it implements mass storage class.

I am trying to enumerate an iPhone. I am not concerned about any USB class now. I am just trying to get the device descriptor.

With iPhone models like iPhone 6, iPhone SE and iPhone X, I am able to get the device descriptor with the existing PSDK USB driver without any modification.

But for iPhone 5c, I am unable to do the same. Unlike other iPhones, iPhone 5c is not even getting charged when I connect it to the K2G board.

I am debugging the code and I have found the following:

  • In working scenario, once I get event interrupt in USBSTS register,  I go ahead and read DWC_USB_PORTSC1 register where I get value 0x206E1. The 0th bit (Current Connect Status bit) transitions to 1 indicating that a device is connected. The Port Link State bits(bit 8:5) is 7 which means Link is in Polling State.

  • In case of iPhone 5c, I get the event interrupt in USBSTS register but when I read DWC_USB_PORTSC1 register, I get value 0x202a0. The 0th bit (Current Connect Status bit) is still 0 and the value of Port Link State bit is 5 which means Link is in RxDetect Sate.

Would you please suggest me where should I look to fix the issue?

Regards,

Krishna