[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250619-smb2-smb5-support-v1-0-ac5dec51b6e1@linaro.org>
Date: Thu, 19 Jun 2025 16:55:08 +0200
From: Casey Connolly <casey.connolly@...aro.org>
To: Sebastian Reichel <sre@...nel.org>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, Bjorn Andersson <andersson@...nel.org>,
Konrad Dybcio <konradybcio@...nel.org>, Kees Cook <kees@...nel.org>,
"Gustavo A. R. Silva" <gustavoars@...nel.org>
Cc: linux-arm-msm@...r.kernel.org, linux-pm@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
Sebastian Reichel <sebastian.reichel@...labora.com>,
linux-hardening@...r.kernel.org, Casey Connolly <casey.connolly@...aro.org>
Subject: [PATCH 00/11] power: supply: pmi8998 charger improvements and smb5
support
This series contains fixes and cleanups for the pmi8998 charger driver,
as well as introducing support for the newer smb5 charger found in the
pm8150b and other newer Qualcomm PMICs..
A bug is fixed where wakeirq enable/disable refcounting wasn't respected
when the driver was unloaded and reloaded.
Support is added for disabling charging entirely by writing a 0 to the
"status" register (as described in the psy documentation). This allows
for userspace programs to manage charging, e.g. to stop at 80% capacity.
The AICL re-run interval is programmed to a consistent value (3
seconds).
The battery property charge-term-current-microamp is now respected, this
is used to program the constant charge current limit during the fast
charging phase. This also makes it safer to increase the max current
limit this driver originally imposed from 1A to ~2A. According to the
PMIC docs this is easy to handle without a secondary charger chip (which
most but not all phones have).
Further increasing the charge current limit would require tighter
integration with thermal zones and a mechanism to limit the current
when the device gets too warm (e.g. by modelling the power supply as
a cooling device). This infrastructure is currently missing from the
kernel.
---
Casey Connolly (11):
dt-bindings: power: supply: qcom,pmi89980-charger: add pm8150b and 7250b
arm64: dts: qcom: sdm845-oneplus-*: set constant-charge-current-max-microamp
power: supply: qcom_pmi8998_charger: fix wakeirq
power: supply: pmi8998_charger: rename to qcom_smbx
power: supply: qcom_smbx: allow disabling charging
power: supply: qcom_smbx: respect battery charge-term-current-microamp
power: supply: qcom_smbx: bump up the max current
power: supply: qcom_smbx: remove unused registers
power: supply: qcom_smbx: add smb5 support
MAINTAINERS: add myself as smbx charger driver maintainer
power: supply: qcom_smbx: program aicl rerun time
.../power/supply/qcom,pmi8998-charger.yaml | 2 +
MAINTAINERS | 7 +
.../boot/dts/qcom/sdm845-oneplus-enchilada.dts | 8 +
arch/arm64/boot/dts/qcom/sdm845-oneplus-fajita.dts | 8 +
drivers/power/supply/Makefile | 2 +-
.../supply/{qcom_pmi8998_charger.c => qcom_smbx.c} | 730 ++++++++++++---------
6 files changed, 430 insertions(+), 327 deletions(-)
---
base-commit: bc6e0ba6c9bafa6241b05524b9829808056ac4ad
change-id: 20250518-smb2-smb5-support-01685eca6fbb
Casey Connolly <casey.connolly@...aro.org>
Powered by blists - more mailing lists