Re: [PATCH] extcon: Modify the id and name of external connector

From: Chanwoo Choi
Date: Mon Oct 05 2015 - 05:04:32 EST


Hi Roger,

On 2015ë 10ì 05ì 18:01, Chanwoo Choi wrote:
> Hi Roger,
>
> On 2015ë 10ì 05ì 17:26, Roger Quadros wrote:
>> Chanwoo,
>>
>> On 04/10/15 06:45, Chanwoo Choi wrote:
>>> This patch modifies the id and name of external connector with the additional
>>> prefix to clarify both attribute and meaning of external connector as following:
>>> - EXTCON_CHG_* mean the charger connector.
>>> - EXTCON_JACK_* mean the jack connector.
>>> - EXTCON_DISP_* mean the display port connector.
>>>
>>> Following table show the new name of external connector with old name:
>>> -------------------------------------------------
>>> Old extcon name | New extcon name |
>>> -------------------------------------------------
>>> EXTCON_TA | EXTCON_CHG_USB_DCP |
>>> EXTCON_FAST_CHARGER | EXTCON_CHG_USB_FAST |
>>> EXTCON_SLOW_CHARGER | EXTCON_CHG_USB_SLOW |
>>> EXTCON_CHARGE_DOWNSTREAM| EXTCON_CHG_USB_CDP |
>>> -------------------------------------------------
>>> EXTCON_MICROPHONE | EXTCON_JACK_MICROPHONE|
>>> EXTCON_HEADPHONE | EXTCON_JACK_HEADPHONE |
>>> EXTCON_LINE_IN | EXTCON_JACK_LINE_IN |
>>> EXTCON_LINE_OUT | EXTCON_JACK_LINE_OUT |
>>> EXTCON_VIDEO_IN | EXTCON_JACK_VIDEO_IN |
>>> EXTCON_VIDEO_OUT | EXTCON_JACK_VIDEO_OUT |
>>> EXTCON_SPDIF_IN | EXTCON_JACK_SPDIF_IN |
>>> EXTCON_SPDIF_OUT | EXTCON_JACK_SPDIF_OUT |
>>> -------------------------------------------------
>>> EXTCON_HMDI | EXTCON_DISP_HDMI |
>>> EXTCON_MHL | EXTCON_DISP_MHL |
>>> EXTCON_DVI | EXTCON_DISP_DVI |
>>> EXTCON_VGA | EXTCON_DISP_VGA |
>>> -------------------------------------------------
>>>
>>> And, when altering the name of USB charger connector, EXTCON refers to the
>>> "USB battery charging specification"[1] to use the standard name of USB
>>> charging port as following. Following name of USB charging port are already used
>>> in power_supply subsystem. We chan check it on patch[2].
>>> - EXTCON_CHG_USB /* Standard Downstream Port */
>>> - EXTCON_CHG_USB_DCP /* Dedicated Charging Port */
>>> - EXTCON_CHG_USB_CDP /* Charging Downstream Port */
>>> - EXTCON_CHG_USB_ACA /* Accessory Charging Adapter */
>>>
>>> [1] http://www.usb.org/developers/docs/devclass_docs/USB_Battery_Charging_1.2.pdf
>>> [2] commit 85efc8a18ce ("[PATCH] power_supply: Add types for USB chargers")
>>>
>>> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx>
>>> ---
>>> drivers/extcon/extcon-arizona.c | 18 ++++++------
>>> drivers/extcon/extcon-axp288.c | 12 ++++----
>>> drivers/extcon/extcon-max14577.c | 18 ++++++------
>>> drivers/extcon/extcon-max77693.c | 32 +++++++++++----------
>>> drivers/extcon/extcon-max77843.c | 27 ++++++++++--------
>>> drivers/extcon/extcon-max8997.c | 21 +++++++-------
>>> drivers/extcon/extcon-rt8973a.c | 4 +--
>>> drivers/extcon/extcon-sm5502.c | 4 +--
>>> drivers/extcon/extcon.c | 60 ++++++++++++++++++++-------------------
>>> include/linux/extcon.h | 61 +++++++++++++++++++++++-----------------
>>> 10 files changed, 138 insertions(+), 119 deletions(-)
>>>
>>
>> <snip>
>>
>>> diff --git a/drivers/extcon/extcon.c b/drivers/extcon/extcon.c
>>> index 8dd0af1..505a028 100644
>>> --- a/drivers/extcon/extcon.c
>>> +++ b/drivers/extcon/extcon.c
>>> @@ -39,37 +39,39 @@
>>> #define CABLE_NAME_MAX 30
>>>
>>> static const char *extcon_name[] = {
>>> - [EXTCON_NONE] = "NONE",
>>> + [EXTCON_NONE] = "EXTCON_NONE",
>>>
>>> /* USB external connector */
>>> - [EXTCON_USB] = "USB",
>>> - [EXTCON_USB_HOST] = "USB-HOST",
>>> -
>>> - /* Charger external connector */
>>> - [EXTCON_TA] = "TA",
>>> - [EXTCON_FAST_CHARGER] = "FAST-CHARGER",
>>> - [EXTCON_SLOW_CHARGER] = "SLOW-CHARGER",
>>> - [EXTCON_CHARGE_DOWNSTREAM] = "CHARGE-DOWNSTREAM",
>>> -
>>> - /* Audio/Video external connector */
>>> - [EXTCON_LINE_IN] = "LINE-IN",
>>> - [EXTCON_LINE_OUT] = "LINE-OUT",
>>> - [EXTCON_MICROPHONE] = "MICROPHONE",
>>> - [EXTCON_HEADPHONE] = "HEADPHONE",
>>> -
>>> - [EXTCON_HDMI] = "HDMI",
>>> - [EXTCON_MHL] = "MHL",
>>> - [EXTCON_DVI] = "DVI",
>>> - [EXTCON_VGA] = "VGA",
>>> - [EXTCON_SPDIF_IN] = "SPDIF-IN",
>>> - [EXTCON_SPDIF_OUT] = "SPDIF-OUT",
>>> - [EXTCON_VIDEO_IN] = "VIDEO-IN",
>>> - [EXTCON_VIDEO_OUT] = "VIDEO-OUT",
>>> -
>>> - /* Etc external connector */
>>> - [EXTCON_DOCK] = "DOCK",
>>> - [EXTCON_JIG] = "JIG",
>>> - [EXTCON_MECHANICAL] = "MECHANICAL",
>>> + [EXTCON_USB] = "EXTCON_USB",
>>> + [EXTCON_USB_HOST] = "EXTCON_USB_HOST",
>>> +
>>> + /* Charging external connector */
>>> + [EXTCON_CHG_USB] = "EXTCON_CHG_USB",
>>> + [EXTCON_CHG_USB_FAST] = "EXTCON_CHG_USB_FAST",
>>> + [EXTCON_CHG_USB_SLOW] = "EXTCON_CHG_USB_SLOW",
>>
>> How does FAST & SLOW correlate to USB specifications?
>
> There is no specification about FAST & SLOW USB charger.
> Just, the datasheet of MUIC (Micro-USB Interface Circuit) device
> can detect the DCP (Dedicated Charging Port) and more two type charger
> according to current value as following:
>
> For example,
> max77693 MUIC device (is used on Samsung Galaxy S3)
> - CHG_USB_DCP: current up to 1.5A
> - CHG_USB_SLOW : current up to 500mA
> - CHG_USB_FAST : current up to 1A or 2A
>
> max77836 MUIC device (is used on Samsung gear 2)
> - CHG_USB_DCP: current up to 1.5A
> - CHG_USB_SLOW : current up to 500mA
> - CHG_USB_FAST : current up to 1A or 2A
>
> max77843 MUIC device (is used on Samsung Galaxy Note4)
> - CHG_USB_DCP: current up to 1.5A
> - CHG_USB_SLOW : current up to 500mA
> - CHG_USB_FAST : current up to 1A or 2A
>
> If MUIC device detects the some USB charger which
> has the more maximum current than DCP, this muic device
> call the FAST charger. Also, there is oppsite case for SLOW charger.

I think that following name is more appropriate than old name.
- EXTCON_CHG_USB_SLOW -> EXTCON_CHG_USB_DCP_SLOW
- EXTCON_CHG_USB_FAST -> EXTCON_CHG_USB_DCP_FAST

Thanks,
Chanwoo Choi

>
>>
>>> + [EXTCON_CHG_USB_DCP] = "EXTCON_CHG_USB_DCP",
>>> + [EXTCON_CHG_USB_CDP] = "EXTCON_CHG_USB_CDP",
>>
>> What about USB ACA?
>
> ACA is "Accessory Charging Adapter". But, I didn't understand the role
> of ACA charger type. I'll drop ACA type on next version.
>
> [snip]
>
> Thanks,
> Chanwoo Choi
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/