Skip to content

Commit 1bfaa49

Browse files
osenftgroeck
authored andcommitted
dt-bindings: hwmon: Add nct7802 bindings
This change documents the device tree bindings for the Nuvoton NCT7802Y driver. Signed-off-by: Oskar Senft <[email protected]> Reviewed-by: Rob Herring <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Guenter Roeck <[email protected]>
1 parent c0d7998 commit 1bfaa49

File tree

1 file changed

+145
-0
lines changed

1 file changed

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

0 commit comments

Comments
 (0)