diff options
Diffstat (limited to 'drivers/extcon/extcon-max77693.c')
-rw-r--r-- | drivers/extcon/extcon-max77693.c | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/drivers/extcon/extcon-max77693.c b/drivers/extcon/extcon-max77693.c index b08a1e882e4..903c5078f12 100644 --- a/drivers/extcon/extcon-max77693.c +++ b/drivers/extcon/extcon-max77693.c @@ -293,10 +293,18 @@ static int max77693_muic_set_path(struct max77693_muic_info *info, return ret; } - if (attached) - ctrl1 = val; - else + if (attached) { + if (info->prev_cable_type == + MAX77693_MUIC_ADC_FACTORY_MODE_UART_OFF) { + /* if cable_type is jig, then force UART */ + dev_info(info->dev, "For jig force using UART path\n"); + ctrl1 = CONTROL1_SW_UART; + } else { + ctrl1 = val; + } + } else { ctrl1 = CONTROL1_SW_OPEN; + } ret = max77693_update_reg(info->max77693->regmap_muic, MAX77693_MUIC_REG_CTRL1, ctrl1, COMP_SW_MASK); @@ -914,15 +922,6 @@ static int max77693_muic_chg_handler(struct max77693_muic_info *info) */ break; case MAX77693_CHARGER_TYPE_USB: - /* If UART is still connected, do not set path to USB */ - if (cable_type == MAX77693_MUIC_ADC_FACTORY_MODE_UART_OFF) { - ret = max77693_muic_set_path(info, info->path_uart, - attached); - if (ret < 0) - return ret; - break; - } - /* Only USB cable, PATH:AP_USB */ ret = max77693_muic_set_path(info, info->path_usb, attached); if (ret < 0) |