devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Samuel Holland <samuel@sholland.org>
To: Evgeny Boger <boger@wirenboard.com>, Maxime Ripard <maxime@cerno.tech>
Cc: linux-iio@vger.kernel.org, devicetree@vger.kernel.org,
	Jonathan Cameron <jic23@kernel.org>,
	Lars-Peter Clausen <lars@metafoo.de>,
	Chen-Yu Tsai <wens@csie.org>,
	Jernej Skrabec <jernej.skrabec@gmail.com>,
	Quentin Schulz <foss@0leil.net>,
	linux-sunxi@lists.linux.dev
Subject: Re: [PATCH 2/2] dt-bindings: iio: adc: document TS voltage in AXP PMICs
Date: Mon, 22 Nov 2021 05:35:08 -0600	[thread overview]
Message-ID: <35630e89-4988-a6a9-b801-0e9e44419684@sholland.org> (raw)
In-Reply-To: <d1a18116-e198-1b26-d73a-36fbf31aaa81@wirenboard.com>

On 11/22/21 5:17 AM, Evgeny Boger wrote:
> 22.11.2021 13:49, Maxime Ripard пишет:
>> On Thu, Nov 18, 2021 at 05:12:33PM +0300, Evgeny Boger wrote:
>>> Most AXPxxx-based reference designs place a 10k NTC thermistor on a
>>> TS pin. axp20x IIO driver now report the voltage of this pin via
>>> additional IIO channel. Add new "ts_v" channel to the channel
>>> description.
>>>
>>> Signed-off-by: Evgeny Boger <boger@wirenboard.com>
>> Would it make sense to put the resistance in the DT as well or is it
>> made mandatory by Allwinner?
>>
>> Maxime
> Well, I don't think so. Basically, by default AXP20x injects 80uA 
> current into the TS pin and measure the voltage. Then, there are 
> voltage thresholds to stop charging if the battery is too hot or too 
> cold. The default thresholds were calculated by the manufacturer for 
> default 10k resistance and 80uA current. Finally, if TS pin is
> shorted to GND, the AXP2xx will detect it and won't shut down 
> charging. Note that AXP2xx doesn't convert the measured voltage to 
> temperature.

Agreed, since the ADC driver only works with voltages, the resistance is
not relevant to it, so a resistance property does not belong here.

> So while it's possible to use AXP2xx with resistance other than 10k, 
> it will require us to override these protection thresholds.
> Moreover, if one want to put the actual resistance in DT, then the
> driver would need to calculate these protection thresholds based on
> NTC parameters and injection current.
That means we do need a resistance property for the battery charger
driver, because it does need to calculate temperature.

Regardless of the reference design, the resistance is variable in
practice. At least some early v1.0 PinePhones shipped with batteries
containing a 3 kOhm NTC. And the battery is removable, with an
off-the-shelf form factor, so users could install aftermarket batteries
with any NTC resistance.

Right now, people with these batteries are disabling the TS; otherwise
the PMIC refuses to charge them. It would be good to re-enable the TS by
coming up with the proper voltages for the min/max thresholds. And there
are power supply properties we can use to expose the current temperature
and those thresholds to userspace (at least as read-only).

Regards,
Samuel

  reply	other threads:[~2021-11-22 11:35 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-18 14:12 [PATCH 0/2] iio: adc: axp20x: add support for NTC thermistor Evgeny Boger
2021-11-18 14:12 ` [PATCH 1/2] iio:adc:axp20x: " Evgeny Boger
2021-11-22 10:48   ` Maxime Ripard
2021-12-01 10:11   ` Quentin Schulz
2021-12-01 10:42   ` Quentin Schulz
2021-11-18 14:12 ` [PATCH 2/2] dt-bindings: iio: adc: document TS voltage in AXP PMICs Evgeny Boger
2021-11-22 10:49   ` Maxime Ripard
2021-11-22 11:17     ` Evgeny Boger
2021-11-22 11:35       ` Samuel Holland [this message]
2021-11-22 11:51         ` Evgeny Boger
2021-11-29 23:58         ` Evgeny Boger
2021-12-01 10:03           ` Quentin Schulz
2021-12-01 11:02           ` Quentin Schulz
2021-12-01 15:45             ` Evgeny Boger
2021-12-03 20:47               ` Sebastian Reichel
2021-12-04 15:26                 ` Jonathan Cameron
2021-12-05  1:02                   ` Linus Walleij
2021-12-05 10:50                     ` Evgeny Boger
2021-12-05 19:46                       ` Linus Walleij
2021-11-29 23:10   ` Rob Herring
2021-12-04 15:28     ` Jonathan Cameron

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=35630e89-4988-a6a9-b801-0e9e44419684@sholland.org \
    --to=samuel@sholland.org \
    --cc=boger@wirenboard.com \
    --cc=devicetree@vger.kernel.org \
    --cc=foss@0leil.net \
    --cc=jernej.skrabec@gmail.com \
    --cc=jic23@kernel.org \
    --cc=lars@metafoo.de \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-sunxi@lists.linux.dev \
    --cc=maxime@cerno.tech \
    --cc=wens@csie.org \
    /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;
as well as URLs for NNTP newsgroup(s).