Re: [PATCH v4 3/4] dt-bindings: hwmon: Add binding for max6639

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

 



On 2/7/22 02:03, sylv wrote:
On Fri, 2022-02-04 at 17:32 -0600, Rob Herring wrote:
On Thu, Jan 27, 2022 at 05:17:29PM +0100, Marcello Sylvester Bauer
wrote:
Add Devicetree binding documentation for Maxim MAX6639 temperature
monitor with PWM fan-speed controller.

The devicetree documentation for the SD3078 device tree.

Signed-off-by: Marcello Sylvester Bauer <sylv@xxxxxxx>
---
  .../bindings/hwmon/maxim,max6639.yaml         | 112
++++++++++++++++++
  1 file changed, 112 insertions(+)
  create mode 100644
Documentation/devicetree/bindings/hwmon/maxim,max6639.yaml

diff --git
a/Documentation/devicetree/bindings/hwmon/maxim,max6639.yaml
b/Documentation/devicetree/bindings/hwmon/maxim,max6639.yaml
new file mode 100644
index 000000000000..570e9fe07503
--- /dev/null
+++ b/Documentation/devicetree/bindings/hwmon/maxim,max6639.yaml
@@ -0,0 +1,112 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+
+$id: http://devicetree.org/schemas/hwmon/maxim,max6639.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Maxim max6639
+
+maintainers:
+  - Roland Stigge <stigge@xxxxxxxxx>
+
+description: |
+  The MAX6639 is a 2-channel temperature monitor with dual,
automatic, PWM
+  fan-speed controller.  It monitors its own temperature and one
external
+  diode-connected transistor or the temperatures of two external
diode-connected
+  transistors, typically available in CPUs, FPGAs, or GPUs.
+
+  Datasheets:
+
https://datasheets.maximintegrated.com/en/ds/MAX6639-MAX6639F.pdf
+
+properties:
+  compatible:
+    enum:
+      - maxim,max6639
+
+  reg:
+    maxItems: 1
+
+  '#address-cells':
+    const: 1
+
+  '#size-cells':
+    const: 0
+
+required:
+  - compatible
+  - reg
+  - "channel@0"
+  - "channel@1"
+
+additionalProperties: false
+
+patternProperties:
+  "^channel@[0-1]$":

fan@...

Makes sense. Looks like i have to adapt the driver code too.


+    type: object
+    description: |
+      Represents the two fans and their specific configuration.
+
+    properties:
+      reg:
+        description: |
+          The fan number.
+        items:
+          minimum: 0
+          maximum: 1
+
+      pwm-polarity:

See PWM_POLARITY_INVERTED


Indeed, Thanks.


+        $ref: /schemas/types.yaml#/definitions/uint32
+        enum: [0, 1]
+        default: 1
+        description:
+          PWM output is low at 100% duty cycle when this bit is
set to zero. PWM
+          output is high at 100% duty cycle when this bit is set
to 1.
+
+      pulses-per-revolution:
+        $ref: /schemas/types.yaml#/definitions/uint32
+        enum: [1, 2, 3, 4]
+        default: 2
+        description:
+          Value specifying the number of pulses per revolution of
the controlled
+          FAN.
+
+      rpm-max:
+        $ref: /schemas/types.yaml#/definitions/uint32
+        enum: [2000, 4000, 8000, 16000]
+        default: 4000
+        description:
+          Scales the tachometer counter by setting the maximum
(full-scale) value
+          of the RPM range.

Why do you need to know the max? I don't recall needing this for
other
fan controller bindings.

This information is required for setting the internal clock of the
tachometer. (See: page 8 table 3). However, we could make it a vendor
specific property. In this case i would rather call it "maxim,rpm-
range", since this is how it is referred to.


The maximum fan speed is a common property of fan controllers.
Exceeding the configured value would typically generate an alarm.
The same applies to minimum fan speed. As an example, ADT7470
supports both minimum and maximum fan speed and generates an alarm
if the fan speed is too low and if it is too high.

At some point we will need properties for both the minimum and for
the maximum fan speed. Seems to me we might as well define it now.

Guenter



[Index of Archives]     [LM Sensors]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux