summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorNicholas Troast <ntroast@codeaurora.org>2016-07-27 11:08:10 -0700
committerNicholas Troast <ntroast@codeaurora.org>2016-07-29 17:12:01 -0700
commit82ee420ef800a9d01bf602bb7acbafdbab4a7d73 (patch)
tree5b29a4390a04969a1c1230b914b5e1a245658a2a /drivers
parent8c5c49fdb240349632bcb0d3379c0f19562573a1 (diff)
qcom-charger: qpnp-smb2: use values from hardware for default settings
Currently some hardware default charge settings are modified with software default charge settings. Remove the software default settings, and use only the device tree properties for changing the hardware defaults. Change-Id: I02a0cbbf547aacc5e813d027a2f3623cc01e1dd6 Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/power/qcom-charger/qpnp-smb2.c25
1 files changed, 18 insertions, 7 deletions
diff --git a/drivers/power/qcom-charger/qpnp-smb2.c b/drivers/power/qcom-charger/qpnp-smb2.c
index ad00a987ae41..b7e590c507e5 100644
--- a/drivers/power/qcom-charger/qpnp-smb2.c
+++ b/drivers/power/qcom-charger/qpnp-smb2.c
@@ -25,9 +25,6 @@
#include "smb-lib.h"
#include "pmic-voter.h"
-#define SMB2_DEFAULT_FCC_UA 3000000
-#define SMB2_DEFAULT_FV_UV 4350000
-#define SMB2_DEFAULT_ICL_UA 3000000
#define SMB2_DEFAULT_WPWR_UW 8000000
static struct smb_params v1_params = {
@@ -152,22 +149,22 @@ static int smb2_parse_dt(struct smb2 *chip)
rc = of_property_read_u32(node,
"qcom,fcc-max-ua", &chip->dt.fcc_ua);
if (rc < 0)
- chip->dt.fcc_ua = SMB2_DEFAULT_FCC_UA;
+ chip->dt.fcc_ua = -EINVAL;
rc = of_property_read_u32(node,
"qcom,fv-max-uv", &chip->dt.fv_uv);
if (rc < 0)
- chip->dt.fv_uv = SMB2_DEFAULT_FV_UV;
+ chip->dt.fv_uv = -EINVAL;
rc = of_property_read_u32(node,
"qcom,usb-icl-ua", &chip->dt.usb_icl_ua);
if (rc < 0)
- chip->dt.usb_icl_ua = SMB2_DEFAULT_ICL_UA;
+ chip->dt.usb_icl_ua = -EINVAL;
rc = of_property_read_u32(node,
"qcom,dc-icl-ua", &chip->dt.dc_icl_ua);
if (rc < 0)
- chip->dt.dc_icl_ua = SMB2_DEFAULT_ICL_UA;
+ chip->dt.dc_icl_ua = -EINVAL;
rc = of_property_read_u32(node,
"qcom,wipower-max-uw", &chip->dt.wipower_max_uw);
@@ -592,6 +589,20 @@ static int smb2_init_hw(struct smb2 *chip)
struct smb_charger *chg = &chip->chg;
int rc;
+ if (chip->dt.fcc_ua < 0)
+ smblib_get_charge_param(chg, &chg->param.fcc, &chip->dt.fcc_ua);
+
+ if (chip->dt.fv_uv < 0)
+ smblib_get_charge_param(chg, &chg->param.fv, &chip->dt.fv_uv);
+
+ if (chip->dt.usb_icl_ua < 0)
+ smblib_get_charge_param(chg, &chg->param.usb_icl,
+ &chip->dt.usb_icl_ua);
+
+ if (chip->dt.dc_icl_ua < 0)
+ smblib_get_charge_param(chg, &chg->param.dc_icl,
+ &chip->dt.dc_icl_ua);
+
/* votes must be cast before configuring software control */
vote(chg->pl_disable_votable,
USBIN_ICL_VOTER, true, 0);