EZ-USB FX3 Examples: BOS USB 2.0 Extension bmAttributes wrong?

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

cross mob
DiDi_4439146
Level 3
Level 3
First solution authored 10 sign-ins 10 replies posted

Hi, I'm looking through the code examples in the EZ-USB FX3 SDK. I noticed a lot of these examples use the value as part of the BOS Descriptor's USB 2.0 bmAttribute value:

0x1E,0x64,0x00,0x00,

For example in the file EZ-USB FX3 SDK\1.3\firmware\basic_examples\cyfxusbdebug\cyfxusbdscr.c:

    /* USB 2.0 extension */

    0x07,                           /* Descriptor size */

    CY_U3P_DEVICE_CAPB_DESCR,       /* Device capability type descriptor */

    CY_U3P_USB2_EXTN_CAPB_TYPE,     /* USB 2.0 extension capability type */

    0x1E,0x64,0x00,0x00,            /* Supported device level features: LPM support, BESL supported,

                                       Baseline BESL=400 us, Deep BESL=1000 us. */

Some of them use what I would expect the value to be of 0x02, for example in EZ-USB FX3 SDK\1.3\firmware\serialif_examples\cyfxusbuart\cyfxusbuartdscr.c:

    /* USB 2.0 extension */

    0x07,                           /* Descriptor size */

    CY_U3P_DEVICE_CAPB_DESCR,       /* Device capability type descriptor */

    CY_FX_USB2_EXTN_CAPB_TYPE,      /* USB 2.0 extension capability type */

    0x02,0x00,0x00,0x00,            /* Supported device level features: LPM support  */

The examples have the 0x1E values in 40 instances:

$ grep "2.0 extension capability" * -A2 -R | grep "0x1E" | wc -l

40

and the 0x02 values in 2 instances:

$ grep "2.0 extension capability" * -A2 -R | grep "0x02" | wc -l

2

Section 9.6.2.1 of the USB 3.2 Spec states:

Capture.PNG

Which means the only valid values would be

0x00, 0x00, 0x00, 0x00

and

0x02, 0x00, 0x00, 0x00

for bmAttributes - NOT 0x1E, 0x64, 0x00, 0x00

Is there an error in the examples or my understanding?

Thank you

0 Likes
1 Solution
Hemanth
Moderator
Moderator
Moderator
First like given First question asked 750 replies posted

Hi,

Please download USB 2.0 Specification from the below link:

USB 2.0 Specification | USB-IF

Following which, refer to the below:

Table 3-1 in usb_20_20190524\USB2_LinkPowerMangement_ECN[final].pdf

is changed to the one given in page 3 of the following doc:

usb_20_20190524\USB2-LPM-Errata-final.pdf

Regards,

Hemanth

Hemanth

View solution in original post

3 Replies
Hemanth
Moderator
Moderator
Moderator
First like given First question asked 750 replies posted

Hi,

Please download USB 2.0 Specification from the below link:

USB 2.0 Specification | USB-IF

Following which, refer to the below:

Table 3-1 in usb_20_20190524\USB2_LinkPowerMangement_ECN[final].pdf

is changed to the one given in page 3 of the following doc:

usb_20_20190524\USB2-LPM-Errata-final.pdf

Regards,

Hemanth

Hemanth

pastedImage_0.png

I copied that table into the above image for reference.

So basically the USB 3.2 spec is out of date? and this table is the correct one for bmAttributes in the USB 2.0 Extension descriptor?

0 Likes
Hemanth
Moderator
Moderator
Moderator
First like given First question asked 750 replies posted

Hi,

We will have to associate the errata when considering the BOS 2.0 Extension Descriptor.

Regards,

Hemanth

Hemanth
0 Likes