| # 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"; |
| }; |
| }; |
| }; |