FX3S device is not detected by host at few power up

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

cross mob
lock attach
Attachments are accessible only for community members.
user_2283911
Level 1
Level 1

Hello,

We are using FX3S cypress device (CYUSB3025) which is connected with our Host processor at USB 3.0 interface. The application running on Cypress FX3S device is MSC (mass storage). An eMMC and sd card are connected at the storage ports  of cypress device.

We are getting an random issue with the cypress device.

At few power ups, Host processor do not not detect the cypress device and ultimately no access to eMMC. The issue is observed for 1 out of every 10 power ups.

for debugging, we have seen the UART prints of Cypress device, i have attached the logs of CYPRESS UART for passing and failing case.

The above observation is with firmware version 1.3.1.

We have also updated the Cypress boot image with firmware 1.3.4, but the problem is still there with problem frequency 1 out of 15 power ups.

Please look at the UART pass/fail logs and suggest us that what can be the issue and also how can we debug this issue?

Thanks and Regards

Tarang Jindal

0 Likes
1 Solution

Hi Tarang,

It is highly possible that host is trying to reconnect the device again and again. I can't be sure whether the issue is with host or device or the connecting wires. we have to debug it step by step.

Please try to log more info about the USB driver by using the log API's as implemented in Bulksourcesink example. Here is the snippet of the code for your reference. Kindly refer that firmware example to get more logs.

/* Register a buffer into which the USB driver can log relevant events. */

    gl_UsbLogBuffer = (uint8_t *)CyU3PDmaBufferAlloc (CYFX_USBLOG_SIZE);

    if (gl_UsbLogBuffer)

        CyU3PUsbInitEventLog (gl_UsbLogBuffer, CYFX_USBLOG_SIZE);

    CyU3PDebugPrint (4, "About to connect to USB host\r\n");

We have to see what is happening with the PHY, is it going down or not? All the info will be logged.

Here is the path for the USBblksrcsink example:

C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\basic_examples\cyfxbulksrcsink

Thanks & Regards
Abhinav

View solution in original post

0 Likes
5 Replies
abhinavg_21
Moderator
Moderator
Moderator
50 likes received 25 likes received 10 likes received

Hi Tarang,

Try to probe the USB lines and Vcc lines of FX3S chip to check its state (in both passing and failing cases)when host processor goes to sleep state. Also mention more detail about host processor.

Thanks & Regards
Abhinav Garg

0 Likes

Hello Abhinav ,

We are using TI based Keystone-2 SoC with this FX3S device.

Please let us know " is there any compatibility issue between K-2 SoC and FX3S Devices"?

Also, What can be the reasons for such behavior  of FX3S device?

Regards

Tarang

0 Likes

Hi Tarang,

-- is there any compatibility issue between K-2 SoC and FX3S Devices"?

We haven't tried it so I can't comment about the compatibility issues between the two.

Please try to probe the USB lines and Vcc lines of FX3S chip to check its state (in both passing and failing cases)when host processor goes to sleep state.

Thanks & Regards

Abhinav Garg

0 Likes

Hello Abhinav,

---> "Please try to probe the USB lines and Vcc lines of FX3S chip to check its state (in both passing and failing cases)when host processor goes to sleep state."

Currently, we can not probe the USB Lines due to other priorities.

All the USB VCC lines are proper in failing case.

can you let us know that at which side (Host Processor or Cypress USB Bridge) we should look for the problem.

What information we get from the behavior of Cypress bridge UART console in case of  failure?

What does those failure print means  "USB event 0 received" instead of "USB event 4 received"??

0 Likes

Hi Tarang,

It is highly possible that host is trying to reconnect the device again and again. I can't be sure whether the issue is with host or device or the connecting wires. we have to debug it step by step.

Please try to log more info about the USB driver by using the log API's as implemented in Bulksourcesink example. Here is the snippet of the code for your reference. Kindly refer that firmware example to get more logs.

/* Register a buffer into which the USB driver can log relevant events. */

    gl_UsbLogBuffer = (uint8_t *)CyU3PDmaBufferAlloc (CYFX_USBLOG_SIZE);

    if (gl_UsbLogBuffer)

        CyU3PUsbInitEventLog (gl_UsbLogBuffer, CYFX_USBLOG_SIZE);

    CyU3PDebugPrint (4, "About to connect to USB host\r\n");

We have to see what is happening with the PHY, is it going down or not? All the info will be logged.

Here is the path for the USBblksrcsink example:

C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\basic_examples\cyfxbulksrcsink

Thanks & Regards
Abhinav

0 Likes