
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