linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Maxime Ripard <maxime.ripard@free-electrons.com>
To: Quentin Schulz <quentin.schulz@free-electrons.com>
Cc: knaack.h@gmx.de, lars@metafoo.de, pmeerw@pmeerw.net,
	robh+dt@kernel.org, mark.rutland@arm.com, wens@csie.org,
	sre@kernel.org, linux@armlinux.org.uk, lee.jones@linaro.org,
	linux-iio@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	thomas.petazzoni@free-electrons.com, icenowy@aosc.xyz,
	bonbons@linux-vserver.org
Subject: Re: [PATCH v2 00/25] add support for AXP20X and AXP22X power supply drivers
Date: Fri, 27 Jan 2017 10:19:53 +0100	[thread overview]
Message-ID: <20170127091953.i3nhfsekzycmlefu@lukather> (raw)
In-Reply-To: <20170127085458.18270-1-quentin.schulz@free-electrons.com>

[-- Attachment #1: Type: text/plain, Size: 3550 bytes --]

On Fri, Jan 27, 2017 at 09:54:33AM +0100, Quentin Schulz wrote:
> The X-Powers AXP20X and AXP22X PMICs have multiple ADCs. They expose
> information and data of the various power supplies they support such as
> ACIN, battery and VBUS. For example, they expose the current battery
> voltage, charge or discharge, as well as ACIN and VBUS current voltages
> and currents, internal PMIC temperature and ADC on 2 different GPIOs
> when in the right mode (for the AXP209 only).
> 
> The ACIN power supply driver is added by this patch. The AXP20X and
> AXP22X can both read the status and the "usability" of the power supply
> but only the AXP209 will be able to tell the current current and voltage
> of the power supply by reading ADC channels. It is simply not supported
> by the AXP22X PMICs.
> 
> The battery power supply driver is also added by this patch. The AXP20X
> and AXP22X share most of their behaviour but have slight variations. The
> allowed target voltages for battery charging are not the same, the
> AXP22X PMIC are able to tell if the battery percentage computed by the
> PMIC is trustworthy and they have different formulas for computing max
> current for battery power supply. The driver is able to give the current
> voltage and current of the battery (be it charging or discharging), the
> maximal and minimal voltage and maximal current allowed for the battery,
> whether the battery is present and usable and its capacity. It will get
> the battery current current and voltage by reading the ADC channels. The
> PMIC allows maximal voltages (4.36V for AXP20X and 4.22V and 4.24V for
> AXP22X) that should not be used with Lithium-based batteries and since
> this PMIC is supposed to be used with Lithium-based batteries, they have
> been disabled. The values returned by the ADC driver are multipled by
> 1000 to scale from the mV returned by the ADC to the uV expected by the
> power supply framework.
> 
> This series of patch adds DT bindings for ACIN power supply, ADC and
> battery power supply drivers for AXP20X and AXP22X PMICs and their
> documentation. It also enables the supported power supplies for the
> Nextthing Co. CHIP and Sinlinx SinA33 boards.
> 
> The different drivers are also added to the MFD cells of the AXP20X and
> AXP22X cells and the writeable and volatile regs updated to work with
> the newly added drivers.
> 
> VBUS driver has intentionally not been modified to use the ADC channels
> because a DT binding already exists for this driver. Migrating the
> driver would mean to add an iio_map to map the ADC channels to the VBUS
> driver (so we can use iio_channel_get and iio_read_channel_processed
> functions). This slightly complexifies the VBUS driver only for
> "cosmetic" changes. Feel free to give your two cents on the matter.
> 
> This series of patch is based on a previous upstreaming attempt done by
> Bruno Prémont few months ago. It differs in three points: the ADC
> driver does not tell the battery temperature (TS_IN) as I do not have a
> board to test it with, it does not tell the instantaneous battery power
> as it returns crazy values for me and finally no support for OCV curves
> for the battery.
> 
> You can test these patches from this repo and branch:
> https://github.com/QSchulz/linux/tree/axp2xx_adc_batt_ac_v2

For the whole serie,
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>

Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 801 bytes --]

      parent reply	other threads:[~2017-01-27  9:20 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-27  8:54 [PATCH v2 00/25] add support for AXP20X and AXP22X power supply drivers Quentin Schulz
2017-01-27  8:54 ` [PATCH v2 01/25] dt-bindings: iio: adc: add AXP20X/AXP22X ADC DT binding Quentin Schulz
2017-01-27  8:54 ` [PATCH v2 02/25] mfd: axp20x: correct name of temperature data ADC registers Quentin Schulz
2017-01-27  9:30   ` Chen-Yu Tsai
2017-02-08  9:26   ` Lee Jones
2017-01-27  8:54 ` [PATCH v2 03/25] power: supply: axp20x_usb_power: use IIO channels when available Quentin Schulz
2017-01-28 14:36   ` Jonathan Cameron
2017-01-29 16:21   ` Sebastian Reichel
2017-01-27  8:54 ` [PATCH v2 04/25] iio: adc: add support for X-Powers AXP20X and AXP22X PMICs ADCs Quentin Schulz
2017-01-28 14:49   ` Jonathan Cameron
2017-01-28 15:12     ` Quentin Schulz
2017-01-28 15:34       ` Jonathan Cameron
2017-01-27  8:54 ` [PATCH v2 05/25] mfd: axp20x: add ADC cells for AXP20X and AXP22X PMICs Quentin Schulz
2017-01-27  8:54 ` [PATCH v2 06/25] ARM: dtsi: axp209: add AXP209 ADC subnode Quentin Schulz
2017-01-31  4:08   ` Chen-Yu Tsai
2017-01-27  8:54 ` [PATCH v2 07/25] ARM: dtsi: axp22x: add AXP22X " Quentin Schulz
2017-01-27  8:54 ` [PATCH v2 08/25] dt-bindings: power: supply: add AXP20X/AXP22X AC power supply Quentin Schulz
2017-01-29 16:22   ` Sebastian Reichel
2017-01-27  8:54 ` [PATCH v2 09/25] iio: adc: axp20x_adc: map acin_i and acin_v Quentin Schulz
2017-01-28 14:51   ` Jonathan Cameron
2017-01-29 16:31   ` Sebastian Reichel
2017-01-27  8:54 ` [PATCH v2 10/25] power: supply: add AC power supply driver for AXP20X and AXP22X PMICs Quentin Schulz
2017-01-29 16:25   ` Sebastian Reichel
2017-01-27  8:54 ` [PATCH v2 11/25] mfd: axp20x: add AC power supply cells for " Quentin Schulz
2017-01-29 16:35   ` Sebastian Reichel
2017-01-31  4:11     ` Chen-Yu Tsai
2017-01-27  8:54 ` [PATCH v2 12/25] ARM: dtsi: axp209: add AC power supply subnode Quentin Schulz
2017-01-31  4:12   ` Chen-Yu Tsai
2017-01-27  8:54 ` [PATCH v2 13/25] ARM: dtsi: axp22x: " Quentin Schulz
2017-01-31  4:13   ` Chen-Yu Tsai
2017-01-27  8:54 ` [PATCH v2 14/25] ARM: dts: sun8i: sina33: enable ACIN " Quentin Schulz
2017-01-31  5:03   ` Chen-Yu Tsai
2017-01-27  8:54 ` [PATCH v2 15/25] ARM: sun5i: chip: " Quentin Schulz
2017-01-31  5:03   ` Chen-Yu Tsai
2017-01-27  8:54 ` [PATCH v2 16/25] dt-bindings: power: supply: add AXP20X/AXP22X battery DT binding Quentin Schulz
2017-01-29 16:47   ` Sebastian Reichel
2017-01-31  7:59     ` Quentin Schulz
2017-01-27  8:54 ` [PATCH v2 17/25] mfd: axp20x: add CHRG_CTRL1/2/3 to writeable regs for AXP20X/AXP22X Quentin Schulz
2017-01-31  5:05   ` Chen-Yu Tsai
2017-01-27  8:54 ` [PATCH v2 18/25] mfd: axp20x: add V_OFF to writeable regs for AXP20X and AXP22X Quentin Schulz
2017-01-27  8:54 ` [PATCH v2 19/25] iio: adc: axp20x_adc: map battery IIO channels Quentin Schulz
2017-01-28 14:52   ` Jonathan Cameron
2017-01-31  5:06     ` Chen-Yu Tsai
2017-01-27  8:54 ` [PATCH v2 20/25] power: supply: add battery driver for AXP20X and AXP22X PMICs Quentin Schulz
2017-01-28 14:54   ` Jonathan Cameron
2017-01-27  8:54 ` [PATCH v2 21/25] mfd: axp20x: add MFD cells for AXP20X and AXP22X battery driver Quentin Schulz
2017-01-27  8:54 ` [PATCH v2 22/25] ARM: dtsi: axp209: add battery power supply subnode Quentin Schulz
2017-01-27  8:54 ` [PATCH v2 23/25] ARM: dtsi: axp22x: " Quentin Schulz
2017-01-27  8:54 ` [PATCH v2 24/25] ARM: dts: sun8i: sina33: enable " Quentin Schulz
2017-01-27  8:54 ` [PATCH v2 25/25] ARM: sun5i: chip: " Quentin Schulz
2017-01-27  9:19 ` Maxime Ripard [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=20170127091953.i3nhfsekzycmlefu@lukather \
    --to=maxime.ripard@free-electrons.com \
    --cc=bonbons@linux-vserver.org \
    --cc=devicetree@vger.kernel.org \
    --cc=icenowy@aosc.xyz \
    --cc=knaack.h@gmx.de \
    --cc=lars@metafoo.de \
    --cc=lee.jones@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=mark.rutland@arm.com \
    --cc=pmeerw@pmeerw.net \
    --cc=quentin.schulz@free-electrons.com \
    --cc=robh+dt@kernel.org \
    --cc=sre@kernel.org \
    --cc=thomas.petazzoni@free-electrons.com \
    --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).