146 lines
3.2 KiB
YAML
146 lines
3.2 KiB
YAML
|
# 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";
|
||
|
};
|
||
|
};
|
||
|
};
|