Loading Documentation/devicetree/bindings/power/supply/qcom/qpnp-smb2.txt +5 −0 Original line number Diff line number Diff line Loading @@ -168,6 +168,11 @@ Charger specific properties: Definition: Specifies the deglitch interval for OTG detection. If the value is not present, 50 msec is used as default. - qcom,pd-not-supported Usage: optional Value type: bool Definition: Option to indicate if the platform supports USB PD (power delivery). - qcom,step-charging-enable Usage: optional Value type: bool Loading drivers/power/supply/qcom/qpnp-smb2.c +6 −1 Original line number Diff line number Diff line Loading @@ -170,6 +170,7 @@ struct smb_dt_props { bool hvdcp_disable; bool auto_recharge_soc; int wd_bark_time; bool no_pd; }; struct smb2 { Loading Loading @@ -234,6 +235,9 @@ static int smb2_parse_dt(struct smb2 *chip) chip->dt.no_battery = of_property_read_bool(node, "qcom,batteryless-platform"); chip->dt.no_pd = of_property_read_bool(node, "qcom,pd-not-supported"); rc = of_property_read_u32(node, "qcom,fcc-max-ua", &chg->batt_profile_fcc_ua); if (rc < 0) Loading Loading @@ -1644,7 +1648,8 @@ static int smb2_init_hw(struct smb2 *chip) true, 0); vote(chg->pd_disallowed_votable_indirect, HVDCP_TIMEOUT_VOTER, true, 0); vote(chg->pd_disallowed_votable_indirect, PD_NOT_SUPPORTED_VOTER, chip->dt.no_pd, 0); /* * AICL configuration: * start from min and AICL ADC disable Loading drivers/power/supply/qcom/smb-lib.c +1 −1 Original line number Diff line number Diff line Loading @@ -2947,7 +2947,7 @@ static int __smblib_set_prop_pd_active(struct smb_charger *chg, bool pd_active) hvdcp = stat & QC_CHARGER_BIT; vote(chg->apsd_disable_votable, PD_VOTER, false, 0); vote(chg->pd_allowed_votable, PD_VOTER, true, 0); vote(chg->pd_allowed_votable, PD_VOTER, false, 0); vote(chg->usb_irq_enable_votable, PD_VOTER, false, 0); vote(chg->hvdcp_disable_votable_indirect, PD_INACTIVE_VOTER, false, 0); Loading drivers/power/supply/qcom/smb-lib.h +1 −0 Original line number Diff line number Diff line Loading @@ -73,6 +73,7 @@ enum print_reason { #define OV_VOTER "OV_VOTER" #define FG_ESR_VOTER "FG_ESR_VOTER" #define FCC_STEPPER_VOTER "FCC_STEPPER_VOTER" #define PD_NOT_SUPPORTED_VOTER "PD_NOT_SUPPORTED_VOTER" #define VCONN_MAX_ATTEMPTS 3 #define OTG_MAX_ATTEMPTS 3 Loading Loading
Documentation/devicetree/bindings/power/supply/qcom/qpnp-smb2.txt +5 −0 Original line number Diff line number Diff line Loading @@ -168,6 +168,11 @@ Charger specific properties: Definition: Specifies the deglitch interval for OTG detection. If the value is not present, 50 msec is used as default. - qcom,pd-not-supported Usage: optional Value type: bool Definition: Option to indicate if the platform supports USB PD (power delivery). - qcom,step-charging-enable Usage: optional Value type: bool Loading
drivers/power/supply/qcom/qpnp-smb2.c +6 −1 Original line number Diff line number Diff line Loading @@ -170,6 +170,7 @@ struct smb_dt_props { bool hvdcp_disable; bool auto_recharge_soc; int wd_bark_time; bool no_pd; }; struct smb2 { Loading Loading @@ -234,6 +235,9 @@ static int smb2_parse_dt(struct smb2 *chip) chip->dt.no_battery = of_property_read_bool(node, "qcom,batteryless-platform"); chip->dt.no_pd = of_property_read_bool(node, "qcom,pd-not-supported"); rc = of_property_read_u32(node, "qcom,fcc-max-ua", &chg->batt_profile_fcc_ua); if (rc < 0) Loading Loading @@ -1644,7 +1648,8 @@ static int smb2_init_hw(struct smb2 *chip) true, 0); vote(chg->pd_disallowed_votable_indirect, HVDCP_TIMEOUT_VOTER, true, 0); vote(chg->pd_disallowed_votable_indirect, PD_NOT_SUPPORTED_VOTER, chip->dt.no_pd, 0); /* * AICL configuration: * start from min and AICL ADC disable Loading
drivers/power/supply/qcom/smb-lib.c +1 −1 Original line number Diff line number Diff line Loading @@ -2947,7 +2947,7 @@ static int __smblib_set_prop_pd_active(struct smb_charger *chg, bool pd_active) hvdcp = stat & QC_CHARGER_BIT; vote(chg->apsd_disable_votable, PD_VOTER, false, 0); vote(chg->pd_allowed_votable, PD_VOTER, true, 0); vote(chg->pd_allowed_votable, PD_VOTER, false, 0); vote(chg->usb_irq_enable_votable, PD_VOTER, false, 0); vote(chg->hvdcp_disable_votable_indirect, PD_INACTIVE_VOTER, false, 0); Loading
drivers/power/supply/qcom/smb-lib.h +1 −0 Original line number Diff line number Diff line Loading @@ -73,6 +73,7 @@ enum print_reason { #define OV_VOTER "OV_VOTER" #define FG_ESR_VOTER "FG_ESR_VOTER" #define FCC_STEPPER_VOTER "FCC_STEPPER_VOTER" #define PD_NOT_SUPPORTED_VOTER "PD_NOT_SUPPORTED_VOTER" #define VCONN_MAX_ATTEMPTS 3 #define OTG_MAX_ATTEMPTS 3 Loading