All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Linus Walleij <linus.walleij@linaro.org>
Cc: Jean Delvare <jdelvare@suse.com>,
	Guenter Roeck <linux@roeck-us.net>,
	linux-hwmon@vger.kernel.org,
	Javier Martinez Canillas <javier@dowhile0.org>,
	Johannes Pointner <johannes.pointner@gmail.com>,
	Peter Rosin <peda@axentia.se>,
	Jonathan Cameron <Jonathan.Cameron@huawei.com>,
	devicetree@vger.kernel.org
Subject: Re: [PATCH v2] dt-bindings: hwmon: Convert NTC thermistor to YAML
Date: Mon, 12 Jul 2021 08:57:49 -0600	[thread overview]
Message-ID: <20210712145749.GA1911897@robh.at.kernel.org> (raw)
In-Reply-To: <20210703173456.4002549-1-linus.walleij@linaro.org>

On Sat, Jul 03, 2021 at 07:34:56PM +0200, Linus Walleij wrote:
> This converts the NTC thermistor DT bindings to YAML. Some care had to
> be taken since I had to add some illustrations to make the connection
> layouts graspable.
> 
> Cc: Javier Martinez Canillas <javier@dowhile0.org>
> Cc: Johannes Pointner <johannes.pointner@gmail.com>
> Cc: Peter Rosin <peda@axentia.se>
> Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> Cc: devicetree@vger.kernel.org
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> ---
> ChangeLog v1->v2:
> - Realize I need to CC devicetree@vger.kernel.org on this.
> - Fix Javier's mail address.
> - Drop Naveen's mail (bouncing)
> ---
>  .../bindings/hwmon/ntc-thermistor.yaml        | 142 ++++++++++++++++++
>  .../bindings/hwmon/ntc_thermistor.txt         |  44 ------
>  2 files changed, 142 insertions(+), 44 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/hwmon/ntc-thermistor.yaml
>  delete mode 100644 Documentation/devicetree/bindings/hwmon/ntc_thermistor.txt
> 
> diff --git a/Documentation/devicetree/bindings/hwmon/ntc-thermistor.yaml b/Documentation/devicetree/bindings/hwmon/ntc-thermistor.yaml
> new file mode 100644
> index 000000000000..87589da631c9
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/hwmon/ntc-thermistor.yaml
> @@ -0,0 +1,142 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +---
> +$id: http://devicetree.org/schemas/hwmon/ntc-thermistor.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: NTC thermistor temperature sensors
> +
> +maintainers:
> +  - Naveen Krishna Chatradhi <ch.naveen@samsung.com>
> +  - Linus Walleij <linus.walleij@linaro.org>
> +
> +description: |
> +  Thermistors with negative temperature coefficient (NTC) are resistors that
> +  vary in resistance in an often non-linear way in relation to temperature.
> +  The negative temperature coefficient means that the resistance decreases
> +  as the temperature rises. Since the relationship between resistance and
> +  temperature is non-linear, software drivers most often need to use a look
> +  up table and interpolation to get from resistance to temperature.
> +
> +  When used in practice, a thermistor is often connected between ground, a
> +  pull-up resistor or/and a pull-down resistor and a fixed voltage like this:
> +
> +      + e.g. 5V = pull-up voltage (puv)
> +      |
> +     +-+
> +     | |
> +     | | Pull-up resistor
> +     | | (puo)
> +     +-+
> +      |-------------------------o
> +     +-+ |                      ^
> +     | |/                       |
> +     | /                        |
> +     |/| Thermistor             | Measured voltage (mv)
> +     / |                        | "connected ground"
> +    /| |                        |
> +     +-+                        |
> +      |-------------------------o
> +     +-+                        ^
> +     | |                        |
> +     | | Pull-down resistor     | Measured voltage (mv)
> +     | | (pdo)                  | "connected positive"
> +     +-+                        |
> +      |                         |
> +      |                         v
> +      + GND                     GND
> +
> +  The arrangements of where we measure the voltage over the thermistor are
> +  called "connected ground" and "connected positive" and shall be understood as
> +  the cases when either pull-up or pull-down resistance is zero.
> +
> +  If the pull-up resistance is 0 one end of the thermistor is connected to the
> +  positive voltage and we get the thermistor on top of a pull-down resistor
> +  and we take the measure between the thermistor and the pull-down resistor.
> +
> +  Conversely if the pull-down resistance is zero, one end of the thermistor is
> +  connected to ground and we get the thermistor under the pull-up resistor
> +  and we take the measure between the pull-up resistor and the thermistor.
> +
> +  We can use both pull-up and pull-down resistors at the same time, and then
> +  the figure illustrates where the voltage will be measured for the "connected
> +  ground" and "connected positive" cases.
> +
> +properties:
> +  $nodename:
> +    pattern: "^thermistor(.*)?$"
> +
> +  compatible:
> +    oneOf:
> +      - const: epcos,b57330v2103
> +      - const: epcos,b57891s0103
> +      - const: murata,ncp15wb473
> +      - const: murata,ncp18wb473
> +      - const: murata,ncp21wb473
> +      - const: murata,ncp03wb473
> +      - const: murata,ncp15wl333
> +      - const: murata,ncp03wf104
> +      - const: murata,ncp15xh103

All these can be 1 enum.

> +      # Deprecated "ntp," compatible strings
> +      - const: ntc,ncp15wb473
> +        deprecated: true
> +      - const: ntc,ncp18wb473
> +        deprecated: true
> +      - const: ntc,ncp21wb473
> +        deprecated: true
> +      - const: ntc,ncp03wb473
> +        deprecated: true
> +      - const: ntc,ncp15wl333
> +        deprecated: true

And these too.

> +
> +  # See /schemas/thermal/thermal-sensor.yaml for details

Drop. (I hope to generate documentation from the schema and 
automagically create references/links.)

> +  "#thermal-sensor-cells":
> +    description: Thermal sensor cells if used for thermal sensoring.
> +    const: 0
> +
> +  pullup-uv:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    description: Pull-up voltage in micro volts. Must always be specified.
> +
> +  pullup-ohm:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    description: Pull-up resistance in ohms. Must always be specified, even
> +      if zero.
> +
> +  pulldown-ohm:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    description: Pull-down resistance in ohms. Must always be specified, even
> +      if zero.
> +
> +  connected-positive:
> +    $ref: /schemas/types.yaml#/definitions/flag
> +    description: Indicates how the thermistor is connected in series with
> +      a pull-up and/or a pull-down resistor. See the description above for
> +      an illustration. If this flag is NOT specified, the thermistor is assumed
> +      to be connected-ground, which usually means a pull-down resistance of
> +      zero but complex arrangements are possible.
> +
> +  # See /schemas/iio/adc/adc.yaml
> +  io-channels:
> +    maxItems: 1
> +    description: IIO ADC channel to read the voltage over the resistor. Must
> +      always be specified.
> +
> +required:
> +  - compatible
> +  - pullup-uv
> +  - pullup-ohm
> +  - pulldown-ohm
> +  - io-channels
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    thermistor0 {
> +      compatible = "murata,ncp18wb473";
> +      io-channels = <&gpadc 0x06>;
> +      pullup-uv = <1800000>;
> +      pullup-ohm = <220000>;
> +      pulldown-ohm = <0>;
> +      #thermal-sensor-cells = <0>;
> +    };

  reply	other threads:[~2021-07-12 14:57 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-03 17:34 [PATCH v2] dt-bindings: hwmon: Convert NTC thermistor to YAML Linus Walleij
2021-07-12 14:57 ` Rob Herring [this message]
2021-07-14 15:49   ` Linus Walleij

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=20210712145749.GA1911897@robh.at.kernel.org \
    --to=robh@kernel.org \
    --cc=Jonathan.Cameron@huawei.com \
    --cc=devicetree@vger.kernel.org \
    --cc=javier@dowhile0.org \
    --cc=jdelvare@suse.com \
    --cc=johannes.pointner@gmail.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-hwmon@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=peda@axentia.se \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.