[PATCH v10] dt-bindings: hwmon/nct7802

From: Constantine Shulyupin
Date: Sat Jan 16 2016 - 15:19:19 EST


Introduced subnodes sensor, fan and peci with properties.

Signed-off-by: Constantine Shulyupin <const@xxxxxxxxxxxxx>
---

Changed in v10:
- Added space in address-cells and size-cells trying to avoid
error "The message contains HTML subpart"

Changed in v9:
- Fixed nuvoton,nct7802-sensor
- Introduced nuvoton,nct7802-vmon, nuvoton,nct7802-fan-in, nuvoton,nct7802-fan-ctl

Changed in v8:
- added senor type "local"
- Compatible nodes converted to senor types "vcore", "vcc"

Changed in v7:
- sensors type (thermistor, thermistor, voltage) and pwm type
selected with type property instead of compatible property.

Changed in v6:
- Removed previous definition.
- Introduced subnodes sensor, fan and peci with properties.

Changed in v5:
- Fixed typos

Changed in v4:
- Removed registers initialization by names
- Added properties nuvoton,sensor*-type

Changed in v3:
- Fixed vendor prefix
- Added short registers description,
full registers description is available at
https://www.nuvoton.com/hq/products/cloud-computing/hardware-monitors/desktop-server-series/nct7802y/

Changed in v2:
- Removed nct7802,reg-init
- Added registers initialization by names

Introduced in v1:
- nct7802,reg-init
---
.../devicetree/bindings/hwmon/nct7802.txt | 125 +++++++++++++++++++++
1 file changed, 125 insertions(+)
create mode 100644 Documentation/devicetree/bindings/hwmon/nct7802.txt

diff --git a/Documentation/devicetree/bindings/hwmon/nct7802.txt b/Documentation/devicetree/bindings/hwmon/nct7802.txt
new file mode 100644
index 0000000..cf983b3
--- /dev/null
+++ b/Documentation/devicetree/bindings/hwmon/nct7802.txt
@@ -0,0 +1,125 @@
+Nuvoton NCT7802Y Hardware Monitoring IC
+
+Required node properties:
+
+ - "compatible": must be "nuvoton,nct7802"
+ - "reg": I2C bus address of the device
+ - #address-cells = <1>;
+ - #size-cells = <0>;
+
+Optional subnodes:
+
+Sensor subnodes properties:
+ - "compatible", allowed values:
+ - "nuvoton,nct7802-sensor"
+ - "sensor-type", allowed values:
+ "thermal-diode"
+ "thermistor"
+ "voltage"
+ "local" (only one instance, no "reg" required)
+For sensors of types "thermal-diode", "thermistor" and "voltage" required
+ - "reg": sensor index in range 0 .. 2
+
+Except sensor at address 2 can't be "thermal-diode".
+
+Voltage monitor subnodes properties:
+ - "compatible", allowed values:
+ - "nuvoton,nct7802-vmon"
+ - "vmon-type", allowed values:
+ "vcore"
+ "vcc"
+ - "reg" is not used because there is only one instance of
+ vcore and vcc voltage monitors.
+
+Fan subnodes:
+
+Fan tachometer subnode (input):
+
+Required properties:
+ - "reg" :sensor index of in range 0 .. 2.
+ - "compatible", should be "nuvoton,nct7802-fan-in"
+
+Fan PWM (or DC) subnode (output or control):
+
+Required properties:
+ - "reg" :sensor index of in range 0 .. 2.
+ - "compatible", should be "nuvoton,nct7802-fan-ctl"
+Optional boolean properties:
+ - "direct-current" :direct current powered fan instead default PWM
+ - "invert" :inverted polarity
+ - "open-drain" :open-drain output instead push pull
+
+Subnode "peci" properties:
+ - "reg" :sensor index in range 0 .. 1
+ - "compatible", should be "nuvoton,nct7802-peci"
+
+Not defined sensors, fans and PECI modules will be disabled.
+
+Example nct7802 node:
+
+nct7802-example@28 {
+ compatible = "nuvoton,nct7802";
+ reg = <0x28>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ local-sensor {
+ compatible = "nuvoton,nct7802-sensor";
+ sensor-type = "local";
+ };
+ sensor@0 {
+ compatible = "nuvoton,nct7802-sensor";
+ reg = <0>;
+ sensor-type = "thermal-diode";
+ };
+ sensor@1 {
+ compatible = "nuvoton,nct7802-sensor";
+ reg = <1>;
+ sensor-type = "thermistor";
+ };
+ sensor@2 {
+ compatible = "nuvoton,nct7802-sensor";
+ reg = <2>;
+ sensor-type = "voltage";
+ };
+ vcc {
+ compatible = "nuvoton,nct7802-vmon";
+ sensor-type = "vcc";
+ };
+ vcore {
+ compatible = "nuvoton,nct7802-vmon";
+ sensor-type = "vcore";
+ };
+ fan-in@0 {
+ compatible = "nuvoton,nct7802-fan-in";
+ reg = <0>;
+ };
+ fan-in@1 {
+ compatible = "nuvoton,nct7802-fan-in";
+ reg = <1>;
+ };
+ fan-ctl@0 {
+ compatible = "nuvoton,nct7802-fan-ctl";
+ reg = <0>;
+ };
+ dc-fan-ctl@1 {
+ compatible = "nuvoton,nct7802-fan-ctl";
+ reg = <1>;
+ direct-current;
+ open-drain;
+ invert;
+ };
+ pwm-fan-ctl@2 {
+ compatible = "nuvoton,nct7802-fan-ctl";
+ reg = <2>;
+ open-drain;
+ invert;
+ };
+ peci@0 {
+ compatible = "nuvoton,nct7802-peci";
+ reg = <0>;
+ };
+ peci@1 {
+ compatible = "nuvoton,nct7802-peci";
+ reg = <1>;
+ };
+};
--
1.9.1