drivers/power/supply/qcom_smbx.c | 7 +++++++ 1 file changed, 7 insertions(+)
From: Casey Connolly <casey.connolly@linaro.org>
Hook up USBIN_CMD_IL so that writing "0" to the status register will
disable charging, this is useful to let users limit charging
automatically.
Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
---
[David]
- adapted from:
https://lore.kernel.org/all/20250619-smb2-smb5-support-v1-5-ac5dec51b6e1@linaro.org/
- moved USBIN defines into the right place inside this patch
---
drivers/power/supply/qcom_smbx.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/power/supply/qcom_smbx.c b/drivers/power/supply/qcom_smbx.c
index b1cb925581ec6..bf2e2ccc454a6 100644
--- a/drivers/power/supply/qcom_smbx.c
+++ b/drivers/power/supply/qcom_smbx.c
@@ -134,6 +134,9 @@
#define OCP_CHARGER_BIT BIT(1)
#define SDP_CHARGER_BIT BIT(0)
+#define USBIN_CMD_IL 0x340
+#define USBIN_SUSPEND_BIT BIT(0)
+
#define TYPE_C_STATUS_1 0x30B
#define UFP_TYPEC_MASK GENMASK(7, 5)
#define UFP_TYPEC_RDSTD_BIT BIT(7)
@@ -693,6 +696,9 @@ static int smb_set_property(struct power_supply *psy,
struct smb_chip *chip = power_supply_get_drvdata(psy);
switch (psp) {
+ case POWER_SUPPLY_PROP_STATUS:
+ return regmap_update_bits(chip->regmap, chip->base + USBIN_CMD_IL,
+ USBIN_SUSPEND_BIT, !val->intval);
case POWER_SUPPLY_PROP_CURRENT_MAX:
return smb_set_current_limit(chip, val->intval);
default:
@@ -705,6 +711,7 @@ static int smb_property_is_writable(struct power_supply *psy,
enum power_supply_property psp)
{
switch (psp) {
+ case POWER_SUPPLY_PROP_STATUS:
case POWER_SUPPLY_PROP_CURRENT_MAX:
return 1;
default:
---
base-commit: b84a0ebe421ca56995ff78b66307667b62b3a900
change-id: 20260315-smb2-cherry-pick-4bce2dd2fdbe
Best regards,
--
David Heidelberg <david@ixit.cz>
On Sun, 15 Mar 2026 20:40:16 +0100, David Heidelberg wrote:
> Hook up USBIN_CMD_IL so that writing "0" to the status register will
> disable charging, this is useful to let users limit charging
> automatically.
>
>
Applied, thanks!
[1/1] power: supply: qcom_smbx: allow disabling charging
commit: 98d68b74ebb9d5f145960ff7d96ce8e7a39fb965
Best regards,
--
Sebastian Reichel <sebastian.reichel@collabora.com>
© 2016 - 2026 Red Hat, Inc.