Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 354946
b: refs/heads/master
c: d0587eb
h: refs/heads/master
v: v3
  • Loading branch information
Chanwoo Choi committed Jan 15, 2013
1 parent 8523505 commit 6cc6918
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 7 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 06bed0afa24e98b9afa26456c6bed37a6510f7d1
refs/heads/master: d0587eb794da221a5c210348abc8f6cceae93896
52 changes: 46 additions & 6 deletions trunk/drivers/extcon/extcon-max77693.c
Original file line number Diff line number Diff line change
Expand Up @@ -153,9 +153,10 @@ enum {
EXTCON_CABLE_CHARGE_DOWNSTREAM,
EXTCON_CABLE_MHL,
EXTCON_CABLE_MHL_TA,
EXTCON_CABLE_JIG_USB_ON,
EXTCON_CABLE_JIG_USB_OFF,
EXTCON_CABLE_JIG_UART_OFF,
EXTCON_CABLE_AUDIO_VIDEO_LOAD,
EXTCON_CABLE_AUDIO_VIDEO_NOLOAD,
EXTCON_CABLE_JIG,

_EXTCON_CABLE_NUM,
};
Expand All @@ -169,9 +170,11 @@ const char *max77693_extcon_cable[] = {
[EXTCON_CABLE_CHARGE_DOWNSTREAM] = "Charge-downstream",
[EXTCON_CABLE_MHL] = "MHL",
[EXTCON_CABLE_MHL_TA] = "MHL_TA",
[EXTCON_CABLE_JIG_USB_ON] = "JIG-USB-ON",
[EXTCON_CABLE_JIG_USB_OFF] = "JIG-USB-OFF",
[EXTCON_CABLE_JIG_UART_OFF] = "JIG-UART-OFF",
[EXTCON_CABLE_AUDIO_VIDEO_LOAD] = "Audio-video-load",
[EXTCON_CABLE_AUDIO_VIDEO_NOLOAD] = "Audio-video-noload",
[EXTCON_CABLE_JIG] = "JIG",

NULL,
};

Expand Down Expand Up @@ -450,6 +453,44 @@ static int max77693_muic_adc_ground_handler(struct max77693_muic_info *info)
return ret;
}

static int max77693_muic_jig_handler(struct max77693_muic_info *info,
int cable_type, bool attached)
{
char cable_name[32];
int ret = 0;
u8 path = CONTROL1_SW_OPEN;

dev_info(info->dev,
"external connector is %s (adc:0x%02x)\n",
attached ? "attached" : "detached", cable_type);

switch (cable_type) {
case MAX77693_MUIC_ADC_FACTORY_MODE_USB_OFF: /* ADC_JIG_USB_OFF */
/* PATH:AP_USB */
strcpy(cable_name, "JIG-USB-OFF");
path = CONTROL1_SW_USB;
break;
case MAX77693_MUIC_ADC_FACTORY_MODE_USB_ON: /* ADC_JIG_USB_ON */
/* PATH:AP_USB */
strcpy(cable_name, "JIG-USB-ON");
path = CONTROL1_SW_USB;
break;
case MAX77693_MUIC_ADC_FACTORY_MODE_UART_OFF: /* ADC_JIG_UART_OFF */
/* PATH:AP_UART */
strcpy(cable_name, "JIG-UART-OFF");
path = CONTROL1_SW_UART;
break;
}

ret = max77693_muic_set_path(info, path, attached);
if (ret < 0)
goto out;

extcon_set_cable_state(info->edev, cable_name, attached);
out:
return ret;
}

static int max77693_muic_adc_handler(struct max77693_muic_info *info)
{
int cable_type;
Expand All @@ -474,10 +515,9 @@ static int max77693_muic_adc_handler(struct max77693_muic_info *info)
case MAX77693_MUIC_ADC_FACTORY_MODE_USB_ON:
case MAX77693_MUIC_ADC_FACTORY_MODE_UART_OFF:
/* JIG */
ret = max77693_muic_set_path(info, CONTROL1_SW_UART, attached);
ret = max77693_muic_jig_handler(info, cable_type, attached);
if (ret < 0)
goto out;
extcon_set_cable_state(info->edev, "JIG", attached);
break;
case MAX77693_MUIC_ADC_FACTORY_MODE_UART_ON:
case MAX77693_MUIC_ADC_AUDIO_MODE_REMOTE:
Expand Down

0 comments on commit 6cc6918

Please sign in to comment.