3 Replies Latest reply on Feb 21, 2020 4:53 AM by YashwantK_46

    Meaning for U1 & U2 exit latency in BOS descriptor

    HuYa_4249091

      Hi All:

       

      I'm confused for that.

      U1U2 Exit Latency.jpg

       

      According to USB spec:

      U1 U2 spec.jpg

       

      Q1: If I set the U1 latency to 0x00, it means that the FX3 will resume from U1 to U0 by 0us?

       

      Q2: If the FX3 needs 2us to resume from U1 to U0. And I set the U1 latency to 0x05. The actual time spent is 2us?

       

      Q3: If the FX3 needs 3us to resume from U1 to U0. What happen if I set the U1 latency to 0x0?

       

      Thanks a lot!

        • 1. Re: Meaning for U1 & U2 exit latency in BOS descriptor
          YashwantK_46

          Hello,

           

          The U1 Device Exit Latency and U2 Device Exit Latency is used to tell the host that the host doesn't need to wait for the amount of time that is specified inorder for the device to react to the U1 -> U0 or U2 -> U0 link transitions request and actually recover to U0 state in the worst case scenario.

           

          So, in case of interrupt endpoints, they need to be completed within the service interval and inorder for that to happen, the host sends transfer far enough ahead of time to compensate for the worst case link exit latency.

           

          All of our SDK firmware examples have 0x00 for the U1 Device Exit Latency and U2 Device Exit Latency fields in the BOS descriptors and it is recommended to follow it.

           

          So, to answer you questions:

          1.) If U1 Device Exit Latency is set to 0x00, this means that when the host sends a request for the device to transition to U0 from U1, the host need not wait for any latency and can continue other operations.

          2.) If FX3 needs 2uS to transition from U1 to U0 and you set latency as 5uS, the actual time the host would wait for is 5uS irrespective of whether or not the device has recovered or not and then continue with other operations.

          3.) Once the host sends request to transition from U1 to U0 and latency set to 0x00, since the LFPS handshake timer expires, the downstream port on the host side goes into inactive state.

           

          Regards,

          Yashwant

          1 of 1 people found this helpful
          • 2. Re: Meaning for U1 & U2 exit latency in BOS descriptor
            HuYa_4249091

            Dear Yashwant:

             

            Thanks for your detailed response!!

             

            You mentioned "All of our SDK firmware examples have 0x00 for the U1 Device Exit Latency and U2 Device Exit Latency fields in the BOS descriptors and it is recommended to follow it.".

            Does it mean that FX3 recovers from U1/U2 to U0 very fast, so we can set to 0x00?

             

            Thank you!

            • 3. Re: Meaning for U1 & U2 exit latency in BOS descriptor
              YashwantK_46

              Hello,

               

              Does it mean that FX3 recovers from U1/U2 to U0 very fast, so we can set to 0x00?

              ->> We actually don't have any validated data for the transition time and hence are setting it to 0x00.

              We haven't faced any issues as such as well with this setting and hence are using it as default.

               

              You can try and use some non-zero values and see if you find any improvement or change in the behaviour on your side.


              Regards,
              Yashwant

              1 of 1 people found this helpful