Generally, the device will work even if it is drawing more current than what mentioned in the configuration descriptors, unless the total current from the hub exceeds the max current from the hub. The hub/host will check configuration descriptors power setting during the configuration to see if it can support that much current.
Have you tried to set the bmaxpower to max supported and see? If you have UVC+ CDC, please stop UVC streaming and see if CDC transfers are working? Is it like UVC is taking most of the current, so that CDC transfers are not supported? You can create a tech support case if the problem persists
thanks a lot.
I test as you told me ,the CDC can work.but when i let the FPGA and Cy3014 work, the composite device will be disappear,which means the composite device cannot be enumerated in PC, it is the problem that the power cannot let the composite device work.I test my board,the power it need is more or less 600mA，and i configure the max power to 900mA (usb3.0).this means the max power i configuration in Configuration Descriptor is not work.
More than the initial hub/host configuration you've mentioned, does the bMaxPower value have any additional practical sense in USB System of linux/windows? How that configuration descriptor field is controlled by a host?