[PATCH] power: supply: qcom_smbx: allow disabling charging

David Heidelberg via B4 Relay posted 1 patch 3 weeks, 1 day ago
drivers/power/supply/qcom_smbx.c | 7 +++++++
1 file changed, 7 insertions(+)
[PATCH] power: supply: qcom_smbx: allow disabling charging
Posted by David Heidelberg via B4 Relay 3 weeks, 1 day ago
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>
Re: [PATCH] power: supply: qcom_smbx: allow disabling charging
Posted by Sebastian Reichel 4 days, 5 hours ago
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>