lkml.org 
[lkml]   [2021]   [Oct]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v8 1/2] dt-bindings: hwmon: Add nct7802 bindings
    On Wed, Oct 20, 2021 at 12:42:12PM -0400, Oskar Senft wrote:
    > This change documents the device tree bindings for the Nuvoton
    > NCT7802Y driver.
    >
    > Signed-off-by: Oskar Senft <osk@google.com>
    > Reviewed-by: Rob Herring <robh@kernel.org>

    Applied.

    Thanks,
    Guenter

    > ---
    > Changes from PATCH v7:
    > - Implemented review comments:
    > - Added blank lines to increase readability.
    > - Moved "additionalProperties" up to increase readability.
    >
    > Changes from PATCH v6:
    > - Fixed formatting error reported by yamllint
    >
    > Changes from PATCH v5:
    > - Refactored to use patternProperties.
    > - Added validation for sensor-type and temperature-mode.
    > ---
    > .../bindings/hwmon/nuvoton,nct7802.yaml | 145 ++++++++++++++++++
    > 1 file changed, 145 insertions(+)
    > create mode 100644 Documentation/devicetree/bindings/hwmon/nuvoton,nct7802.yaml
    >
    > diff --git a/Documentation/devicetree/bindings/hwmon/nuvoton,nct7802.yaml b/Documentation/devicetree/bindings/hwmon/nuvoton,nct7802.yaml
    > new file mode 100644
    > index 000000000000..2f0620ecccc9
    > --- /dev/null
    > +++ b/Documentation/devicetree/bindings/hwmon/nuvoton,nct7802.yaml
    > @@ -0,0 +1,145 @@
    > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
    > +%YAML 1.2
    > +---
    > +
    > +$id: http://devicetree.org/schemas/hwmon/nuvoton,nct7802.yaml#
    > +$schema: http://devicetree.org/meta-schemas/core.yaml#
    > +
    > +title: Nuvoton NCT7802Y Hardware Monitoring IC
    > +
    > +maintainers:
    > + - Guenter Roeck <linux@roeck-us.net>
    > +
    > +description: |
    > + The NCT7802Y is a hardware monitor IC which supports one on-die and up to
    > + 5 remote temperature sensors with SMBus interface.
    > +
    > + Datasheets:
    > + https://www.nuvoton.com/export/resource-files/Nuvoton_NCT7802Y_Datasheet_V12.pdf
    > +
    > +additionalProperties: false
    > +
    > +properties:
    > + compatible:
    > + enum:
    > + - nuvoton,nct7802
    > +
    > + reg:
    > + maxItems: 1
    > +
    > + "#address-cells":
    > + const: 1
    > +
    > + "#size-cells":
    > + const: 0
    > +
    > +patternProperties:
    > + "^channel@[0-3]$":
    > + type: object
    > +
    > + additionalProperties: false
    > +
    > + properties:
    > + reg:
    > + items:
    > + - enum:
    > + - 0 # Local Temperature Sensor ("LTD")
    > + - 1 # Remote Temperature Sensor or Voltage Sensor 1 ("RTD1")
    > + - 2 # Remote Temperature Sensor or Voltage Sensor 2 ("RTD2")
    > + - 3 # Remote Temperature Sensor or Voltage Sensor 3 ("RTD3")
    > +
    > + sensor-type:
    > + items:
    > + - enum:
    > + - temperature
    > + - voltage
    > +
    > + temperature-mode:
    > + items:
    > + - enum:
    > + - thermistor
    > + - thermal-diode
    > +
    > + required:
    > + - reg
    > +
    > + allOf:
    > + # For channels RTD1, RTD2 and RTD3, require sensor-type to be set.
    > + # Otherwise (for all other channels), do not allow temperature-mode to be
    > + # set.
    > + - if:
    > + properties:
    > + reg:
    > + items:
    > + - enum:
    > + - 1
    > + - 2
    > + - 3
    > + then:
    > + required:
    > + - sensor-type
    > + else:
    > + not:
    > + required:
    > + - sensor-type
    > +
    > + # For channels RTD1 and RTD2 and if sensor-type is "temperature", require
    > + # temperature-mode to be set. Otherwise (for all other channels or
    > + # sensor-type settings), do not allow temperature-mode to be set
    > + - if:
    > + properties:
    > + reg:
    > + items:
    > + - enum:
    > + - 1
    > + - 2
    > + sensor-type:
    > + items:
    > + - enum:
    > + - temperature
    > + then:
    > + required:
    > + - temperature-mode
    > + else:
    > + not:
    > + required:
    > + - temperature-mode
    > +
    > +required:
    > + - compatible
    > + - reg
    > +
    > +examples:
    > + - |
    > + i2c {
    > + #address-cells = <1>;
    > + #size-cells = <0>;
    > +
    > + nct7802@28 {
    > + compatible = "nuvoton,nct7802";
    > + reg = <0x28>;
    > +
    > + #address-cells = <1>;
    > + #size-cells = <0>;
    > +
    > + channel@0 { /* LTD */
    > + reg = <0>;
    > + };
    > +
    > + channel@1 { /* RTD1 */
    > + reg = <1>;
    > + sensor-type = "voltage";
    > + };
    > +
    > + channel@2 { /* RTD2 */
    > + reg = <2>;
    > + sensor-type = "temperature";
    > + temperature-mode = "thermal-diode";
    > + };
    > +
    > + channel@3 { /* RTD3 */
    > + reg = <3>;
    > + sensor-type = "temperature";
    > + };
    > + };
    > + };

    \
     
     \ /
      Last update: 2021-10-27 19:44    [W:2.290 / U:1.140 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site