From: Constantine Shulyupin <[email protected]>
Introduced subnodes sensor, fan and peci with properties.
Signed-off-by: Constantine Shulyupin <[email protected]>
---
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
On Tue, Nov 24, 2015 at 02:09:18AM +0200, Constantine Shulyupin wrote:
> From: Constantine Shulyupin <[email protected]>
>
> Introduced subnodes sensor, fan and peci with properties.
>
> Signed-off-by: Constantine Shulyupin <[email protected]>
Acked-by: Rob Herring <[email protected]>
> ---
> 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
>