Re: [PATCH v3 1/1] dt-bindings: hwmon: Add maxim max31790

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 8/13/24 08:33, Conor Dooley wrote:
On Tue, Aug 13, 2024 at 08:41:52AM +0000, Chanh Nguyen wrote:
Add device tree bindings and an example for max31790 device.

Signed-off-by: Chanh Nguyen <chanh@xxxxxxxxxxxxxxxxxxxxxx>
---
Changes in v2:
  - Update filename of the maxim,max31790.yaml                        [Krzysztof]
  - Add the common fan schema to $ref                                 [Krzysztof]
  - Update the node name to "fan-controller" in maxim,max31790.yaml   [Krzysztof]
  - Drop "driver" in commit title                                     [Krzysztof]
Changes in v3:
  - Drop redundant "bindings" in commit title                         [Krzysztof]
  - Add the clocks and resets property in example                     [Krzysztof]
  - Add child node refer to fan-common.yaml                           [Krzysztof, Conor]
---
  .../bindings/hwmon/maxim,max31790.yaml        | 81 +++++++++++++++++++
  1 file changed, 81 insertions(+)
  create mode 100644 Documentation/devicetree/bindings/hwmon/maxim,max31790.yaml

diff --git a/Documentation/devicetree/bindings/hwmon/maxim,max31790.yaml b/Documentation/devicetree/bindings/hwmon/maxim,max31790.yaml
new file mode 100644
index 000000000000..d28a6373edd3
--- /dev/null
+++ b/Documentation/devicetree/bindings/hwmon/maxim,max31790.yaml
@@ -0,0 +1,81 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/hwmon/maxim,max31790.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: The Maxim MAX31790 Fan Controller
+
+maintainers:
+  - Guenter Roeck <linux@xxxxxxxxxxxx>

Why Guenter and not you?


Fine with me, actually. We don't expect individual driver maintainers
in the hardware monitoring subsystem, and this chip doesn't have an
explicit maintainer. Forcing people to act as maintainer for .yaml
files they submit can only result in fewer submissions. I prefer to be
listed as maintainer over having no devicetree bindings.

+
+description: >
+  The MAX31790 controls the speeds of up to six fans using six
+  independent PWM outputs. The desired fan speeds (or PWM duty cycles)
+  are written through the I2C interface.
+
+  Datasheets:
+    https://datasheets.maximintegrated.com/en/ds/MAX31790.pdf
+
+properties:
+  compatible:
+    const: maxim,max31790
+
+  reg:
+    maxItems: 1
+
+  clocks:
+    maxItems: 1
+
+  resets:
+    maxItems: 1
+
+  "#pwm-cells":
+    const: 1
+
+patternProperties:
+  "^fan-[0-9]+$":
+    $ref: fan-common.yaml#
+    unevaluatedProperties: false
+
+required:
+  - compatible
+  - reg
+
+additionalProperties: false
+
+examples:
+  - |
+    i2c {
+      #address-cells = <1>;
+      #size-cells = <0>;
+
+      fan-controller@21 {
+        compatible = "maxim,max31790";
+        reg = <0x21>;
+        clocks = <&sys_clk>;
+        resets = <&reset 0>;
+      };
+    };

What does this example demonstrate? The one below seems useful, this one
I don't quite understand - what's the point of a fan controller with no
fans connected to it? What am I missing?


Just guessing, but maybe this is supposed to reflect a system which only monitors fan
speeds but does not implement fan control.

Guenter

Otherwise, this looks pretty good.

Cheers,
Conor.

+  - |
+    i2c {
+      #address-cells = <1>;
+      #size-cells = <0>;
+
+      pwm_provider: fan-controller@20 {
+        compatible = "maxim,max31790";
+        reg = <0x20>;
+        clocks = <&sys_clk>;
+        resets = <&reset 0>;
+        #pwm-cells = <1>;
+
+        fan-0 {
+          pwms = <&pwm_provider 1>;
+        };
+
+        fan-1 {
+          pwms = <&pwm_provider 2>;
+        };
+      };
+    };
+
--
2.43.0






[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux