diff --git a/drivers/soc/qcom/wcd939x-i2c.c b/drivers/soc/qcom/wcd939x-i2c.c index 1cdd6e76f89b..d17337ac98a9 100644 --- a/drivers/soc/qcom/wcd939x-i2c.c +++ b/drivers/soc/qcom/wcd939x-i2c.c @@ -341,6 +341,14 @@ int wcd_usbss_switch_update(enum wcd_usbss_cable_types ctype, regmap_update_bits_base(wcd_usbss_ctxt_->regmap, WCD_USBSS_AUDIO_FSM_START, 0x01, 0x01, NULL, false, true); break; + case WCD_USBSS_HSJ_CONNECT: + /* Select MG2, GSBU1 */ + regmap_update_bits(wcd_usbss_ctxt_->regmap, + WCD_USBSS_SWITCH_SELECT0, 0x03, 0x1); + /* Enable SENSE, MIC, AGND switches */ + regmap_update_bits(wcd_usbss_ctxt_->regmap, + WCD_USBSS_SWITCH_SETTINGS_ENABLE, 0x07, 0x07); + break; case WCD_USBSS_DP_AUX_CC1: fallthrough; case WCD_USBSS_DP_AUX_CC2: diff --git a/include/linux/soc/qcom/wcd939x-i2c.h b/include/linux/soc/qcom/wcd939x-i2c.h index 7d9fb4edb711..36320ce34c77 100644 --- a/include/linux/soc/qcom/wcd939x-i2c.h +++ b/include/linux/soc/qcom/wcd939x-i2c.h @@ -15,6 +15,7 @@ enum wcd_usbss_cable_types { WCD_USBSS_DP_AUX_CC2, WCD_USBSS_AATC, WCD_USBSS_GND_MIC_SWAP_AATC, + WCD_USBSS_HSJ_CONNECT, }; enum wcd_usbss_cable_status {