Commit 81b75e33 authored by Ninad Malwade's avatar Ninad Malwade Committed by Guenter Roeck
Browse files

dt-bindings: hwmon: ina3221: Convert to json-schema



Convert the TI INA3221 bindings from the free-form text format to
json-schema.

Note that the INA3221 input channels default to enabled in the chip.
Unless channels are explicitly disabled in device-tree, input
channels will be enabled.

Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
Signed-off-by: default avatarNinad Malwade <nmalwade@nvidia.com>
Signed-off-by: default avatarJon Hunter <jonathanh@nvidia.com>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20230929103650.86074-2-jonathanh@nvidia.com


Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
parent fe0eba17
Loading
Loading
Loading
Loading
+0 −54
Original line number Diff line number Diff line
Texas Instruments INA3221 Device Tree Bindings

1) ina3221 node
  Required properties:
  - compatible: Must be "ti,ina3221"
  - reg: I2C address

  Optional properties:
  - ti,single-shot: This chip has two power modes: single-shot (chip takes one
                    measurement and then shuts itself down) and continuous (
                    chip takes continuous measurements). The continuous mode is
                    more reliable and suitable for hardware monitor type device,
                    but the single-shot mode is more power-friendly and useful
                    for battery-powered device which cares power consumptions
                    while still needs some measurements occasionally.
                    If this property is present, the single-shot mode will be
                    used, instead of the default continuous one for monitoring.

  = The node contains optional child nodes for three channels =
  = Each child node describes the information of input source =

  - #address-cells: Required only if a child node is present. Must be 1.
  - #size-cells: Required only if a child node is present. Must be 0.

2) child nodes
  Required properties:
  - reg: Must be 0, 1 or 2, corresponding to IN1, IN2 or IN3 port of INA3221

  Optional properties:
  - label: Name of the input source
  - shunt-resistor-micro-ohms: Shunt resistor value in micro-Ohm

Example:

ina3221@40 {
	compatible = "ti,ina3221";
	reg = <0x40>;
	#address-cells = <1>;
	#size-cells = <0>;

	input@0 {
		reg = <0x0>;
		status = "disabled";
	};
	input@1 {
		reg = <0x1>;
		shunt-resistor-micro-ohms = <5000>;
	};
	input@2 {
		reg = <0x2>;
		label = "VDD_5V";
		shunt-resistor-micro-ohms = <5000>;
	};
};
+102 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/hwmon/ti,ina3221.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Texas Instruments INA3221 Current and Voltage Monitor

maintainers:
  - Jean Delvare <jdelvare@suse.com>
  - Guenter Roeck <linux@roeck-us.net>

properties:
  compatible:
    const: ti,ina3221

  reg:
    maxItems: 1

  ti,single-shot:
    description: |
      This chip has two power modes: single-shot (chip takes one measurement
      and then shuts itself down) and continuous (chip takes continuous
      measurements). The continuous mode is more reliable and suitable for
      hardware monitor type device, but the single-shot mode is more power-
      friendly and useful for battery-powered device which cares power
      consumptions while still needs some measurements occasionally.

      If this property is present, the single-shot mode will be used, instead
      of the default continuous one for monitoring.
    $ref: /schemas/types.yaml#/definitions/flag

  "#address-cells":
    description: Required only if a child node is present.
    const: 1

  "#size-cells":
    description: Required only if a child node is present.
    const: 0

patternProperties:
  "^input@[0-2]$":
    description: The node contains optional child nodes for three channels.
      Each child node describes the information of input source. Input channels
      default to enabled in the chip. Unless channels are explicitly disabled
      in device-tree, input channels will be enabled.
    type: object
    additionalProperties: false
    properties:
      reg:
        description: Must be 0, 1 and 2, corresponding to the IN1, IN2 or IN3
          ports of the INA3221, respectively.
        enum: [ 0, 1, 2 ]

      label:
        description: name of the input source

      shunt-resistor-micro-ohms:
        description: shunt resistor value in micro-Ohm

    required:
      - reg

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        power-sensor@40 {
            compatible = "ti,ina3221";
            reg = <0x40>;
            #address-cells = <1>;
            #size-cells = <0>;

            input@0 {
                reg = <0x0>;
                /*
                 * Input channels are enabled by default in the device and so
                 * to disable, must be explicitly disabled in device-tree.
                 */
                status = "disabled";
            };

            input@1 {
                reg = <0x1>;
                shunt-resistor-micro-ohms = <5000>;
            };

            input@2 {
                reg = <0x2>;
                label = "VDD_5V";
                shunt-resistor-micro-ohms = <5000>;
            };
        };
    };