Skip to contentSkip to conversation

dt-bindings: hwmon/nct7802

PATCH In review Constantine Shulyupin 2 participants 2 messages Jan 16, 2016 – Jan 17, 2016

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH v10 1/1 dt-bindings: hwmon/nct7802

Introduced subnodes sensor, fan and peci with properties.

---

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
Documentation/devicetree/bindings/hwmon/nct7802.txt new file +125 -0
new file mode 100644
index 0000000..cf983b3
@@ -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>;
+	};
+};
Signature · 1 line
1.9.1
maintainer
#1 lore raw
Quoted 3 lines · Constantine Shulyupin

Introduced subnodes sensor, fan and peci with properties.

I acked v9. Please add acks when posting new versions unless the changes are significant.

Quoted 180 lines

---

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
Documentation/devicetree/bindings/hwmon/nct7802.txt new file +125 -0
new file mode 100644
index 0000000..cf983b3
@@ -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>;
+	};
+};
Signature · 1 line
1.9.1