From 8608c07035059640eb52038de1c1c910b0dbf95d Mon Sep 17 00:00:00 2001 From: Haijian Ma Date: Fri, 15 Dec 2023 17:48:05 +0800 Subject: [PATCH] add CDP max current config interface add CDP max current config interface for product config Change-Id: I31dc81b67c46dc747163ceaa71bf61e8250b6385 Signed-off-by: Haijian Ma Reviewed-on: https://gerrit.mot.com/2826519 Reviewed-by: Huosheng Liao SLTApproved: Slta Waiver SME-Granted: SME Approvals Granted Tested-by: Jira Key Submit-Approved: Jira Key --- drivers/power/supply/qcom/qpnp-smb5.c | 6 ++++++ drivers/power/supply/qcom/smb5-lib.c | 2 +- drivers/power/supply/qcom/smb5-lib.h | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/power/supply/qcom/qpnp-smb5.c b/drivers/power/supply/qcom/qpnp-smb5.c index 824952c76a1c..d50f82d5b8fc 100644 --- a/drivers/power/supply/qcom/qpnp-smb5.c +++ b/drivers/power/supply/qcom/qpnp-smb5.c @@ -805,6 +805,12 @@ static int smb5_parse_dt_mmi(struct smb5 *chip, struct device_node *node) chg->usb_dcp_curr_max = 0; np = of_find_node_by_path("/chosen"); + retval = of_property_read_u32(npoint, "qcom,cdp-curr-max", + &chg->usb_cdp_curr_max); + if (retval) { + chg->usb_cdp_curr_max = 1500000; + } + retval = of_property_read_u32(npoint, "qcom,dcp-curr-max", &chg->usb_dcp_curr_max); if (retval) { diff --git a/drivers/power/supply/qcom/smb5-lib.c b/drivers/power/supply/qcom/smb5-lib.c index bc5c4f28e8da..e236b761be31 100644 --- a/drivers/power/supply/qcom/smb5-lib.c +++ b/drivers/power/supply/qcom/smb5-lib.c @@ -6195,7 +6195,7 @@ static void update_sw_icl_max(struct smb_charger *chg, int val) break; case POWER_SUPPLY_TYPE_USB_CDP: vote(chg->usb_icl_votable, SW_ICL_MAX_VOTER, true, - CDP_CURRENT_UA); + (chg->usb_cdp_curr_max > 0) ? chg->usb_cdp_curr_max : CDP_CURRENT_UA); vote(chg->usb_icl_votable, USB_PSY_VOTER, false, 0); break; case POWER_SUPPLY_TYPE_USB_DCP: diff --git a/drivers/power/supply/qcom/smb5-lib.h b/drivers/power/supply/qcom/smb5-lib.h index d2375b05853a..6618d8b6fb73 100644 --- a/drivers/power/supply/qcom/smb5-lib.h +++ b/drivers/power/supply/qcom/smb5-lib.h @@ -633,6 +633,7 @@ struct smb_charger { ktime_t dcin_uv_last_time; int last_wls_vout; int usb_dcp_curr_max; + int usb_cdp_curr_max; /* mmi qc3p */ struct iio_channel **iio_chan_list_mmi_cp;