Low Power Mode Request From Host

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

cross mob
Anonymous
Not applicable

Hello,

   

  The function below has to return "CyFalse" instead of "CyTrue" to successfully transfer data.

   

CyBool_t
CyFxBulkLpApplnLPMRqtCB (
        CyU3PUsbLinkPowerMode link_mode)
{
    return CyFalse;
}   

   

  <Firmware API Guild> said :"The USB 3.0 host may request the FX3 device to switch the USB link to a low power state when the host has no more activity to perform." So, what does "no more activity" mean? Why is this request sent out from host? Thanks.

0 Likes
1 Reply
Anonymous
Not applicable

Hi,

   

The Low Power modes are defined in the USB Specification, by which a host controller can request the device to go to low power. The behavior of when and why each host controller issues low power request varies from different hosts.

   

If you set that to CyFalse, you will not have the trouble of going into low power mode. But you might miss your USB Certification.

   

So the best approach is to disable LPM Usin CyU3PUsbLPMDisable () API and re-enable it using the CyU3PUsbLPMEnable (). The LPM Disable and Enable APIs can be called anytime after the CyU3PConnectState is called. Before you know that the data transfers are going to begin, you need to call LPMDisable API. When there is no data transfer, you need to have LPM enabled by calling CyU3PUsbLPMEnable. By following this approach, you will not be having problems with data transfer and will also be able to achieve USB Certification.

   

Regards,

   

-Madhu Sudhan

0 Likes