[PATCH v2 3/3] dt-bindings: hwmon: max31790: Add maxim,pwmout-pin-as-tach-input property

Chanh Nguyen chanh at amperemail.onmicrosoft.com
Tue Apr 23 18:45:12 AEST 2024



On 16/04/2024 11:52, Chanh Nguyen wrote:
> 
> 
> On 14/04/2024 13:07, Krzysztof Kozlowski wrote:
>> On 14/04/2024 06:22, Chanh Nguyen wrote:
>>> The max31790 supports six pins, which are dedicated PWM outputs. Any 
>>> of the
>>> six PWM outputs can also be configured to serve as tachometer inputs,
>>> allowing for up to 12 tachometer fans to be monitored.
>>>
>>> Add a new vendor-specific property, 'maxim,pwmout-pin-as-tach-input',
>>> to allow PWMOUT to become a TACH input.
>>>
>>> An array of six integers responds to six PWM channels for configuring
>>> the PWM to TACH mode. When set to 0, the associated PWMOUT produces
>>> a PWM waveform for control of fan speed. When set to 1, PWMOUT becomes
>>> a TACH input.
>>>
>>> Signed-off-by: Chanh Nguyen <chanh at os.amperecomputing.com>
>>> ---
>>> Changes in v2:
>>>   - Update the vendor property name to 
>>> "maxim,pwmout-pin-as-tach-input"   [Rob]
>>>   - Update commit 
>>> message                                                 [Krzysztof]
>>
>> Please put binding before its user.
>>
> 
> Hi Krzysztof, I'll drop this [Path 3/3] in the patch series v3.
> 
> My patch series will only be two patches. They are "dt-bindings: hwmon: 
> Add maxim max31790" and "hwmon: (max31790): Support config PWM output 
> becomes TACH"
> 
>>> ---
>>>   .../devicetree/bindings/hwmon/maxim,max31790.yaml     | 11 +++++++++++
>>>   1 file changed, 11 insertions(+)
>>>
>>> diff --git 
>>> a/Documentation/devicetree/bindings/hwmon/maxim,max31790.yaml 
>>> b/Documentation/devicetree/bindings/hwmon/maxim,max31790.yaml
>>> index a561e5a3e9e4..2d4f50bc7c41 100644
>>> --- a/Documentation/devicetree/bindings/hwmon/maxim,max31790.yaml
>>> +++ b/Documentation/devicetree/bindings/hwmon/maxim,max31790.yaml
>>> @@ -30,6 +30,16 @@ properties:
>>>     resets:
>>>       maxItems: 1
>>> +  maxim,pwmout-pin-as-tach-input:
>>> +    description: |
>>> +      An array of six integers responds to six PWM channels for
>>> +      configuring the pwm to tach mode.
>>> +      When set to 0, the associated PWMOUT produces a PWM waveform for
>>> +      control of fan speed. When set to 1, PWMOUT becomes a TACH input
>>> +    $ref: /schemas/types.yaml#/definitions/uint8-array
>>> +    maxItems: 6
>>> +    minItems: 6
>>
>> tach-ch solves your case. You define which inputs should be used for 
>> tach.
>>
> 
> Agree Krzysztof. I'll use the tach-ch property from the fan-common.yaml 
> to solve my case. So I will not need to define a new vendor property as 
> "maxim,pwmout-pin-as-tach-input". I'll drop this [Path 3/3] in the patch 
> series v3.
> 
> 
>> Best regards,
>> Krzysztof
>>


Hi Krzysztof,

I checked in the
Documentation/devicetree/bindings/hwmon/fan-common.yaml. I found the
tach-ch property, but it seems define the tach channel used for fan.

      tach-ch:
      	description:
        		The tach channel used for the fan.
      	$ref: /schemas/types.yaml#/definitions/uint8-array


In my purpose, I would like to configure the pwm output pins to become 
tachometer input pins by setting bit[0] in the Configuration Register.


I think a vendor property is suitable for this purpose. It is only 
available on specific MAX31790 fan controllers and not on other fan 
controller devices. So I think we can't use the "tach-ch" in 
fan-common.yaml.

I discussed it in the thread
https://lore.kernel.org/lkml/ce8b2b49-b194-42f7-8f83-fcbf7b460970@amperemail.onmicrosoft.com/ 
, but I have not yet received Rob's response.

Please share your comment with me. I hope that will help us make a final 
decision.

Thank Krzysztof very much!


More information about the openbmc mailing list