[U-Boot] [PATCH 1/8] usb: gadget: Move CONFIG_USB_GADGET_VBUS_DRAW to Kconfig

Soeren Moch
2016-04-07T11:31:58Z

On 04/05/16 21:45, Marek Vasut wrote:
> On 04/05/2016 07:35 PM, Stephen Warren wrote:
>> On 04/05/2016 10:36 AM, Semen Protsenko wrote:
>>> From: Sam Protsenko <semen.protsenko@linaro.org>
>>>
>>> The description was borrowed from kernel, but allowed range was changed
>>> from 2..500 to 0..500, because some boards require this option to be 0.
>>
>> Do they /require/ the value to be 0, or simply currently have it set to
>> 0 because whoever set the value in U-Boot wasn't aware that a value of 0
>> could cause issues with some hosts?

For TBS2910 I set the value to 0 because the board does not need any power
from the host. It is always self-powered and cannot be driven from USB.
And yes, I was not aware that a value of 0 could cause problems.

>> I'd be tempted to keep the same range as the Linux kernel and bump all
>> boards up to a minimum value of 2.
>
> Right. VBUS draw 0 might confuse some non-Linux systems.

>> Presumably there's some good reason
>> the kernel chose a minimum of 2, and in practice I expect increasing all
>> boards to 2 isn't going to make any negative difference.
>>
>>> diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig
>>
>>> +config USB_GADGET_VBUS_DRAW
>>> + int "Maximum VBUS Power usage (2-500 mA)"
>>> + range 0 500
>>> + default 2
>>> + help
>>> + Some devices need to draw power from USB when they are
>>> + configured, perhaps to operate circuitry or to recharge
>>> + batteries. This is in addition to any local power supply,
>>> + such as an AC adapter or batteries.
>>> +
>>> + Enter the maximum power your device draws through USB, in
>>> + milliAmperes. The permitted range of values is 2 - 500 mA;
>>> + 0 mA would be legal, but can make some hosts misbehave.
>>
>> In particular, I'm thinking of that last sentence.

Is the problematic value of zero forbidden in some spec, or is actually
a bug in the host driver (to be fixed there) causing confusion?

On the other hand, if no bus power is needed a maximum power value of 2mA
should not hurt.

Regards,
Soeren