Linux-Devicetree Archive mirror
 help / color / mirror / Atom feed
From: Chanh Nguyen <chanh@amperemail.onmicrosoft.com>
To: Guenter Roeck <linux@roeck-us.net>, Conor Dooley <conor@kernel.org>
Cc: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>,
	Chanh Nguyen <chanh@os.amperecomputing.com>,
	Jean Delvare <jdelvare@suse.com>,
	Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Justin Ledford <justinledford@google.com>,
	devicetree@vger.kernel.org, linux-hwmon@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	OpenBMC Maillist <openbmc@lists.ozlabs.org>,
	Open Source Submission <patches@amperecomputing.com>,
	Phong Vo <phong@os.amperecomputing.com>,
	Thang Nguyen <thang@os.amperecomputing.com>,
	Quan Nguyen <quan@os.amperecomputing.com>
Subject: Re: [PATCH v2 3/3] dt-bindings: hwmon: max31790: Add maxim,pwmout-pin-as-tach-input property
Date: Wed, 8 May 2024 10:44:34 +0700	[thread overview]
Message-ID: <8fb38eb3-bb94-49cc-b5bc-80989d7876b9@amperemail.onmicrosoft.com> (raw)
In-Reply-To: <da94fde6-3286-44eb-a543-c2ac4d11cd32@roeck-us.net>



On 05/05/2024 22:40, Guenter Roeck wrote:
> On 5/5/24 03:08, Chanh Nguyen wrote:
>>
>>
>> On 25/04/2024 21:05, Guenter Roeck wrote:
>>> On 4/25/24 03:33, Chanh Nguyen wrote:
>>>>
>>>>
>>>> On 24/04/2024 00:02, Conor Dooley wrote:
>>>>> [EXTERNAL EMAIL NOTICE: This email originated from an external 
>>>>> sender. Please be mindful of safe email handling and proprietary 
>>>>> information protection practices.]
>>>>>
>>>>
>>>
>>> The quote doesn't make much sense.
>>>
>>>> Sorry Conor, there may be confusion here. I mean the mapping of the 
>>>> PWM output to the TACH input, which is on the MAX31790, and it is 
>>>> not sure a common feature on all fan controllers.
>>>>
>>>
>>> I think the term "mapping" is a bit confusing here.
>>>
>>> tach-ch, as I understand it, is supposed to associate a tachometer input
>>> with a pwm output, meaning the fan speed measured with the tachometer 
>>> input
>>> is expected to change if the pwm output changes.
>>>
>>> On MAX31790, it is possible to configure a pwm output pin as 
>>> tachometer input pin.
>>> That is something completely different. Also, the association is fixed.
>>> If the first pwm channel is used as tachometer channel, it would show 
>>> up as 7th
>>> tachometer channel. If the 6th pwm channel is configured to be used 
>>> as tachometer
>>> input, it would show up as 12th tachometer channel.
>>>
>>> Overall, the total number of channels on MAX31790 is always 12. 6 of 
>>> them
>>> are always tachometer inputs, the others can be configured to either 
>>> be a
>>> pwm output or a tachometer input.
>>
>> Thank you, Guenter, for your explanation. That is also my 
>> understanding of the MAX31790 feature.
>>
>> So, I think we should introduce a vendor property to configure the pwm 
>> output pins to become tachometer input pins. We shouldn't use the 
>> tach-ch property. Because they are completely different, I think.
>>
>> What's your idea ? Please help share me, Guenter
>>
>>
>>>
>>> pwm outputs on MAX31790 are always tied to the matching tachometer 
>>> inputs
>>> (pwm1 <--> tach1 etc) and can not be reconfigured, meaning tach-ch for
>>> channel X would always be X.
>>>
>>>> I would like to open a discussion about whether we should use the 
>>>> tach-ch property on the fan-common.yaml
>>>>
>>>> I'm looking forward to hearing comments from everyone. For me, both 
>>>> tach-ch and vendor property are good.
>>>>
>>>
>>> I am not even sure how to define tach-ch to mean "use the pwm output pin
>>> associated with this tachometer input channel not as pwm output
>>> but as tachometer input". That would be a boolean, not a number.
>>>
>>
>> Thank Guenter,
>>
>> I reviewed again the "tach-ch" property, which is used in the 
>> https://elixir.bootlin.com/linux/v6.9-rc6/source/Documentation/devicetree/bindings/hwmon/aspeed,g6-pwm-tach.yaml#L68 and https://elixir.bootlin.com/linux/v6.9-rc6/source/drivers/hwmon/aspeed-g6-pwm-tach.c#L434
>>
>> That is something completely different from my purpose.
>>
> 
> Based on its definition, tach-ch is associated with fans, and it looks
> like the .yaml file groups multiple sets of fans into a single
> fan node.
> 
> In the simple case that would be
>      tach-ch = <1>
> ...
>      tach-ch = <12>
> 
> or, if all fans are controlled by a single pwm
>      tach-ch = <1 2 3 4 5 6 8 9 10 11 12>
> 
> The existence of tachometer channel 7..12 implies that pwm channel 
> (tachometer
> channel - 6) is used as tachometer channel. That should be sufficient to 
> program
> the chip for that channel. All you'd have to do is to ensure that pwm 
> channel
> "X" is not listed as tachometer channel "X + 6", and program pwm channel 
> "X - 6"
> for tachometer channels 7..12 as tachometer channels.
> 

Hi Guenter,

I applied the patch [2/3] in my patch series 
(https://lore.kernel.org/lkml/20240414042246.8681-3-chanh@os.amperecomputing.com/)

My device tree is configured as below, I would like to configure PWMOUT 
pins 5 and 6 to become the tachometer input pins.

        fan-controller@20 {
          compatible = "maxim,max31790";
          reg = <0x20>;
          maxim,pwmout-pin-as-tach-input = /bits/ 8 <0 0 0 0 1 1>;
        };

The sysfs is generated by the max31790 driver are shown below. We can 
see the PWM5 and PWM6 are not visible, and the fan11 and fan12 are 
visible. And all FAN devices are on my system, which worked as expected.

root@my-platform:/sys/class/hwmon/hwmon14# ls
device       fan12_input  fan1_target  fan2_target  fan3_target 
fan4_target  fan6_enable  of_node      pwm2         pwm4
fan11_fault  fan1_enable  fan2_enable  fan3_enable  fan4_enable 
fan5_enable  fan6_fault   power        pwm2_enable  pwm4_enable
fan11_input  fan1_fault   fan2_fault   fan3_fault   fan4_fault 
fan5_fault   fan6_input   pwm1         pwm3         subsystem
fan12_fault  fan1_input   fan2_input   fan3_input   fan4_input 
fan5_input   name         pwm1_enable  pwm3_enable  uevent

Please share your comments!

> Hope this helps,
> Guenter
> 

  reply	other threads:[~2024-05-08  3:45 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-14  4:22 [PATCH v2 0/3] Update the max31790 driver Chanh Nguyen
2024-04-14  4:22 ` [PATCH v2 1/3] dt-bindings: hwmon: Add maxim max31790 bindings Chanh Nguyen
2024-04-14  6:03   ` Krzysztof Kozlowski
2024-04-16  4:38     ` Chanh Nguyen
2024-04-14  4:22 ` [PATCH v2 2/3] hwmon: (max31790): Support config PWM output becomes TACH Chanh Nguyen
2024-04-14  8:03   ` Christophe JAILLET
2024-04-16  5:27     ` Chanh Nguyen
2024-04-16 17:39       ` Christophe JAILLET
2024-04-17  2:54         ` Chanh Nguyen
2024-04-14  4:22 ` [PATCH v2 3/3] dt-bindings: hwmon: max31790: Add maxim,pwmout-pin-as-tach-input property Chanh Nguyen
2024-04-14  6:07   ` Krzysztof Kozlowski
2024-04-16  4:52     ` Chanh Nguyen
2024-04-23  8:45       ` Chanh Nguyen
2024-04-23 17:02         ` Conor Dooley
2024-04-25 10:33           ` Chanh Nguyen
2024-04-25 14:05             ` Guenter Roeck
2024-04-25 15:46               ` Krzysztof Kozlowski
2024-04-25 15:56                 ` Conor Dooley
2024-05-05 10:08               ` Chanh Nguyen
2024-05-05 15:40                 ` Guenter Roeck
2024-05-08  3:44                   ` Chanh Nguyen [this message]
2024-05-08 16:47                     ` Conor Dooley
2024-06-07 16:47                       ` Chanh Nguyen
2024-06-07 23:14                         ` Guenter Roeck
2024-06-08  8:32                           ` Chanh Nguyen
2024-05-09  8:29                     ` Krzysztof Kozlowski
2024-06-07 16:46                       ` Chanh Nguyen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8fb38eb3-bb94-49cc-b5bc-80989d7876b9@amperemail.onmicrosoft.com \
    --to=chanh@amperemail.onmicrosoft.com \
    --cc=chanh@os.amperecomputing.com \
    --cc=conor+dt@kernel.org \
    --cc=conor@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=jdelvare@suse.com \
    --cc=justinledford@google.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=krzysztof.kozlowski@linaro.org \
    --cc=linux-hwmon@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=openbmc@lists.ozlabs.org \
    --cc=patches@amperecomputing.com \
    --cc=phong@os.amperecomputing.com \
    --cc=quan@os.amperecomputing.com \
    --cc=robh+dt@kernel.org \
    --cc=thang@os.amperecomputing.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).