From: Casey Connolly <casey.connolly@linaro.org>
To: Sebastian Reichel <sre@kernel.org>, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Bjorn Andersson <andersson@kernel.org>,
Konrad Dybcio <konradybcio@kernel.org>,
Kees Cook <kees@kernel.org>,
"Gustavo A. R. Silva" <gustavoars@kernel.org>
Cc: linux-arm-msm@vger.kernel.org, linux-pm@vger.kernel.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
Sebastian Reichel <sebastian.reichel@collabora.com>,
linux-hardening@vger.kernel.org,
Casey Connolly <casey.connolly@linaro.org>
Subject: [PATCH 07/11] power: supply: qcom_smbx: bump up the max current
Date: Thu, 19 Jun 2025 16:55:15 +0200 [thread overview]
Message-ID: <20250619-smb2-smb5-support-v1-7-ac5dec51b6e1@linaro.org> (raw)
In-Reply-To: <20250619-smb2-smb5-support-v1-0-ac5dec51b6e1@linaro.org>
I set a super conservative current limit since we lack many of the
safety features (thermal monitoring, etc) that these drivers really
need. However now we have a better understanding of the hardware, it's
fine to bump this limit up a bit, devices can additionally set the max
current via devicetree instead.
Since this is common to smb2 and smb5, move this write out of the init
sequence and into probe proper.
Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
---
drivers/power/supply/qcom_smbx.c | 22 ++++++++++++++--------
1 file changed, 14 insertions(+), 8 deletions(-)
diff --git a/drivers/power/supply/qcom_smbx.c b/drivers/power/supply/qcom_smbx.c
index 7fc232fa7260a7422ac12a48686cd7d396edd9a4..d1607674d291d6ef5762d35acd3330e2116f41a3 100644
--- a/drivers/power/supply/qcom_smbx.c
+++ b/drivers/power/supply/qcom_smbx.c
@@ -875,16 +875,8 @@ static const struct smb_init_register smb_init_seq[] = {
*/
{ .addr = PRE_CHARGE_CURRENT_CFG,
.mask = PRE_CHARGE_CURRENT_SETTING_MASK,
.val = 500000 / CURRENT_SCALE_FACTOR },
- /*
- * This overrides all of the current limit options exposed to userspace
- * and prevents the device from pulling more than ~1A. This is done
- * to minimise potential fire hazard risks.
- */
- { .addr = FAST_CHARGE_CURRENT_CFG,
- .mask = FAST_CHARGE_CURRENT_SETTING_MASK,
- .val = 1000000 / CURRENT_SCALE_FACTOR },
};
static int smb_init_hw(struct smb_chip *chip)
{
@@ -1029,8 +1021,22 @@ static int smb_probe(struct platform_device *pdev)
return dev_err_probe(chip->dev, rc, "Couldn't set wake irq\n");
platform_set_drvdata(pdev, chip);
+ /*
+ * This overrides all of the other current limits and is expected
+ * to be used for setting limits based on temperature. We set some
+ * relatively safe default value while still allowing a comfortably
+ * fast charging rate. Once temperature monitoring is hooked up we
+ * would expect this to be changed dynamically based on temperature
+ * reporting.
+ */
+ rc = regmap_write(chip->regmap, chip->base + FAST_CHARGE_CURRENT_CFG,
+ 1950000 / CURRENT_SCALE_FACTOR);
+ if (rc < 0)
+ return dev_err_probe(chip->dev, rc,
+ "Couldn't write fast charge current cfg");
+
/* Initialise charger state */
schedule_delayed_work(&chip->status_change_work, 0);
return 0;
--
2.49.0
next prev parent reply other threads:[~2025-06-19 14:55 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-19 14:55 [PATCH 00/11] power: supply: pmi8998 charger improvements and smb5 support Casey Connolly
2025-06-19 14:55 ` [PATCH 01/11] dt-bindings: power: supply: qcom,pmi89980-charger: add pm8150b and 7250b Casey Connolly
2025-06-27 19:40 ` Rob Herring (Arm)
2025-06-19 14:55 ` [PATCH 02/11] arm64: dts: qcom: sdm845-oneplus-*: set constant-charge-current-max-microamp Casey Connolly
2025-06-19 14:55 ` [PATCH 03/11] power: supply: qcom_pmi8998_charger: fix wakeirq Casey Connolly
2025-06-20 21:44 ` Dmitry Baryshkov
2025-06-19 14:55 ` [PATCH 04/11] power: supply: pmi8998_charger: rename to qcom_smbx Casey Connolly
2025-06-20 8:51 ` Luca Weiss
2025-06-19 14:55 ` [PATCH 05/11] power: supply: qcom_smbx: allow disabling charging Casey Connolly
2025-06-20 16:54 ` Konrad Dybcio
2025-06-22 19:13 ` Sebastian Reichel
2025-06-19 14:55 ` [PATCH 06/11] power: supply: qcom_smbx: respect battery charge-term-current-microamp Casey Connolly
2025-06-20 16:57 ` Konrad Dybcio
2025-06-22 18:28 ` Sebastian Reichel
2025-06-19 14:55 ` Casey Connolly [this message]
2025-06-20 17:07 ` [PATCH 07/11] power: supply: qcom_smbx: bump up the max current Konrad Dybcio
2025-06-19 14:55 ` [PATCH 08/11] power: supply: qcom_smbx: remove unused registers Casey Connolly
2025-06-19 14:55 ` [PATCH 09/11] power: supply: qcom_smbx: add smb5 support Casey Connolly
2025-06-20 3:32 ` kernel test robot
2025-06-20 8:39 ` Luca Weiss
2025-06-20 9:01 ` Luca Weiss
2025-06-24 1:06 ` Dmitry Baryshkov
2025-06-29 23:06 ` Caleb Connolly
2025-06-29 23:14 ` Dmitry Baryshkov
2025-06-19 14:55 ` [PATCH 10/11] MAINTAINERS: add myself as smbx charger driver maintainer Casey Connolly
2025-06-20 8:40 ` Luca Weiss
2025-06-19 14:55 ` [PATCH 11/11] power: supply: qcom_smbx: program aicl rerun time Casey Connolly
2025-06-20 17:00 ` Konrad Dybcio
2025-06-23 16:33 ` Casey Connolly
2025-06-23 16:40 ` Konrad Dybcio
2025-06-22 19:13 ` (subset) [PATCH 00/11] power: supply: pmi8998 charger improvements and smb5 support Sebastian Reichel
2025-08-24 2:55 ` Bjorn Andersson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250619-smb2-smb5-support-v1-7-ac5dec51b6e1@linaro.org \
--to=casey.connolly@linaro.org \
--cc=andersson@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=gustavoars@kernel.org \
--cc=kees@kernel.org \
--cc=konradybcio@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-hardening@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=robh@kernel.org \
--cc=sebastian.reichel@collabora.com \
--cc=sre@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).