lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <62c3c546-5172-4417-a15a-d13419d42be3@roeck-us.net>
Date: Mon, 20 May 2024 12:03:42 -0700
From: Guenter Roeck <linux@...ck-us.net>
To: Conor Dooley <conor@...nel.org>,
 Chris Packham <chris.packham@...iedtelesis.co.nz>
Cc: jdelvare@...e.com, robh@...nel.org, krzk+dt@...nel.org,
 conor+dt@...nel.org, ukleinek@...nel.org, linux-hwmon@...r.kernel.org,
 devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
 linux-pwm@...r.kernel.org
Subject: Re: [PATCH v3 1/3] dt-bindings: hwmon: Add adt7475 fan/pwm properties

On 5/20/24 09:49, Conor Dooley wrote:
> On Mon, May 20, 2024 at 03:03:19PM +1200, Chris Packham wrote:
>> Add fan child nodes that allow describing the connections for the
>> ADT7475 to the fans it controls. This also allows setting some
>> initial values for the pwm duty cycle and frequency.
>>
>> Signed-off-by: Chris Packham <chris.packham@...iedtelesis.co.nz>
>> ---
>>
>> Notes:
>>      Changes in v3:
>>      - Use the pwm provider/consumer bindings
>>      Changes in v2:
>>      - Document 0 as a valid value (leaves hardware as-is)
>>
>>   .../devicetree/bindings/hwmon/adt7475.yaml    | 25 ++++++++++++++++++-
>>   1 file changed, 24 insertions(+), 1 deletion(-)
>>
>> diff --git a/Documentation/devicetree/bindings/hwmon/adt7475.yaml b/Documentation/devicetree/bindings/hwmon/adt7475.yaml
>> index 051c976ab711..99bd689ae0cd 100644
>> --- a/Documentation/devicetree/bindings/hwmon/adt7475.yaml
>> +++ b/Documentation/devicetree/bindings/hwmon/adt7475.yaml
>> @@ -51,6 +51,15 @@ properties:
>>         enum: [0, 1]
>>         default: 1
>>   
>> +  "#pwm-cells":
>> +    const: 4
>> +    description: |
>> +      Number of cells in a PWM specifier.
>> +      - 0: The pwm channel
>> +      - 1: The pwm frequency in hertz - 0, 11, 14, 22, 29, 35, 44, 58, 88, 22500
> 
> The standard binding is period in nanoseconds, not frequency in Hz.
> What's gained from deviating from that?
> 

I'd strongly suspect that Chris didn't know and didn't expect it,
just like me.

>> +      - 2: PWM flags 0 or PWM_POLARITY_INVERTED
>> +      - 3: The default pwm duty cycle - 0-255
> 
> Same here I guess, why not match the units used for the period for the
> duty cycle?
> 

Same here. I am used to pwm frequency in Hz and duty cycle as percentage.
Using the period instead is somewhat unusual, and I must admit that I
have never encountered it while dealing with a variety of fan controllers.

Just to make sure I understand this correctly - duty cycles would
be (rounded):

Hz	ns
11	90,909,091
14	71,428,571
22	45,454,545
29:	34,482,759
35:	28,571,429
44:	22,727,273
58:	17,241,379
88:	11,363,636
22500	44,444

Examples for duty cycles would be

20%: 0,2s or 200,000,000
50%: 0.5s or 500,000,000
80%: 0.8s or 800,000,000

Is that correct ?

Thanks,
Guenter


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ