How to Pass the TD 9.1, USB 3.1 Device Descriptor Test – KBA221825

Version: **

 

Question:

I am performing USB3 CV test on the FX3/CX3 board. The Device descriptor test TD 9.1 is failing with the default bcdUSB = 0x0300 value. How to pass this test?

 

Answer:

By default, the bcdUSB value in the SuperSpeed device descriptor of the example projects provided with FX3 SDK (till SDK version 1.3.3) is set to 0x300. However, the USB 3 CV tool expects that the bcdUSB value must be 0x0310 for USB 3.1 SuperSpeed devices. This test passes by changing the bcdUSB value to 0x0310.

 

The example device descriptor to pass the test is provided below:

 

/* Standard Device Descriptor for USB 3.1 */

const uint8_t CyFxUSB30DeviceDscr[] __attribute__ ((aligned (32))) =

{

    0x12,                           /* Descriptor Size */

       CY_U3P_USB_DEVICE_DESCR,        /* Device Descriptor Type */

    0x10,0x03,                      /* USB 3.1 */

    0x00,                           /* Device Class */

    0x00,                           /* Device Sub-class */

    0x00,                           /* Device protocol */

    0x09,                           /* Maxpacket size for EP0 : 2^9 */

    0xB4,0x04,                      /* Vendor ID  = 0x04B4 */

    0x34,0x12,                      /* Product ID = 0x1234 */

    0x00,0x00,                      /* Device release number */

    0x01,                           /* Manufacture string index */

    0x02,                           /* Product string index */

    0x03,                           /* Serial number string index */

    0x01                            /* Number of configurations */

};