Есть self-powered и bus-powered устройства. Потребляеммая мощность
указывается в ConfigDescriptor-e, но перед этим надо выдать
DeviceDescriptor. А сначала определить наличие устройства и
скорости по подтяжке линии D+ или D-. Аппаратно можно подсмотреть у
всяких микроконтроллеров, например, EFM32: