mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Conor Dooley <conor@kernel.org>
To: Ariana Lazar <ariana.lazar@microchip.com>
Cc: "Jonathan Cameron" <jic23@kernel.org>,
	"Guenter Roeck" <linux@roeck-us.net>,
	"David Lechner" <dlechner@baylibre.com>,
	"Nuno Sá" <nuno.sa@analog.com>,
	"Andy Shevchenko" <andy@kernel.org>,
	"Rob Herring" <robh@kernel.org>,
	"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
	"Conor Dooley" <conor+dt@kernel.org>,
	linux-iio@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-hwmon@vger.kernel.org
Subject: Re: [PATCH v3 1/2] dt-bindings: iio: adc: add support for PAC1711
Date: Thu, 10 Sep 2026 12:55:39 +0100	[thread overview]
Message-ID: <aqKauqCxYwo8_nxM@squawk> (raw)
In-Reply-To: <20260909-pac1711-v3-1-dff81003b82f@microchip.com>

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

On Wed, Sep 09, 2026 at 03:23:34PM +0300, Ariana Lazar wrote:
> This is the device tree schema for Microchip PAC1711, PAC1721, PAC1811 and
> PAC1821 single-channel power monitor with accumulator. The PAC1711 and
> PAC1721 devices use 12-bit resolution for voltage and current measurements
> and 24 bits for power calculations, while PAC1811 and PAC1821 have 16-bit
> resolution and use 32 bits for power calculations. The 56-bit accumulator
> register accumulates power (energy) or current (Coulomb counter).
> 
> PAC1711 and PAC1811 measure up to 42V Full-Scale Range, respectively 9V for
> PAC1721 and PAC1821.
> 
> Signed-off-by: Ariana Lazar <ariana.lazar@microchip.com>
> ---
>  .../bindings/iio/adc/microchip,pac1711.yaml        | 183 +++++++++++++++++++++
>  MAINTAINERS                                        |   6 +
>  2 files changed, 189 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/iio/adc/microchip,pac1711.yaml b/Documentation/devicetree/bindings/iio/adc/microchip,pac1711.yaml
> new file mode 100644
> index 0000000000000000000000000000000000000000..c10b4b83a08d690b8045a3f42d4e43d17a8058d7
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iio/adc/microchip,pac1711.yaml
> @@ -0,0 +1,183 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/iio/adc/microchip,pac1711.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Microchip PAC1711 Power Monitors with Accumulator
> +
> +maintainers:
> +  - Ariana Lazar <ariana.lazar@microchip.com>
> +
> +description: |
> +  This device is part of the Microchip family of Power Monitors with Accumulator.
> +  Datasheet links:
> +  [PAC1711]: https://ww1.microchip.com/downloads/aemDocuments/documents/MSLD/ProductDocuments/PAC1711-Data-Sheet-DS20007058.pdf
> +  [PAC1721]: https://ww1.microchip.com/downloads/aemDocuments/documents/MSLD/ProductDocuments/PAC1721-Single-Channel-Power-Monitor-with-Accumulator-DS20007088.pdf
> +  [PAC1811]: https://ww1.microchip.com/downloads/aemDocuments/documents/MSLD/ProductDocuments/DataSheets/PAC1811-Data-Sheet-DS20007066.pdf
> +  [PAC1821]: https://ww1.microchip.com/downloads/aemDocuments/documents/MSLD/ProductDocuments/DataSheets/PAC1821-Data-Sheet-DS20007097.pdf
> +
> +  PAC1711, PAC1721, PAC1811 and PAC1821 are Single Channel Power Monitors
> +  with Accumulator, having 12-bit or 16-bit resolution. The devices PAC1711
> +  and PAC1811 can measure up to 42V Full-Scale Range, respectively 9V
> +  Full-Scale Range for PAC1721 and PAC1821.
> +

> +  The accumulation-source property aims to specify what kind of hardware is
> +  intended to be used/available for the user. There are two main cases here:
> +    - the user wants to measure also the current/power consumed before the
> +      driver insertion (e.g. from the boot to user control) and if this is a
> +      runtime setting, the hardware accumulator will be reset by the default
> +      configuration the driver starts with.
> +    - the driver does not know what type of hardware it's dealing with. In
> +      case the part is monitoring the charge/discharge current it does not
> +      make sense in user-space to change the accumulator to calculate energy.
> +      Same if the hardware is intended to calculate energy it does not make
> +      sense in user-space to change to Coulomb counter. Changing the setting
> +      from one mode to another will reset the hardware accumulator inside the
> +      chip.

Why is this here, rather than with the property in question or the
commit message? Anything justifying the property should just be in the
commit message, this doc is user facing and just should explain when and
why to use it.

Otherwise, this is fine.
pw-bot: changes-requested

Thanks,
Conor.

> +
> +properties:
> +  compatible:
> +    enum:
> +      - microchip,pac1711
> +      - microchip,pac1721
> +      - microchip,pac1811
> +      - microchip,pac1821
> +
> +  reg:
> +    maxItems: 1
> +
> +  vdd-supply: true
> +
> +  "#io-channel-cells":
> +    const: 1
> +
> +  shunt-resistor-micro-ohms:
> +    description:
> +      Value in micro Ohms of the shunt resistor connected between the VSENSE+
> +      and VSENSE- inputs, across which the current is measured. This value is
> +      needed to compute the scaling of the measured current.
> +
> +  label:
> +    description: Unique name to identify which device this is.
> +
> +  microchip,vbus-input-range-microvolt:
> +    description: |
> +      Specifies the voltage range in microvolts chosen for the voltage full
> +      scale range (FSR). The range should be set as <minimum, maximum> by
> +      hardware design and should not be changed during runtime.
> +
> +      The VBUS could be configured into the following full scale range:
> +        - for PAC1711 or PAC1811:
> +            - VBUS has unipolar 0V to 42V FSR (default)
> +            - VBUS has bipolar -42V to 42V FSR
> +            - VBUS has bipolar -21V to 21V FSR
> +        - for PAC1721 or PAC1821:
> +            - VBUS has unipolar 0V to 9V FSR (default)
> +            - VBUS has bipolar -9V to 9V FSR
> +            - VBUS has bipolar -4.5V to 4.5V FSR
> +
> +  microchip,vsense-input-range-microvolt:
> +    description: |
> +      Specifies the voltage range in microvolts chosen for the current full
> +      scale range (FSR). The current is calculated by dividing the vsense
> +      voltage by the value of the shunt resistor. The range should be set as
> +      <minimum, maximum> by hardware design and it should not be changed
> +      during runtime.
> +
> +      The VSENSE could be configured into the following full scale range:
> +        - VSENSE has unipolar 0 mV to 100 mV FSR (default)
> +        - VSENSE has bipolar -100 mV to 100 mV FSR
> +        - VSENSE has bipolar -50 mV to 50 mV FSR
> +    oneOf:
> +      - items:
> +          - const: 0
> +          - const: 100000
> +      - items:
> +          - const: -100000
> +          - const: 100000
> +      - items:
> +          - const: -50000
> +          - const: 50000
> +
> +  microchip,accumulation-source:
> +    $ref: /schemas/types.yaml#/definitions/string
> +    description: |
> +      The Hardware Accumulator may be used to accumulate VPOWER or VSENSE values
> +      for any channel. By setting the accumulator for a channel to accumulate
> +      the VPOWER values gives a measure of accumulated power over a time period,
> +      which is equivalent to energy. Setting the accumulator for a channel to
> +      accumulate VSENSE values gives a measure of accumulated current, which is
> +      equivalent to charge.
> +
> +      The Hardware Accumulator could be configured as:
> +       "energy" - Accumulator accumulates VPOWER (energy)
> +       "charge" - Accumulator accumulates VSENSE (Coulomb Counter)
> +    enum: [energy, charge]
> +    default: energy
> +
> +required:
> +  - compatible
> +  - reg
> +  - vdd-supply
> +  - shunt-resistor-micro-ohms
> +
> +allOf:
> +  - if:
> +      properties:
> +        compatible:
> +          pattern: "^microchip,pac1[78]11$"
> +    then:
> +      properties:
> +        microchip,vbus-input-range-microvolt:
> +          oneOf:
> +            - items:
> +                - const: 0
> +                - const: 42000000
> +            - items:
> +                - const: -42000000
> +                - const: 42000000
> +            - items:
> +                - const: -21000000
> +                - const: 21000000
> +          default: [0, 42000000]
> +  - if:
> +      properties:
> +        compatible:
> +          pattern: "^microchip,pac1[78]21$"
> +    then:
> +      properties:
> +        microchip,vbus-input-range-microvolt:
> +          oneOf:
> +            - items:
> +                - const: 0
> +                - const: 9000000
> +            - items:
> +                - const: -9000000
> +                - const: 9000000
> +            - items:
> +                - const: -4500000
> +                - const: 4500000
> +          default: [0, 9000000]
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    i2c {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        power-monitor@40 {
> +            compatible = "microchip,pac1711";
> +            reg = <0x40>;
> +
> +            shunt-resistor-micro-ohms = <11000000>;
> +            label = "VDD3V3";
> +            vdd-supply = <&vdd>;
> +            microchip,vbus-input-range-microvolt = <(-21000000) 21000000>;
> +            microchip,vsense-input-range-microvolt = <(-50000) 50000>;
> +            microchip,accumulation-source = "energy";
> +        };
> +    };
> +...
> diff --git a/MAINTAINERS b/MAINTAINERS
> index a92290fffa163f9fe8fe3f04bf66426f9a894409..399da37f79fd9768f29cc60aa5384a1ba9fe8afc 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -16337,6 +16337,12 @@ F:	Documentation/devicetree/bindings/nvmem/microchip,sama7g5-otpc.yaml
>  F:	drivers/nvmem/microchip-otpc.c
>  F:	include/dt-bindings/nvmem/microchip,sama7g5-otpc.h
>  
> +MICROCHIP PAC1711 POWER/CURRENT MONITOR DRIVER
> +M:	Ariana Lazar <ariana.lazar@microchip.com>
> +L:	linux-iio@vger.kernel.org
> +S:	Supported
> +F:	Documentation/devicetree/bindings/iio/adc/microchip,pac1711.yaml
> +
>  MICROCHIP PAC1921 POWER/CURRENT MONITOR DRIVER
>  M:	Matteo Martelli <matteomartelli3@gmail.com>
>  L:	linux-iio@vger.kernel.org
> 
> -- 
> 2.43.0
> 

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

  reply	other threads:[~2026-09-10 11:55 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-09 12:23 [PATCH v3 0/2] Add support for Microchip PAC1711 Power Monitor Ariana Lazar
2026-09-09 12:23 ` [PATCH v3 1/2] dt-bindings: iio: adc: add support for PAC1711 Ariana Lazar
2026-09-10 11:55   ` Conor Dooley [this message]
2026-09-10 14:52     ` Ariana.Lazar
2026-09-09 12:23 ` [PATCH v3 2/2] " Ariana Lazar
2026-09-09 13:38   ` Andy Shevchenko
2026-09-09 14:22   ` Uwe Kleine-König

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=aqKauqCxYwo8_nxM@squawk \
    --to=conor@kernel.org \
    --cc=andy@kernel.org \
    --cc=ariana.lazar@microchip.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dlechner@baylibre.com \
    --cc=jic23@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-hwmon@vger.kernel.org \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=nuno.sa@analog.com \
    --cc=robh@kernel.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

all inboxes | Powered by JetHome®