Re: [PATCH] extcon: Add documentation for EXTCON_CHG_USB_SLOW/FAST

From: NeilBrown
Date: Tue Jan 03 2017 - 18:01:38 EST


On Tue, Jan 03 2017, Chanwoo Choi wrote:

> Hi Baolin,
>
> 2017-01-03 14:50 GMT+09:00 Baolin Wang <baolin.wang@xxxxxxxxxx>:
>> Currently there are no documentation for EXTCON_CHG_USB_SLOW/FAST
>> charger connector. These names don't mean much and no guide to tell
>> users how to use it, thus try to add documentation to make them clear.
>>
>> Suggested-by: NeilBrown <neilb@xxxxxxxx>
>> Signed-off-by: Baolin Wang <baolin.wang@xxxxxxxxxx>
>> ---
>> include/linux/extcon.h | 4 ++++
>> 1 file changed, 4 insertions(+)
>>
>> diff --git a/include/linux/extcon.h b/include/linux/extcon.h
>> index 0020123..ceec1f0 100644
>> --- a/include/linux/extcon.h
>> +++ b/include/linux/extcon.h
>> @@ -53,6 +53,10 @@
>> * the USB connector, which means EXTCON_CHG_USB_SDP should always
>> * appear together with EXTCON_USB. The same as ACA charger connector,
>> * EXTCON_CHG_USB_ACA would normally appear with EXTCON_USB_HOST.
>> + *
>> + * A cable of type EXTCON_CHG_USB_SLOW can provide at least 500mA of
>> + * current at 5V. A cable of type EXTCON_CHG_USB_FAST can provide at
>> + * least 1A of current at 5V.
>
> I agree the at least current value(mA) for EXTCON_CHG_USB_SLOW/FAST.
> But, I'm worried that fix the 5V.
>
> I have a plan to support the 'current' and 'voltage' property for
> charger connector as following:
> - EXTCON_PROP_CHG_CURRNET
> - EXTCON_PROP_CHG_VOLTAGE
>
> So, I don't like to fix the voltage for EXTCON_CHG_USB_SLOW/FAST.
> How about this?

I think you should be very caution about pursuing this approach. As it
stands, it implies that a given cable has a fixed voltage and a fixed
available current. This is not true of many cables.

The USB battery charging spec defines a range of possibly current limits
that each cable type can provide. There is a defined protocol for the
slave to detect how much current is available within that range. So
setting a single "CHG_CURRENT" property would be incorrect.

For SDP ports, the current limit is negotiation using the USB protocol
and it is completely unknown to the cable (and so to EXTCON). For
USB-C, there is a greater range of voltages and currents. I don't know
the details, but I do know that a single-valued "PROP_CHG_VOLTAGE" would
not be appropriate.

I think that EXTCON should stick with identifying the type of cable, and
leave it to the client to determine what other properties are implied by
each particular cable type.

Thanks,
NeilBrown

Attachment: signature.asc
Description: PGP signature