From: Waqar Hameed <waqar.hameed@axis.com>
To: Sebastian Reichel <sebastian.reichel@collabora.com>
Cc: Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>, <kernel@axis.com>,
<linux-kernel@vger.kernel.org>, <linux-pm@vger.kernel.org>,
<devicetree@vger.kernel.org>
Subject: Re: [RFC PATCH 0/2] Add driver for TI BQ25630 charger
Date: Tue, 9 Jun 2026 17:13:17 +0200 [thread overview]
Message-ID: <pndzf13u4qa.a.out@axis.com> (raw)
In-Reply-To: <ah72aPNg-psfHrHi@venus> (Sebastian Reichel's message of "Tue, 2 Jun 2026 18:17:16 +0200")
On Tue, Jun 02, 2026 at 18:17 +0200 Sebastian Reichel <sebastian.reichel@collabora.com> wrote:
> On Wed, May 20, 2026 at 05:49:38PM +0200, Waqar Hameed wrote:
[...]
> Driver itself LGTM. I think it would be sensible to merge that while
> the extra features are being prepared, but the DT binding must be
> fixed first :)
Sounds reasonable! I'm doing a thorough testing of this right now (with
some minor issues found) and will send an updated version of that soon
so we can have the base functionality merged.
>> > However, some functionality has no straightforward implementation. The
>> > following features have therefore been left out and hopefully we can
>> > have some design discussions to reach a clear resolution for the next
>> > patch version (hence the RFC tag):
>> >
>> > 1. The USB OTG functionality (i.e. power *out* from the device) would
>> > probably need a minor refactorization to use the MFD sub-system to
>> > also register a regulator driver. Looking at the bq257xx driver,
>> > this should be the preferred design?
>
> If the regulator is the only part making this a MFD, just create it
> in the charger driver itself. There are a few examples, just grep
> for 'struct regulator_ops' in drivers/power/supply.
Alright, will do that!
>
>> > 2. Other drivers add a custom `sysfs` attributes for BATFET control.
>> > See for example rt9471 and bq24190. Is this the preferred approach?
>> > Should we add a new power `sysfs` class ABI for this? (There is a
>> > TODO left in the code for this.)
>> >
>> > I reckon it is quite common to have BATFET control for chargers,
>> > i.e. being able to set them in "ship mode", "stand-by mode",
>> > "shutdown mode" or "idle mode" (example values taken from the
>> > `BATFET_CTRL` register field from datasheet [1])?
>
> Yes. I usually ask to use custom properties until there are a few
> users to avoid cluttering the general ABI. I think BATFET is a good
> candidate. Please add a new property for that one.
>
>> > 3. This device has liquid detection and corrosion mitigation. I
>> > couldn't find any existing device driver with this kind of
>> > functionality. The datasheet [1] even mentions "patent pending",
>> > although it refers to the USB type-C Specification 2.3... :)
>
> This is something I also expect to see in more devices; I know a
> couple of Android devices offer this. But indeed nothing has been
> submitted so far.
>
>> > When liquid is detected in the charging port, an interrupt is
>> > fired. Likewise, an interrupt can be fired when the port is dry
>> > enough (according to some configured threshold value). My initial
>> > thought was that maybe we can add "liquid detected" to the `health`
>> > `sysfs` ABI?
>
> Sounds good to me.
I'll send these as separate patches then.
>
>> > However, the question still remains though how one
>> > should enable/disable and set threshold values for this (new power
>> > class `sysfs` ABI or a custom one only for this driver)?
>> >
>> > [1] https://www.ti.com/lit/gpn/bq25630
>
> I had a quick look at the datasheet. I think a new standard property
> would be sensible:
>
> LIQUID_DETECTION_CONTROL with possible values
> off = Not liquid detection is being performed
> auto = Periodic liquid detection checks are being done
> once = Writing this will perform a single check (and return to off)
I think this sounds reasonable. Most future devices (if not all?) would
probably be covered with these three states.
>
> For the other controls I'm not sure how generalized they are. E.g.
> for TLQD and ILQD it offers 4 steps, but not explicit current
> (seconds and amps). OTOH for the voltage explicit values are listed.
> Maybe just leave them to the default until somebody actually need
> this configurable?
The USB specification actually lists several different methods [1]. I
agree that the wisest right now is to just leave this and wait for more
data points (from how other devices will expose this).
>
>> Friendly ping incoming!
>
> Sorry for being slow with reviews, I was quite busy and out of
> office in the whole May.
No worries! I know how the workload can be as a maintainer (especially
if you're all by yourself). Thank you for taking your time! :)
> I suggest that the 3 things are being send on top of the updaed base
> driver :)
Yes, let's do baby steps here and merge base functionality first (as
discussed above) before adding all these extra features.
[1] `USB Type-C Spec R2.4 - October 2024.pdf`, A.3, p. 351. https://usb.org/sites/default/files/USB%20Type-C%202.4%20Release%20202410.zip
prev parent reply other threads:[~2026-06-09 15:13 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-27 15:35 [RFC PATCH 0/2] Add driver for TI BQ25630 charger Waqar Hameed
2026-02-27 15:35 ` [RFC PATCH 1/2] dt-bindings: power: supply: Add " Waqar Hameed
2026-02-27 17:31 ` Conor Dooley
2026-03-02 13:44 ` Waqar Hameed
2026-03-02 17:47 ` Conor Dooley
2026-03-04 16:16 ` Waqar Hameed
2026-02-27 15:35 ` [RFC PATCH 2/2] power: supply: Add driver for " Waqar Hameed
2026-05-20 15:49 ` [RFC PATCH 0/2] " Waqar Hameed
2026-06-02 16:17 ` Sebastian Reichel
2026-06-09 15:13 ` Waqar Hameed [this message]
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=pndzf13u4qa.a.out@axis.com \
--to=waqar.hameed@axis.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=kernel@axis.com \
--cc=krzk+dt@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=robh@kernel.org \
--cc=sebastian.reichel@collabora.com \
/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