[PATCH 1/2] dt-bindings: hwmon: Add Nuvoton NCT7362Y binding

Zev Weiss zev at bewilderbeest.net
Wed Jun 7 20:18:29 AEST 2023


This binding describes the NCT7362Y, a 16-channel fan/GPIO controller.

Signed-off-by: Zev Weiss <zev at bewilderbeest.net>
---
 .../bindings/hwmon/nuvoton,nct7362.yaml       | 123 ++++++++++++++++++
 1 file changed, 123 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/hwmon/nuvoton,nct7362.yaml

diff --git a/Documentation/devicetree/bindings/hwmon/nuvoton,nct7362.yaml b/Documentation/devicetree/bindings/hwmon/nuvoton,nct7362.yaml
new file mode 100644
index 000000000000..630dcce7a14c
--- /dev/null
+++ b/Documentation/devicetree/bindings/hwmon/nuvoton,nct7362.yaml
@@ -0,0 +1,123 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/hwmon/nuvoton,nct7362.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Nuvoton NCT7362Y fan controller
+
+maintainers:
+  - Zev Weiss <zev at bewilderbeest.net>
+
+description: |
+  The Nuvoton NCT7362Y is an I2C fan controller with 16 pins that can
+  be independently configured for PWM, fan tach, or GPIO
+  functionality.  Each pin's functionality is represented by a child
+  node.
+
+  The datasheet is not publicly available but can be requested from
+  Nuvoton via their web site.
+
+properties:
+  compatible:
+    enum:
+      - nuvoton,nct7362
+
+  reg:
+    maxItems: 1
+
+  "#address-cells":
+    const: 1
+
+  "#size-cells":
+    const: 0
+
+  gpio-controller: true
+
+  "#gpio-cells":
+    const: 2
+
+  gpio-line-names:
+    minItems: 1
+    maxItems: 16
+
+patternProperties:
+  "^tach@([1-8]|1[0-7])$":
+    type: object
+    properties:
+      reg:
+        maxItems: 1
+        description: The pin number.
+
+      nuvoton,pulses-per-revolution:
+        description: |
+          The number of tach pulses per revolution of the fan.
+        $ref: /schemas/types.yaml#/definitions/uint32
+        minimum: 1
+        default: 2
+
+    required:
+      - reg
+
+  "^pwm@([1-8]|1[0-7])$":
+    type: object
+    properties:
+      reg:
+        maxItems: 1
+        description: The pin number.
+    required:
+      - reg
+
+  "^gpio@([1-8]|1[0-7])$":
+    type: object
+    properties:
+      reg:
+        maxItems: 1
+        description: The pin number.
+    required:
+      - reg
+
+required:
+  - compatible
+  - reg
+  - "#address-cells"
+  - "#size-cells"
+
+additionalProperties: false
+
+examples:
+  - |
+    i2c {
+      #address-cells = <1>;
+      #size-cells = <0>;
+      fanctl at 22 {
+        compatible = "nuvoton,nct7362";
+        gpio-controller;
+        #gpio-cells = <2>;
+        #address-cells = <1>;
+        #size-cells = <0>;
+        reg = <0x22>;
+        gpio-line-names = "", "", "", "", "", "", "", "",
+          "", "", "", "", "", "", "led1", "led2";
+
+        tach at 1 {
+          reg = <1>;
+        };
+        tach at 2 {
+          reg = <2>;
+          nuvoton,pulses-per-revolution = <1>;
+        };
+        pwm at 10 {
+          reg = <10>;
+        };
+        pwm at 11 {
+          reg = <11>;
+        };
+        gpio at 16 {
+          reg = <16>;
+        };
+        gpio at 17 {
+          reg = <17>;
+        };
+      };
+    };
-- 
2.40.0.5.gf6e3b97ba6d2.dirty



More information about the openbmc mailing list