[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <aSpVv_a6uRhr8opu@rdacayan>
Date: Fri, 28 Nov 2025 21:09:03 -0500
From: Richard Acayan <mailingradian@...il.com>
To: Casey Connolly <casey.connolly@...aro.org>
Cc: david@...t.cz, Sebastian Reichel <sre@...nel.org>,
Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Casey Connolly <casey@...nolly.tech>,
Joel Selvaraj <foss@...lselvaraj.com>,
Yassine Oudjana <y.oudjana@...tonmail.com>,
Bjorn Andersson <andersson@...nel.org>,
Konrad Dybcio <konradybcio@...nel.org>,
Alexander Martinz <amartinz@...ftphones.com>,
Barnabás Czémán <barnabas.czeman@...nlining.org>,
Alexey Minnekhanov <alexeymin@...tmarketos.org>,
linux-pm@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-arm-msm@...r.kernel.org,
phone-devel@...r.kernel.org
Subject: Re: [PATCH RFC 3/8] arm64: dts: qcom: pmi8998: Add fuel gauge
On Thu, Nov 27, 2025 at 06:53:38PM +0100, Casey Connolly wrote:
> On 24/11/2025 22:53, David Heidelberg via B4 Relay wrote:
> > From: Casey Connolly <casey.connolly@...aro.org>
> >
> > Introduce the fuel gauge node for pmi8998.
> >
>
> Signed-off-by: Casey Connolly <casey.connolly@...aro.org>>
> Signed-off-by: David Heidelberg <david@...t.cz>
> > ---
> > arch/arm64/boot/dts/qcom/pmi8998.dtsi | 11 +++++++++++
> > 1 file changed, 11 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/qcom/pmi8998.dtsi b/arch/arm64/boot/dts/qcom/pmi8998.dtsi
> > index cd3f0790fd420..ab3bc66502657 100644
> > --- a/arch/arm64/boot/dts/qcom/pmi8998.dtsi
> > +++ b/arch/arm64/boot/dts/qcom/pmi8998.dtsi
> > @@ -44,6 +44,17 @@ pmi8998_rradc: adc@...0 {
> > reg = <0x4500>;
> > #io-channel-cells = <1>;
> > };
> > +
> > + pmi8998_fg: fuel-gauge@...0 {
> > + compatible = "qcom,pmi8998-fg";
> > + reg = <0x4000>;
> > +
> > + interrupts = <0x2 0x40 0x3 IRQ_TYPE_EDGE_RISING>;
> > + interrupt-names = "soc-delta";
>
> I think it makes sense to add all the interrupts here, even if thr
> driver only uses one of them currently.
>
> interrupts = <0x2 0x40 0x0 IRQ_TYPE_EDGE_BOTH>,
> <0x2 0x40 0x1 IRQ_TYPE_EDGE_BOTH>,
> <0x2 0x40 0x2 IRQ_TYPE_EDGE_RISING>,
> <0x2 0x40 0x3 IRQ_TYPE_EDGE_RISING>,
> <0x2 0x40 0x4 IRQ_TYPE_EDGE_BOTH>,
> <0x2 0x40 0x5 IRQ_TYPE_EDGE_RISING>,
> <0x2 0x40 0x6 IRQ_TYPE_EDGE_BOTH>,
> <0x2 0x40 0x7 IRQ_TYPE_EDGE_BOTH>;
> interrupt-names = "soc-update",
> "soc-ready",
> "bsoc-delta",
> "msoc-delta",
> "msoc-low",
> "msoc-empty",
> "msoc-high",
> "msoc-full";
>
> https://github.com/LineageOS/android_kernel_oneplus_sdm845/blob/lineage-22.2/arch/arm64/boot/dts/qcom/pmi8998.dtsi#L292
>
> Not sure what the difference is between bsoc-delta and msoc-delta, maybe
> Richard or Yassine can recall? DT bindings would need updating too.
Well I don't remember, but the downstream kernel seems to reference bsoc
as battery SOC and msoc (used for the battery percentage) as
monotonic SOC. Maybe msoc is based on bsoc and scaled based on battery
health, but that's just from skimming the downstream driver.
Powered by blists - more mailing lists