* [PATCH] extcon: Modify the id and name of external connector
@ 2015-10-04 3:45 Chanwoo Choi
2015-10-04 12:51 ` Charles Keepax
2015-10-05 8:26 ` Roger Quadros
0 siblings, 2 replies; 7+ messages in thread
From: Chanwoo Choi @ 2015-10-04 3:45 UTC (permalink / raw)
To: linux-kernel
Cc: k.kozlowski, ramakrishna.pallala, gregkh, rogerq, ckeepax, rf,
patches, cw00.choi, myungjoo.ham
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@samsung.com>
---
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(-)
diff --git a/drivers/extcon/extcon-arizona.c b/drivers/extcon/extcon-arizona.c
index a1ab0a5..e4890dd 100644
--- a/drivers/extcon/extcon-arizona.c
+++ b/drivers/extcon/extcon-arizona.c
@@ -137,9 +137,9 @@ static const int arizona_micd_levels[] = {
static const unsigned int arizona_cable[] = {
EXTCON_MECHANICAL,
- EXTCON_MICROPHONE,
- EXTCON_HEADPHONE,
- EXTCON_LINE_OUT,
+ EXTCON_JACK_MICROPHONE,
+ EXTCON_JACK_HEADPHONE,
+ EXTCON_JACK_LINE_OUT,
EXTCON_NONE,
};
@@ -600,7 +600,7 @@ static irqreturn_t arizona_hpdet_irq(int irq, void *data)
struct arizona_extcon_info *info = data;
struct arizona *arizona = info->arizona;
int id_gpio = arizona->pdata.hpdet_id_gpio;
- unsigned int report = EXTCON_HEADPHONE;
+ unsigned int report = EXTCON_JACK_HEADPHONE;
int ret, reading;
bool mic = false;
@@ -645,9 +645,9 @@ static irqreturn_t arizona_hpdet_irq(int irq, void *data)
/* Report high impedence cables as line outputs */
if (reading >= 5000)
- report = EXTCON_LINE_OUT;
+ report = EXTCON_JACK_LINE_OUT;
else
- report = EXTCON_HEADPHONE;
+ report = EXTCON_JACK_HEADPHONE;
ret = extcon_set_cable_state_(info->edev, report, true);
if (ret != 0)
@@ -732,7 +732,7 @@ err:
ARIZONA_ACCDET_MODE_MASK, ARIZONA_ACCDET_MODE_MIC);
/* Just report headphone */
- ret = extcon_set_cable_state_(info->edev, EXTCON_HEADPHONE, true);
+ ret = extcon_set_cable_state_(info->edev, EXTCON_JACK_HEADPHONE, true);
if (ret != 0)
dev_err(arizona->dev, "Failed to report headphone: %d\n", ret);
@@ -789,7 +789,7 @@ err:
ARIZONA_ACCDET_MODE_MASK, ARIZONA_ACCDET_MODE_MIC);
/* Just report headphone */
- ret = extcon_set_cable_state_(info->edev, EXTCON_HEADPHONE, true);
+ ret = extcon_set_cable_state_(info->edev, EXTCON_JACK_HEADPHONE, true);
if (ret != 0)
dev_err(arizona->dev, "Failed to report headphone: %d\n", ret);
@@ -915,7 +915,7 @@ static void arizona_micd_detect(struct work_struct *work)
arizona_identify_headphone(info);
ret = extcon_set_cable_state_(info->edev,
- EXTCON_MICROPHONE, true);
+ EXTCON_JACK_MICROPHONE, true);
if (ret != 0)
dev_err(arizona->dev, "Headset report failed: %d\n",
ret);
diff --git a/drivers/extcon/extcon-axp288.c b/drivers/extcon/extcon-axp288.c
index 9668d6a..5b9159a 100644
--- a/drivers/extcon/extcon-axp288.c
+++ b/drivers/extcon/extcon-axp288.c
@@ -102,9 +102,9 @@ enum axp288_extcon_irq {
};
static const unsigned int axp288_extcon_cables[] = {
- EXTCON_SLOW_CHARGER,
- EXTCON_CHARGE_DOWNSTREAM,
- EXTCON_FAST_CHARGER,
+ EXTCON_CHG_USB_SLOW,
+ EXTCON_CHG_USB_CDP,
+ EXTCON_CHG_USB_FAST,
EXTCON_NONE,
};
@@ -192,18 +192,18 @@ static int axp288_handle_chrg_det_event(struct axp288_extcon_info *info)
dev_dbg(info->dev, "sdp cable is connecetd\n");
notify_otg = true;
notify_charger = true;
- cable = EXTCON_SLOW_CHARGER;
+ cable = EXTCON_CHG_USB_SLOW;
break;
case DET_STAT_CDP:
dev_dbg(info->dev, "cdp cable is connecetd\n");
notify_otg = true;
notify_charger = true;
- cable = EXTCON_CHARGE_DOWNSTREAM;
+ cable = EXTCON_CHG_USB_CDP;
break;
case DET_STAT_DCP:
dev_dbg(info->dev, "dcp cable is connecetd\n");
notify_charger = true;
- cable = EXTCON_FAST_CHARGER;
+ cable = EXTCON_CHG_USB_FAST;
break;
default:
dev_warn(info->dev,
diff --git a/drivers/extcon/extcon-max14577.c b/drivers/extcon/extcon-max14577.c
index df0659d..86b4dff 100644
--- a/drivers/extcon/extcon-max14577.c
+++ b/drivers/extcon/extcon-max14577.c
@@ -150,10 +150,10 @@ enum max14577_muic_acc_type {
static const unsigned int max14577_extcon_cable[] = {
EXTCON_USB,
- EXTCON_TA,
- EXTCON_FAST_CHARGER,
- EXTCON_SLOW_CHARGER,
- EXTCON_CHARGE_DOWNSTREAM,
+ EXTCON_CHG_USB_DCP,
+ EXTCON_CHG_USB_FAST,
+ EXTCON_CHG_USB_SLOW,
+ EXTCON_CHG_USB_CDP,
EXTCON_JIG,
EXTCON_NONE,
};
@@ -456,19 +456,21 @@ static int max14577_muic_chg_handler(struct max14577_muic_info *info)
extcon_set_cable_state_(info->edev, EXTCON_USB, attached);
break;
case MAX14577_CHARGER_TYPE_DEDICATED_CHG:
- extcon_set_cable_state_(info->edev, EXTCON_TA, attached);
+ extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_DCP,
+ attached);
break;
case MAX14577_CHARGER_TYPE_DOWNSTREAM_PORT:
- extcon_set_cable_state_(info->edev, EXTCON_CHARGE_DOWNSTREAM,
+ extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_CDP,
attached);
break;
case MAX14577_CHARGER_TYPE_SPECIAL_500MA:
- extcon_set_cable_state_(info->edev, EXTCON_SLOW_CHARGER,
+ extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_SLOW,
attached);
break;
case MAX14577_CHARGER_TYPE_SPECIAL_1A:
- extcon_set_cable_state_(info->edev, EXTCON_FAST_CHARGER,
+ extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_SLOW,
attached);
+
break;
case MAX14577_CHARGER_TYPE_NONE:
case MAX14577_CHARGER_TYPE_DEAD_BATTERY:
diff --git a/drivers/extcon/extcon-max77693.c b/drivers/extcon/extcon-max77693.c
index 35b9e11..10f2900a 100644
--- a/drivers/extcon/extcon-max77693.c
+++ b/drivers/extcon/extcon-max77693.c
@@ -204,11 +204,11 @@ enum max77693_muic_acc_type {
static const unsigned int max77693_extcon_cable[] = {
EXTCON_USB,
EXTCON_USB_HOST,
- EXTCON_TA,
- EXTCON_FAST_CHARGER,
- EXTCON_SLOW_CHARGER,
- EXTCON_CHARGE_DOWNSTREAM,
- EXTCON_MHL,
+ EXTCON_CHG_USB_DCP,
+ EXTCON_CHG_USB_FAST,
+ EXTCON_CHG_USB_SLOW,
+ EXTCON_CHG_USB_CDP,
+ EXTCON_DISP_MHL,
EXTCON_JIG,
EXTCON_DOCK,
EXTCON_NONE,
@@ -505,7 +505,7 @@ static int max77693_muic_dock_handler(struct max77693_muic_info *info,
return ret;
extcon_set_cable_state_(info->edev, EXTCON_DOCK, attached);
- extcon_set_cable_state_(info->edev, EXTCON_MHL, attached);
+ extcon_set_cable_state_(info->edev, EXTCON_DISP_MHL, attached);
goto out;
case MAX77693_MUIC_ADC_AUDIO_MODE_REMOTE: /* Dock-Desk */
dock_id = EXTCON_DOCK;
@@ -605,7 +605,7 @@ static int max77693_muic_adc_ground_handler(struct max77693_muic_info *info)
case MAX77693_MUIC_GND_MHL:
case MAX77693_MUIC_GND_MHL_VB:
/* MHL or MHL with USB/TA cable */
- extcon_set_cable_state_(info->edev, EXTCON_MHL, attached);
+ extcon_set_cable_state_(info->edev, EXTCON_DISP_MHL, attached);
break;
default:
dev_err(info->dev, "failed to detect %s cable of gnd type\n",
@@ -801,10 +801,11 @@ static int max77693_muic_chg_handler(struct max77693_muic_info *info)
* - Support charging through micro-usb port without
* data connection
*/
- extcon_set_cable_state_(info->edev, EXTCON_TA, attached);
+ extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_DCP,
+ attached);
if (!cable_attached)
- extcon_set_cable_state_(info->edev, EXTCON_MHL,
- cable_attached);
+ extcon_set_cable_state_(info->edev,
+ EXTCON_DISP_MHL, cable_attached);
break;
}
@@ -862,7 +863,7 @@ static int max77693_muic_chg_handler(struct max77693_muic_info *info)
extcon_set_cable_state_(info->edev, EXTCON_DOCK,
attached);
- extcon_set_cable_state_(info->edev, EXTCON_MHL,
+ extcon_set_cable_state_(info->edev, EXTCON_DISP_MHL,
attached);
break;
}
@@ -901,20 +902,21 @@ static int max77693_muic_chg_handler(struct max77693_muic_info *info)
break;
case MAX77693_CHARGER_TYPE_DEDICATED_CHG:
/* Only TA cable */
- extcon_set_cable_state_(info->edev, EXTCON_TA, attached);
+ extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_DCP,
+ attached);
break;
}
break;
case MAX77693_CHARGER_TYPE_DOWNSTREAM_PORT:
- extcon_set_cable_state_(info->edev, EXTCON_CHARGE_DOWNSTREAM,
+ extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_CDP,
attached);
break;
case MAX77693_CHARGER_TYPE_APPLE_500MA:
- extcon_set_cable_state_(info->edev, EXTCON_SLOW_CHARGER,
+ extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_SLOW,
attached);
break;
case MAX77693_CHARGER_TYPE_APPLE_1A_2A:
- extcon_set_cable_state_(info->edev, EXTCON_FAST_CHARGER,
+ extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_FAST,
attached);
break;
case MAX77693_CHARGER_TYPE_DEAD_BATTERY:
diff --git a/drivers/extcon/extcon-max77843.c b/drivers/extcon/extcon-max77843.c
index fdd9285..9f9ea33 100644
--- a/drivers/extcon/extcon-max77843.c
+++ b/drivers/extcon/extcon-max77843.c
@@ -122,11 +122,11 @@ enum max77843_muic_charger_type {
static const unsigned int max77843_extcon_cable[] = {
EXTCON_USB,
EXTCON_USB_HOST,
- EXTCON_TA,
- EXTCON_CHARGE_DOWNSTREAM,
- EXTCON_FAST_CHARGER,
- EXTCON_SLOW_CHARGER,
- EXTCON_MHL,
+ EXTCON_CHG_USB_DCP,
+ EXTCON_CHG_USB_CDP,
+ EXTCON_CHG_USB_FAST,
+ EXTCON_CHG_USB_SLOW,
+ EXTCON_DISP_MHL,
EXTCON_JIG,
EXTCON_NONE,
};
@@ -355,7 +355,7 @@ static int max77843_muic_adc_gnd_handler(struct max77843_muic_info *info)
if (ret < 0)
return ret;
- extcon_set_cable_state_(info->edev, EXTCON_MHL, attached);
+ extcon_set_cable_state_(info->edev, EXTCON_DISP_MHL, attached);
break;
default:
dev_err(info->dev, "failed to detect %s accessory(gnd:0x%x)\n",
@@ -494,7 +494,7 @@ static int max77843_muic_chg_handler(struct max77843_muic_info *info)
if (ret < 0)
return ret;
- extcon_set_cable_state_(info->edev, EXTCON_CHARGE_DOWNSTREAM,
+ extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_CDP,
attached);
break;
case MAX77843_MUIC_CHG_DEDICATED:
@@ -504,7 +504,8 @@ static int max77843_muic_chg_handler(struct max77843_muic_info *info)
if (ret < 0)
return ret;
- extcon_set_cable_state_(info->edev, EXTCON_TA, attached);
+ extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_DCP,
+ attached);
break;
case MAX77843_MUIC_CHG_SPECIAL_500MA:
ret = max77843_muic_set_path(info,
@@ -513,7 +514,7 @@ static int max77843_muic_chg_handler(struct max77843_muic_info *info)
if (ret < 0)
return ret;
- extcon_set_cable_state_(info->edev, EXTCON_SLOW_CHARGER,
+ extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_SLOW,
attached);
break;
case MAX77843_MUIC_CHG_SPECIAL_1A:
@@ -523,7 +524,7 @@ static int max77843_muic_chg_handler(struct max77843_muic_info *info)
if (ret < 0)
return ret;
- extcon_set_cable_state_(info->edev, EXTCON_FAST_CHARGER,
+ extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_FAST,
attached);
break;
case MAX77843_MUIC_CHG_GND:
@@ -532,9 +533,11 @@ static int max77843_muic_chg_handler(struct max77843_muic_info *info)
/* Charger cable on MHL accessory is attach or detach */
if (gnd_type == MAX77843_MUIC_GND_MHL_VB)
- extcon_set_cable_state_(info->edev, EXTCON_TA, true);
+ extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_DCP,
+ true);
else if (gnd_type == MAX77843_MUIC_GND_MHL)
- extcon_set_cable_state_(info->edev, EXTCON_TA, false);
+ extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_DCP,
+ false);
break;
case MAX77843_MUIC_CHG_NONE:
break;
diff --git a/drivers/extcon/extcon-max8997.c b/drivers/extcon/extcon-max8997.c
index 7b1ef20..b2b13b3 100644
--- a/drivers/extcon/extcon-max8997.c
+++ b/drivers/extcon/extcon-max8997.c
@@ -148,11 +148,11 @@ struct max8997_muic_info {
static const unsigned int max8997_extcon_cable[] = {
EXTCON_USB,
EXTCON_USB_HOST,
- EXTCON_TA,
- EXTCON_FAST_CHARGER,
- EXTCON_SLOW_CHARGER,
- EXTCON_CHARGE_DOWNSTREAM,
- EXTCON_MHL,
+ EXTCON_CHG_USB_DCP,
+ EXTCON_CHG_USB_FAST,
+ EXTCON_CHG_USB_SLOW,
+ EXTCON_CHG_USB_CDP,
+ EXTCON_DISP_MHL,
EXTCON_DOCK,
EXTCON_JIG,
EXTCON_NONE,
@@ -403,7 +403,7 @@ static int max8997_muic_adc_handler(struct max8997_muic_info *info)
return ret;
break;
case MAX8997_MUIC_ADC_MHL:
- extcon_set_cable_state_(info->edev, EXTCON_MHL, attached);
+ extcon_set_cable_state_(info->edev, EXTCON_DISP_MHL, attached);
break;
case MAX8997_MUIC_ADC_FACTORY_MODE_USB_OFF:
case MAX8997_MUIC_ADC_FACTORY_MODE_USB_ON:
@@ -486,18 +486,19 @@ static int max8997_muic_chg_handler(struct max8997_muic_info *info)
}
break;
case MAX8997_CHARGER_TYPE_DOWNSTREAM_PORT:
- extcon_set_cable_state_(info->edev, EXTCON_CHARGE_DOWNSTREAM,
+ extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_CDP,
attached);
break;
case MAX8997_CHARGER_TYPE_DEDICATED_CHG:
- extcon_set_cable_state_(info->edev, EXTCON_TA, attached);
+ extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_DCP,
+ attached);
break;
case MAX8997_CHARGER_TYPE_500MA:
- extcon_set_cable_state_(info->edev, EXTCON_SLOW_CHARGER,
+ extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_SLOW,
attached);
break;
case MAX8997_CHARGER_TYPE_1A:
- extcon_set_cable_state_(info->edev, EXTCON_FAST_CHARGER,
+ extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_FAST,
attached);
break;
default:
diff --git a/drivers/extcon/extcon-rt8973a.c b/drivers/extcon/extcon-rt8973a.c
index 1bc3737..36bf1d6 100644
--- a/drivers/extcon/extcon-rt8973a.c
+++ b/drivers/extcon/extcon-rt8973a.c
@@ -93,7 +93,7 @@ static struct reg_data rt8973a_reg_data[] = {
static const unsigned int rt8973a_extcon_cable[] = {
EXTCON_USB,
EXTCON_USB_HOST,
- EXTCON_TA,
+ EXTCON_CHG_USB_DCP,
EXTCON_JIG,
EXTCON_NONE,
};
@@ -333,7 +333,7 @@ static int rt8973a_muic_cable_handler(struct rt8973a_muic_info *info,
con_sw = DM_DP_SWITCH_USB;
break;
case RT8973A_MUIC_ADC_TA:
- id = EXTCON_TA;
+ id = EXTCON_CHG_USB_DCP;
con_sw = DM_DP_SWITCH_OPEN;
break;
case RT8973A_MUIC_ADC_FACTORY_MODE_BOOT_OFF_USB:
diff --git a/drivers/extcon/extcon-sm5502.c b/drivers/extcon/extcon-sm5502.c
index 2945091..7aac3cc 100644
--- a/drivers/extcon/extcon-sm5502.c
+++ b/drivers/extcon/extcon-sm5502.c
@@ -95,7 +95,7 @@ static struct reg_data sm5502_reg_data[] = {
static const unsigned int sm5502_extcon_cable[] = {
EXTCON_USB,
EXTCON_USB_HOST,
- EXTCON_TA,
+ EXTCON_CHG_USB_DCP,
EXTCON_NONE,
};
@@ -389,7 +389,7 @@ static int sm5502_muic_cable_handler(struct sm5502_muic_info *info,
vbus_sw = VBUSIN_SWITCH_VBUSOUT_WITH_USB;
break;
case SM5502_MUIC_ADC_OPEN_TA:
- id = EXTCON_TA;
+ id = EXTCON_CHG_USB_DCP;
con_sw = DM_DP_SWITCH_OPEN;
vbus_sw = VBUSIN_SWITCH_VBUSOUT;
break;
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",
+ [EXTCON_CHG_USB_DCP] = "EXTCON_CHG_USB_DCP",
+ [EXTCON_CHG_USB_CDP] = "EXTCON_CHG_USB_CDP",
+
+ /* Jack external connector */
+ [EXTCON_JACK_MICROPHONE] = "EXTCON_JACK_MICROPHONE",
+ [EXTCON_JACK_HEADPHONE] = "EXTCON_JACK_HEADPHONE",
+ [EXTCON_JACK_LINE_IN] = "EXTCON_JACK_LINE_IN",
+ [EXTCON_JACK_LINE_OUT] = "EXTCON_JACK_LINE_OUT",
+ [EXTCON_JACK_VIDEO_IN] = "EXTCON_JACK_VIDEO_IN",
+ [EXTCON_JACK_VIDEO_OUT] = "EXTCON_JACK_VIDEO_OUT",
+ [EXTCON_JACK_SPDIF_IN] = "EXTCON_JACK_SPDIF_IN",
+ [EXTCON_JACK_SPDIF_OUT] = "EXTCON_JACK_SPDIF_OUT",
+
+ /* Display external connector */
+ [EXTCON_DISP_HDMI] = "EXTCON_DISP_HDMI",
+ [EXTCON_DISP_MHL] = "EXTCON_DISP_MHL",
+ [EXTCON_DISP_DVI] = "EXTCON_DISP_DVI",
+ [EXTCON_DISP_VGA] = "EXTCON_DISP_VGA",
+
+ /* Miscellaneous external connector */
+ [EXTCON_DOCK] = "EXTCON_DOCK",
+ [EXTCON_JIG] = "EXTCON_JIG",
+ [EXTCON_MECHANICAL] = "EXTCON_MECHANICAL",
NULL,
};
diff --git a/include/linux/extcon.h b/include/linux/extcon.h
index c0f8c4f..6d5285c 100644
--- a/include/linux/extcon.h
+++ b/include/linux/extcon.h
@@ -31,32 +31,41 @@
/*
* Define the unique id of supported external connectors
*/
-#define EXTCON_NONE 0
-
-#define EXTCON_USB 1 /* USB connector */
-#define EXTCON_USB_HOST 2
-
-#define EXTCON_TA 3 /* Charger connector */
-#define EXTCON_FAST_CHARGER 4
-#define EXTCON_SLOW_CHARGER 5
-#define EXTCON_CHARGE_DOWNSTREAM 6
-
-#define EXTCON_LINE_IN 7 /* Audio/Video connector */
-#define EXTCON_LINE_OUT 8
-#define EXTCON_MICROPHONE 9
-#define EXTCON_HEADPHONE 10
-#define EXTCON_HDMI 11
-#define EXTCON_MHL 12
-#define EXTCON_DVI 13
-#define EXTCON_VGA 14
-#define EXTCON_SPDIF_IN 15
-#define EXTCON_SPDIF_OUT 16
-#define EXTCON_VIDEO_IN 17
-#define EXTCON_VIDEO_OUT 18
-
-#define EXTCON_DOCK 19 /* Misc connector */
-#define EXTCON_JIG 20
-#define EXTCON_MECHANICAL 21
+#define EXTCON_NONE 0
+
+/* USB external connector */
+#define EXTCON_USB 1 /* Universal Serial Bus */
+#define EXTCON_USB_HOST 2
+
+/* Charging external connector */
+#define EXTCON_CHG_USB 5 /* Standard Downstream Port */
+#define EXTCON_CHG_USB_FAST 6
+#define EXTCON_CHG_USB_SLOW 7
+#define EXTCON_CHG_USB_DCP 8 /* Dedicated Charging Port */
+#define EXTCON_CHG_USB_CDP 9 /* Charging Downstream Port */
+
+/* Jack external connector */
+#define EXTCON_JACK_MICROPHONE 20
+#define EXTCON_JACK_HEADPHONE 21
+#define EXTCON_JACK_LINE_IN 22
+#define EXTCON_JACK_LINE_OUT 23
+#define EXTCON_JACK_VIDEO_IN 24
+#define EXTCON_JACK_VIDEO_OUT 25
+#define EXTCON_JACK_SPDIF_IN 26 /* Sony Philips Digital InterFace */
+#define EXTCON_JACK_SPDIF_OUT 27
+
+/* Display external connector */
+#define EXTCON_DISP_HDMI 40 /* High-Definition Multimedia Interface */
+#define EXTCON_DISP_MHL 41 /* Mobile High-Definition Link */
+#define EXTCON_DISP_DVI 42 /* Digital Visual Inteface */
+#define EXTCON_DISP_VGA 43 /* Video Graphics Array */
+
+/* Miscellaneous external connector */
+#define EXTCON_DOCK 60
+#define EXTCON_JIG 61
+#define EXTCON_MECHANICAL 62
+
+#define EXTCON_NUM 63
struct extcon_cable;
--
1.9.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] extcon: Modify the id and name of external connector
2015-10-04 3:45 [PATCH] extcon: Modify the id and name of external connector Chanwoo Choi
@ 2015-10-04 12:51 ` Charles Keepax
2015-10-05 8:26 ` Roger Quadros
1 sibling, 0 replies; 7+ messages in thread
From: Charles Keepax @ 2015-10-04 12:51 UTC (permalink / raw)
To: Chanwoo Choi
Cc: linux-kernel, k.kozlowski, ramakrishna.pallala, gregkh, rogerq,
rf, patches, cw00.choi, myungjoo.ham
On Sun, Oct 04, 2015 at 12:45:36PM +0900, 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@samsung.com>
> ---
For the Arizona changes:
Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Thanks,
Charles
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] extcon: Modify the id and name of external connector
2015-10-04 3:45 [PATCH] extcon: Modify the id and name of external connector Chanwoo Choi
2015-10-04 12:51 ` Charles Keepax
@ 2015-10-05 8:26 ` Roger Quadros
2015-10-05 9:01 ` Chanwoo Choi
1 sibling, 1 reply; 7+ messages in thread
From: Roger Quadros @ 2015-10-05 8:26 UTC (permalink / raw)
To: Chanwoo Choi, linux-kernel
Cc: k.kozlowski, ramakrishna.pallala, gregkh, ckeepax, rf, patches,
cw00.choi, myungjoo.ham
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@samsung.com>
> ---
> 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?
> + [EXTCON_CHG_USB_DCP] = "EXTCON_CHG_USB_DCP",
> + [EXTCON_CHG_USB_CDP] = "EXTCON_CHG_USB_CDP",
What about USB ACA?
> +
> + /* Jack external connector */
> + [EXTCON_JACK_MICROPHONE] = "EXTCON_JACK_MICROPHONE",
> + [EXTCON_JACK_HEADPHONE] = "EXTCON_JACK_HEADPHONE",
> + [EXTCON_JACK_LINE_IN] = "EXTCON_JACK_LINE_IN",
> + [EXTCON_JACK_LINE_OUT] = "EXTCON_JACK_LINE_OUT",
> + [EXTCON_JACK_VIDEO_IN] = "EXTCON_JACK_VIDEO_IN",
> + [EXTCON_JACK_VIDEO_OUT] = "EXTCON_JACK_VIDEO_OUT",
> + [EXTCON_JACK_SPDIF_IN] = "EXTCON_JACK_SPDIF_IN",
> + [EXTCON_JACK_SPDIF_OUT] = "EXTCON_JACK_SPDIF_OUT",
> +
> + /* Display external connector */
> + [EXTCON_DISP_HDMI] = "EXTCON_DISP_HDMI",
> + [EXTCON_DISP_MHL] = "EXTCON_DISP_MHL",
> + [EXTCON_DISP_DVI] = "EXTCON_DISP_DVI",
> + [EXTCON_DISP_VGA] = "EXTCON_DISP_VGA",
> +
> + /* Miscellaneous external connector */
> + [EXTCON_DOCK] = "EXTCON_DOCK",
> + [EXTCON_JIG] = "EXTCON_JIG",
> + [EXTCON_MECHANICAL] = "EXTCON_MECHANICAL",
>
> NULL,
> };
> diff --git a/include/linux/extcon.h b/include/linux/extcon.h
> index c0f8c4f..6d5285c 100644
> --- a/include/linux/extcon.h
> +++ b/include/linux/extcon.h
> @@ -31,32 +31,41 @@
> /*
> * Define the unique id of supported external connectors
> */
> -#define EXTCON_NONE 0
> -
> -#define EXTCON_USB 1 /* USB connector */
> -#define EXTCON_USB_HOST 2
> -
> -#define EXTCON_TA 3 /* Charger connector */
> -#define EXTCON_FAST_CHARGER 4
> -#define EXTCON_SLOW_CHARGER 5
> -#define EXTCON_CHARGE_DOWNSTREAM 6
> -
> -#define EXTCON_LINE_IN 7 /* Audio/Video connector */
> -#define EXTCON_LINE_OUT 8
> -#define EXTCON_MICROPHONE 9
> -#define EXTCON_HEADPHONE 10
> -#define EXTCON_HDMI 11
> -#define EXTCON_MHL 12
> -#define EXTCON_DVI 13
> -#define EXTCON_VGA 14
> -#define EXTCON_SPDIF_IN 15
> -#define EXTCON_SPDIF_OUT 16
> -#define EXTCON_VIDEO_IN 17
> -#define EXTCON_VIDEO_OUT 18
> -
> -#define EXTCON_DOCK 19 /* Misc connector */
> -#define EXTCON_JIG 20
> -#define EXTCON_MECHANICAL 21
> +#define EXTCON_NONE 0
> +
> +/* USB external connector */
> +#define EXTCON_USB 1 /* Universal Serial Bus */
> +#define EXTCON_USB_HOST 2
> +
> +/* Charging external connector */
> +#define EXTCON_CHG_USB 5 /* Standard Downstream Port */
> +#define EXTCON_CHG_USB_FAST 6
> +#define EXTCON_CHG_USB_SLOW 7
> +#define EXTCON_CHG_USB_DCP 8 /* Dedicated Charging Port */
> +#define EXTCON_CHG_USB_CDP 9 /* Charging Downstream Port */
> +
> +/* Jack external connector */
> +#define EXTCON_JACK_MICROPHONE 20
> +#define EXTCON_JACK_HEADPHONE 21
> +#define EXTCON_JACK_LINE_IN 22
> +#define EXTCON_JACK_LINE_OUT 23
> +#define EXTCON_JACK_VIDEO_IN 24
> +#define EXTCON_JACK_VIDEO_OUT 25
> +#define EXTCON_JACK_SPDIF_IN 26 /* Sony Philips Digital InterFace */
> +#define EXTCON_JACK_SPDIF_OUT 27
> +
> +/* Display external connector */
> +#define EXTCON_DISP_HDMI 40 /* High-Definition Multimedia Interface */
> +#define EXTCON_DISP_MHL 41 /* Mobile High-Definition Link */
> +#define EXTCON_DISP_DVI 42 /* Digital Visual Inteface */
> +#define EXTCON_DISP_VGA 43 /* Video Graphics Array */
> +
> +/* Miscellaneous external connector */
> +#define EXTCON_DOCK 60
> +#define EXTCON_JIG 61
> +#define EXTCON_MECHANICAL 62
> +
> +#define EXTCON_NUM 63
>
> struct extcon_cable;
>
>
cheers,
-roger
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] extcon: Modify the id and name of external connector
2015-10-05 8:26 ` Roger Quadros
@ 2015-10-05 9:01 ` Chanwoo Choi
2015-10-05 9:04 ` Chanwoo Choi
0 siblings, 1 reply; 7+ messages in thread
From: Chanwoo Choi @ 2015-10-05 9:01 UTC (permalink / raw)
To: Roger Quadros, Chanwoo Choi, linux-kernel
Cc: k.kozlowski, ramakrishna.pallala, gregkh, ckeepax, rf, patches,
myungjoo.ham
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@samsung.com>
>> ---
>> 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.
>
>> + [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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] extcon: Modify the id and name of external connector
2015-10-05 9:01 ` Chanwoo Choi
@ 2015-10-05 9:04 ` Chanwoo Choi
2015-10-05 10:49 ` Roger Quadros
0 siblings, 1 reply; 7+ messages in thread
From: Chanwoo Choi @ 2015-10-05 9:04 UTC (permalink / raw)
To: Roger Quadros, Chanwoo Choi, linux-kernel
Cc: k.kozlowski, ramakrishna.pallala, gregkh, ckeepax, rf, patches,
myungjoo.ham
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@samsung.com>
>>> ---
>>> 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@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] extcon: Modify the id and name of external connector
2015-10-05 9:04 ` Chanwoo Choi
@ 2015-10-05 10:49 ` Roger Quadros
2015-10-06 3:11 ` Chanwoo Choi
0 siblings, 1 reply; 7+ messages in thread
From: Roger Quadros @ 2015-10-05 10:49 UTC (permalink / raw)
To: Chanwoo Choi, Chanwoo Choi, linux-kernel
Cc: k.kozlowski, ramakrishna.pallala, gregkh, ckeepax, rf, patches,
myungjoo.ham
Chanwoo,
On 05/10/15 12:04, Chanwoo Choi wrote:
> 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@samsung.com>
>>>> ---
>>>> 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
>
Yes that looks more appropriate.
>
>>
>>>
>>>> + [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.
ACA is typically used by a docking station which can charge the
embedded host (e.g. mobile phone) as well as allow connecting a
USB peripheral to it.
The link you gave above for Battery charging spec is in fact just the compliance plan.
The spec is actually available here
http://www.usb.org/developers/docs/devclass_docs/BCv1.2_070312.zip
cheers,
-roger
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] extcon: Modify the id and name of external connector
2015-10-05 10:49 ` Roger Quadros
@ 2015-10-06 3:11 ` Chanwoo Choi
0 siblings, 0 replies; 7+ messages in thread
From: Chanwoo Choi @ 2015-10-06 3:11 UTC (permalink / raw)
To: Roger Quadros, Chanwoo Choi, linux-kernel
Cc: k.kozlowski, ramakrishna.pallala, gregkh, ckeepax, rf, patches,
myungjoo.ham
Roger,
On 2015년 10월 05일 19:49, Roger Quadros wrote:
> Chanwoo,
>
> On 05/10/15 12:04, Chanwoo Choi wrote:
>> 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@samsung.com>
>>>>> ---
>>>>> 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
>>
>
> Yes that looks more appropriate.
>
>>
>>>
>>>>
>>>>> + [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.
>
> ACA is typically used by a docking station which can charge the
> embedded host (e.g. mobile phone) as well as allow connecting a
> USB peripheral to it.
>
> The link you gave above for Battery charging spec is in fact just the compliance plan.
> The spec is actually available here
> http://www.usb.org/developers/docs/devclass_docs/BCv1.2_070312.zip
Thanks for your help and guide.
I'l look at the battery charging spec for adding the ACA.
Thanks,
Chanwoo Choi
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2015-10-06 3:11 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-04 3:45 [PATCH] extcon: Modify the id and name of external connector Chanwoo Choi
2015-10-04 12:51 ` Charles Keepax
2015-10-05 8:26 ` Roger Quadros
2015-10-05 9:01 ` Chanwoo Choi
2015-10-05 9:04 ` Chanwoo Choi
2015-10-05 10:49 ` Roger Quadros
2015-10-06 3:11 ` Chanwoo Choi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).