File Index
Files and directories
Sign in
FILE

nuvoton,nct7802.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/hwmon/nuvoton,nct7802.yaml YAML
  1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/hwmon/nuvoton,nct7802.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: Nuvoton NCT7802Y Hardware Monitoring IC
  8
  9maintainers:
 10  - Guenter Roeck <linux@roeck-us.net>
 11
 12description: |
 13  The NCT7802Y is a hardware monitor IC which supports one on-die and up to
 14  5 remote temperature sensors with SMBus interface.
 15
 16  Datasheets:
 17    https://www.nuvoton.com/export/resource-files/Nuvoton_NCT7802Y_Datasheet_V12.pdf
 18
 19additionalProperties: false
 20
 21properties:
 22  compatible:
 23    enum:
 24      - nuvoton,nct7802
 25
 26  reg:
 27    maxItems: 1
 28
 29  "#address-cells":
 30    const: 1
 31
 32  "#size-cells":
 33    const: 0
 34
 35patternProperties:
 36  "^channel@[0-3]$":
 37    type: object
 38
 39    additionalProperties: false
 40
 41    properties:
 42      reg:
 43        items:
 44          - enum:
 45              - 0    # Local Temperature Sensor ("LTD")
 46              - 1    # Remote Temperature Sensor or Voltage Sensor 1 ("RTD1")
 47              - 2    # Remote Temperature Sensor or Voltage Sensor 2 ("RTD2")
 48              - 3    # Remote Temperature Sensor or Voltage Sensor 3 ("RTD3")
 49
 50      sensor-type:
 51        items:
 52          - enum:
 53              - temperature
 54              - voltage
 55
 56      temperature-mode:
 57        items:
 58          - enum:
 59              - thermistor
 60              - thermal-diode
 61
 62    required:
 63      - reg
 64
 65    allOf:
 66      # For channels RTD1, RTD2 and RTD3, require sensor-type to be set.
 67      # Otherwise (for all other channels), do not allow temperature-mode to be
 68      # set.
 69      - if:
 70          properties:
 71            reg:
 72              items:
 73                - enum:
 74                    - 1
 75                    - 2
 76                    - 3
 77        then:
 78          required:
 79            - sensor-type
 80        else:
 81          not:
 82            required:
 83              - sensor-type
 84
 85      # For channels RTD1 and RTD2 and if sensor-type is "temperature", require
 86      # temperature-mode to be set. Otherwise (for all other channels or
 87      # sensor-type settings), do not allow temperature-mode to be set
 88      - if:
 89          properties:
 90            reg:
 91              items:
 92                - enum:
 93                    - 1
 94                    - 2
 95            sensor-type:
 96              items:
 97                - enum:
 98                    - temperature
 99        then:
100          required:
101            - temperature-mode
102        else:
103          not:
104            required:
105              - temperature-mode
106
107required:
108  - compatible
109  - reg
110
111examples:
112  - |
113    i2c {
114        #address-cells = <1>;
115        #size-cells = <0>;
116
117        nct7802@28 {
118            compatible = "nuvoton,nct7802";
119            reg = <0x28>;
120
121            #address-cells = <1>;
122            #size-cells = <0>;
123
124            channel@0 { /* LTD */
125                reg = <0>;
126            };
127
128            channel@1 { /* RTD1 */
129                reg = <1>;
130                sensor-type = "voltage";
131            };
132
133            channel@2 { /* RTD2 */
134                reg = <2>;
135                sensor-type = "temperature";
136                temperature-mode = "thermal-diode";
137            };
138
139            channel@3 { /* RTD3 */
140                reg = <3>;
141                sensor-type = "temperature";
142            };
143        };
144    };
~/ Read-only file preview.