Message ID | 20211009185257.2230013-1-osk@google.com (mailing list archive) |
---|---|
State | Changes Requested |
Headers | show |
Series | [v5,1/2] dt-bindings: hwmon: Add nct7802 bindings | expand |
Changes since "PATCH v4 1/2" as requested in the review: - Renamed "signal" to "channel" On Sat, Oct 9, 2021 at 2:53 PM Oskar Senft <osk@google.com> wrote: > > This change documents the device tree bindings for the Nuvoton > NCT7802Y driver. > > Signed-off-by: Oskar Senft <osk@google.com> > --- > .../bindings/hwmon/nuvoton,nct7802.yaml | 142 ++++++++++++++++++ > 1 file changed, 142 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..ff99f40034f2 > --- /dev/null > +++ b/Documentation/devicetree/bindings/hwmon/nuvoton,nct7802.yaml > @@ -0,0 +1,142 @@ > +# 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 > + > +properties: > + compatible: > + enum: > + - nuvoton,nct7802 > + > + reg: > + maxItems: 1 > + > + "#address-cells": > + const: 1 > + > + "#size-cells": > + const: 0 > + > + channel@0: > + type: object > + description: Local Temperature Sensor ("LTD") > + properties: > + reg: > + const: 0 > + required: > + - reg > + > + channel@1: > + type: object > + description: Remote Temperature Sensor or Voltage Sensor ("RTD1") > + properties: > + reg: > + const: 1 > + sensor-type: > + items: > + - enum: > + - temperature > + - voltage > + temperature-mode: > + items: > + - enum: > + - thermistor > + - thermal-diode > + required: > + - reg > + - sensor-type > + > + channel@2: > + type: object > + description: Remote Temperature Sensor or Voltage Sensor ("RTD2") > + properties: > + reg: > + const: 2 > + sensor-type: > + items: > + - enum: > + - temperature > + - voltage > + temperature-mode: > + items: > + - enum: > + - thermistor > + - thermal-diode > + required: > + - reg > + - sensor-type > + > + channel@3: > + type: object > + description: Remote Temperature Sensor or Voltage Sensor ("RTD3") > + properties: > + reg: > + const: 3 > + sensor-type: > + items: > + - enum: > + - temperature > + - voltage > + required: > + - reg > + - sensor-type > + > +required: > + - compatible > + - reg > + > +additionalProperties: false > + > +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>; > + status = "okay"; > + }; > + > + channel@1 { /* RTD1 */ > + reg = <1>; > + status = "okay"; > + sensor-type = "temperature"; > + temperature-mode = "thermistor"; > + }; > + > + channel@2 { /* RTD2 */ > + reg = <2>; > + status = "okay"; > + sensor-type = "temperature"; > + temperature-mode = "thermal-diode"; > + }; > + > + channel@3 { /* RTD3 */ > + reg = <3>; > + status = "okay"; > + sensor-type = "voltage"; > + }; > + }; > + }; > -- > 2.33.0.882.g93a45727a2-goog >
On 10/9/21 11:52 AM, Oskar Senft wrote: > This change documents the device tree bindings for the Nuvoton > NCT7802Y driver. > > Signed-off-by: Oskar Senft <osk@google.com> > --- change log goes here. > .../bindings/hwmon/nuvoton,nct7802.yaml | 142 ++++++++++++++++++ > 1 file changed, 142 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..ff99f40034f2 > --- /dev/null > +++ b/Documentation/devicetree/bindings/hwmon/nuvoton,nct7802.yaml > @@ -0,0 +1,142 @@ > +# 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. > + Just noticed: 5 remote temperature sensors ? Shouldn't that be 3 ? > + Datasheets: > + https://www.nuvoton.com/export/resource-files/Nuvoton_NCT7802Y_Datasheet_V12.pdf > + > +properties: > + compatible: > + enum: > + - nuvoton,nct7802 > + > + reg: > + maxItems: 1 > + > + "#address-cells": > + const: 1 > + > + "#size-cells": > + const: 0 > + > + channel@0: > + type: object > + description: Local Temperature Sensor ("LTD") > + properties: > + reg: > + const: 0 > + required: > + - reg > + > + channel@1: > + type: object > + description: Remote Temperature Sensor or Voltage Sensor ("RTD1") > + properties: > + reg: > + const: 1 > + sensor-type: > + items: > + - enum: > + - temperature > + - voltage > + temperature-mode: > + items: > + - enum: > + - thermistor > + - thermal-diode > + required: > + - reg > + - sensor-type If I understand correctly, "temperature-mode" is implemented as mandatory for channels 1 and 2 if sensor-type is "temperature" (which makes sense). No idea though if it is possible to express that in yaml. If not, can it be mentioned as comment ? > + > + channel@2: > + type: object > + description: Remote Temperature Sensor or Voltage Sensor ("RTD2") > + properties: > + reg: > + const: 2 > + sensor-type: > + items: > + - enum: > + - temperature > + - voltage > + temperature-mode: > + items: > + - enum: > + - thermistor > + - thermal-diode > + required: > + - reg > + - sensor-type > + > + channel@3: > + type: object > + description: Remote Temperature Sensor or Voltage Sensor ("RTD3") > + properties: > + reg: > + const: 3 > + sensor-type: > + items: > + - enum: > + - temperature > + - voltage > + required: > + - reg > + - sensor-type > + > +required: > + - compatible > + - reg > + > +additionalProperties: false > + > +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>; > + status = "okay"; > + }; > + > + channel@1 { /* RTD1 */ > + reg = <1>; > + status = "okay"; > + sensor-type = "temperature"; > + temperature-mode = "thermistor"; > + }; > + > + channel@2 { /* RTD2 */ > + reg = <2>; > + status = "okay"; > + sensor-type = "temperature"; > + temperature-mode = "thermal-diode"; > + }; > + > + channel@3 { /* RTD3 */ > + reg = <3>; > + status = "okay"; > + sensor-type = "voltage"; > + }; > + }; > + }; >
Hi Guenter Thanks again for your review! > > Signed-off-by: Oskar Senft <osk@google.com> > > --- > > change log goes here. This might be a silly question: I'm using "git send-email", but I don't think there's a way to edit the e-mail before it goes out. Do I just add "---\n[Change log]" manually in the commit description? > > +description: | > > + The NCT7802Y is a hardware monitor IC which supports one on-die and up to > > + 5 remote temperature sensors with SMBus interface. > > + > > Just noticed: 5 remote temperature sensors ? Shouldn't that be 3 ? This includes 2 temperature sensors that are queried via PECI (i.e. SMBus). I generated the description from the "general description" section in the datasheet. I think the driver doesn't implement the 2 PECI sensors at this time, but the statement about the HW is still true. > > + sensor-type: > > + items: > > + - enum: > > + - temperature > > + - voltage > > + temperature-mode: > > + items: > > + - enum: > > + - thermistor > > + - thermal-diode > > + required: > > + - reg > > + - sensor-type > > If I understand correctly, "temperature-mode" is implemented as mandatory > for channels 1 and 2 if sensor-type is "temperature" (which makes sense). > No idea though if it is possible to express that in yaml. > If not, can it be mentioned as comment ? After doing a bit more searching, I found the amazing "if: then: else:" construct that allows to express this properly and eliminates the code duplication. I'll follow up in PATCH v6. Thanks Oskar. > > > + > > + channel@2: > > + type: object > > + description: Remote Temperature Sensor or Voltage Sensor ("RTD2") > > + properties: > > + reg: > > + const: 2 > > + sensor-type: > > + items: > > + - enum: > > + - temperature > > + - voltage > > + temperature-mode: > > + items: > > + - enum: > > + - thermistor > > + - thermal-diode > > + required: > > + - reg > > + - sensor-type > > + > > + channel@3: > > + type: object > > + description: Remote Temperature Sensor or Voltage Sensor ("RTD3") > > + properties: > > + reg: > > + const: 3 > > + sensor-type: > > + items: > > + - enum: > > + - temperature > > + - voltage > > + required: > > + - reg > > + - sensor-type > > + > > +required: > > + - compatible > > + - reg > > + > > +additionalProperties: false > > + > > +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>; > > + status = "okay"; > > + }; > > + > > + channel@1 { /* RTD1 */ > > + reg = <1>; > > + status = "okay"; > > + sensor-type = "temperature"; > > + temperature-mode = "thermistor"; > > + }; > > + > > + channel@2 { /* RTD2 */ > > + reg = <2>; > > + status = "okay"; > > + sensor-type = "temperature"; > > + temperature-mode = "thermal-diode"; > > + }; > > + > > + channel@3 { /* RTD3 */ > > + reg = <3>; > > + status = "okay"; > > + sensor-type = "voltage"; > > + }; > > + }; > > + }; > > >
On 10/9/21 8:06 PM, Oskar Senft wrote: > Hi Guenter > > Thanks again for your review! > >>> Signed-off-by: Oskar Senft <osk@google.com> >>> --- >> >> change log goes here. > This might be a silly question: I'm using "git send-email", but I > don't think there's a way to edit the e-mail before it goes out. Do I > just add "---\n[Change log]" manually in the commit description? > When you use git send-email, you usually have a patch file to send. I use git format-patch to create that patch file, add the change log using an editor, and then send it with git send-email. >>> +description: | >>> + The NCT7802Y is a hardware monitor IC which supports one on-die and up to >>> + 5 remote temperature sensors with SMBus interface. >>> + >> >> Just noticed: 5 remote temperature sensors ? Shouldn't that be 3 ? > This includes 2 temperature sensors that are queried via PECI (i.e. > SMBus). I generated the description from the "general description" > section in the datasheet. I think the driver doesn't implement the 2 > PECI sensors at this time, but the statement about the HW is still > true. > Ok, make sense. Thanks, Guenter >>> + sensor-type: >>> + items: >>> + - enum: >>> + - temperature >>> + - voltage >>> + temperature-mode: >>> + items: >>> + - enum: >>> + - thermistor >>> + - thermal-diode >>> + required: >>> + - reg >>> + - sensor-type >> >> If I understand correctly, "temperature-mode" is implemented as mandatory >> for channels 1 and 2 if sensor-type is "temperature" (which makes sense). >> No idea though if it is possible to express that in yaml. >> If not, can it be mentioned as comment ? > > After doing a bit more searching, I found the amazing "if: then: > else:" construct that allows to express this properly and eliminates > the code duplication. I'll follow up in PATCH v6. > > Thanks > Oskar. > > > >> >>> + >>> + channel@2: >>> + type: object >>> + description: Remote Temperature Sensor or Voltage Sensor ("RTD2") >>> + properties: >>> + reg: >>> + const: 2 >>> + sensor-type: >>> + items: >>> + - enum: >>> + - temperature >>> + - voltage >>> + temperature-mode: >>> + items: >>> + - enum: >>> + - thermistor >>> + - thermal-diode >>> + required: >>> + - reg >>> + - sensor-type >>> + >>> + channel@3: >>> + type: object >>> + description: Remote Temperature Sensor or Voltage Sensor ("RTD3") >>> + properties: >>> + reg: >>> + const: 3 >>> + sensor-type: >>> + items: >>> + - enum: >>> + - temperature >>> + - voltage >>> + required: >>> + - reg >>> + - sensor-type >>> + >>> +required: >>> + - compatible >>> + - reg >>> + >>> +additionalProperties: false >>> + >>> +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>; >>> + status = "okay"; >>> + }; >>> + >>> + channel@1 { /* RTD1 */ >>> + reg = <1>; >>> + status = "okay"; >>> + sensor-type = "temperature"; >>> + temperature-mode = "thermistor"; >>> + }; >>> + >>> + channel@2 { /* RTD2 */ >>> + reg = <2>; >>> + status = "okay"; >>> + sensor-type = "temperature"; >>> + temperature-mode = "thermal-diode"; >>> + }; >>> + >>> + channel@3 { /* RTD3 */ >>> + reg = <3>; >>> + status = "okay"; >>> + sensor-type = "voltage"; >>> + }; >>> + }; >>> + }; >>> >>
diff --git a/Documentation/devicetree/bindings/hwmon/nuvoton,nct7802.yaml b/Documentation/devicetree/bindings/hwmon/nuvoton,nct7802.yaml new file mode 100644 index 000000000000..ff99f40034f2 --- /dev/null +++ b/Documentation/devicetree/bindings/hwmon/nuvoton,nct7802.yaml @@ -0,0 +1,142 @@ +# 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 + +properties: + compatible: + enum: + - nuvoton,nct7802 + + reg: + maxItems: 1 + + "#address-cells": + const: 1 + + "#size-cells": + const: 0 + + channel@0: + type: object + description: Local Temperature Sensor ("LTD") + properties: + reg: + const: 0 + required: + - reg + + channel@1: + type: object + description: Remote Temperature Sensor or Voltage Sensor ("RTD1") + properties: + reg: + const: 1 + sensor-type: + items: + - enum: + - temperature + - voltage + temperature-mode: + items: + - enum: + - thermistor + - thermal-diode + required: + - reg + - sensor-type + + channel@2: + type: object + description: Remote Temperature Sensor or Voltage Sensor ("RTD2") + properties: + reg: + const: 2 + sensor-type: + items: + - enum: + - temperature + - voltage + temperature-mode: + items: + - enum: + - thermistor + - thermal-diode + required: + - reg + - sensor-type + + channel@3: + type: object + description: Remote Temperature Sensor or Voltage Sensor ("RTD3") + properties: + reg: + const: 3 + sensor-type: + items: + - enum: + - temperature + - voltage + required: + - reg + - sensor-type + +required: + - compatible + - reg + +additionalProperties: false + +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>; + status = "okay"; + }; + + channel@1 { /* RTD1 */ + reg = <1>; + status = "okay"; + sensor-type = "temperature"; + temperature-mode = "thermistor"; + }; + + channel@2 { /* RTD2 */ + reg = <2>; + status = "okay"; + sensor-type = "temperature"; + temperature-mode = "thermal-diode"; + }; + + channel@3 { /* RTD3 */ + reg = <3>; + status = "okay"; + sensor-type = "voltage"; + }; + }; + };
This change documents the device tree bindings for the Nuvoton NCT7802Y driver. Signed-off-by: Oskar Senft <osk@google.com> --- .../bindings/hwmon/nuvoton,nct7802.yaml | 142 ++++++++++++++++++ 1 file changed, 142 insertions(+) create mode 100644 Documentation/devicetree/bindings/hwmon/nuvoton,nct7802.yaml