* [PATCH v3 0/1] Update the max31790 driver @ 2024-08-13 8:41 Chanh Nguyen 2024-08-13 8:41 ` [PATCH v3 1/1] dt-bindings: hwmon: Add maxim max31790 Chanh Nguyen 2024-08-13 8:44 ` [PATCH v3 0/1] Update the max31790 driver Chanh Nguyen 0 siblings, 2 replies; 11+ messages in thread From: Chanh Nguyen @ 2024-08-13 8:41 UTC (permalink / raw) To: Jean Delvare, Guenter Roeck, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Justin Ledford, devicetree, linux-hwmon, linux-kernel, OpenBMC Maillist, Open Source Submission Cc: Phong Vo, Thang Nguyen, Quan Nguyen, Chanh Nguyen Add device tree binding for the max31790 device. Changes in v2: - Drop "driver" in the patch 1/3 commit title [Krzysztof] - 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] - Update the vendor property name to "maxim,pwmout-pin-as-tach-input" [Rob] Changes in v3: - Drop redundant "bindings" in commit message [Krzysztof] - Add the clocks and resets property to example [Krzysztof] - Add child node refer to fan-common.yaml [Krzysztof, Conor] - Drop "Support config PWM output become TACH" patch [Chanh] - Drop "Add maxim,pwmout-pin-as-tach-input property" patch [Chanh] Chanh Nguyen (1): dt-bindings: hwmon: Add maxim max31790 .../bindings/hwmon/maxim,max31790.yaml | 81 +++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 Documentation/devicetree/bindings/hwmon/maxim,max31790.yaml -- 2.43.0 ^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v3 1/1] dt-bindings: hwmon: Add maxim max31790 2024-08-13 8:41 [PATCH v3 0/1] Update the max31790 driver Chanh Nguyen @ 2024-08-13 8:41 ` Chanh Nguyen 2024-08-13 15:33 ` Conor Dooley 2024-08-13 16:20 ` Krzysztof Kozlowski 2024-08-13 8:44 ` [PATCH v3 0/1] Update the max31790 driver Chanh Nguyen 1 sibling, 2 replies; 11+ messages in thread From: Chanh Nguyen @ 2024-08-13 8:41 UTC (permalink / raw) To: Jean Delvare, Guenter Roeck, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Justin Ledford, devicetree, linux-hwmon, linux-kernel, OpenBMC Maillist, Open Source Submission Cc: Phong Vo, Thang Nguyen, Quan Nguyen, Chanh Nguyen Add device tree bindings and an example for max31790 device. Signed-off-by: Chanh Nguyen <chanh@os.amperecomputing.com> --- 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@roeck-us.net> + +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>; + }; + }; + - | + 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 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH v3 1/1] dt-bindings: hwmon: Add maxim max31790 2024-08-13 8:41 ` [PATCH v3 1/1] dt-bindings: hwmon: Add maxim max31790 Chanh Nguyen @ 2024-08-13 15:33 ` Conor Dooley 2024-08-13 15:52 ` Guenter Roeck 2024-08-13 16:20 ` Krzysztof Kozlowski 1 sibling, 1 reply; 11+ messages in thread From: Conor Dooley @ 2024-08-13 15:33 UTC (permalink / raw) To: Chanh Nguyen Cc: Jean Delvare, Guenter Roeck, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Justin Ledford, devicetree, linux-hwmon, linux-kernel, OpenBMC Maillist, Open Source Submission, Phong Vo, Thang Nguyen, Quan Nguyen [-- Attachment #1: Type: text/plain, Size: 3477 bytes --] 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@os.amperecomputing.com> > --- > 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@roeck-us.net> Why Guenter and not you? > + > +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? 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 > [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v3 1/1] dt-bindings: hwmon: Add maxim max31790 2024-08-13 15:33 ` Conor Dooley @ 2024-08-13 15:52 ` Guenter Roeck 2024-08-13 16:16 ` Conor Dooley 0 siblings, 1 reply; 11+ messages in thread From: Guenter Roeck @ 2024-08-13 15:52 UTC (permalink / raw) To: Conor Dooley, Chanh Nguyen Cc: Jean Delvare, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Justin Ledford, devicetree, linux-hwmon, linux-kernel, OpenBMC Maillist, Open Source Submission, Phong Vo, Thang Nguyen, Quan Nguyen 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@os.amperecomputing.com> >> --- >> 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@roeck-us.net> > > 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 >> ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v3 1/1] dt-bindings: hwmon: Add maxim max31790 2024-08-13 15:52 ` Guenter Roeck @ 2024-08-13 16:16 ` Conor Dooley 2024-08-13 16:21 ` Krzysztof Kozlowski 2024-08-14 7:31 ` Chanh Nguyen 0 siblings, 2 replies; 11+ messages in thread From: Conor Dooley @ 2024-08-13 16:16 UTC (permalink / raw) To: Guenter Roeck Cc: Chanh Nguyen, Jean Delvare, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Justin Ledford, devicetree, linux-hwmon, linux-kernel, OpenBMC Maillist, Open Source Submission, Phong Vo, Thang Nguyen, Quan Nguyen [-- Attachment #1: Type: text/plain, Size: 4856 bytes --] On Tue, Aug 13, 2024 at 08:52:22AM -0700, Guenter Roeck wrote: > 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@os.amperecomputing.com> > > > --- > > > 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@roeck-us.net> > > > > 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. Sure, if you're happy with it. Having someone that knows about how the particular model works is usually preferred however! > > > > + > > > +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. Even without any control, I would expect to see fan-# child nodes, just no pwms property in them. Without the child nodes, how does software determine which fan is being monitored by which channel? 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 > > > > [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v3 1/1] dt-bindings: hwmon: Add maxim max31790 2024-08-13 16:16 ` Conor Dooley @ 2024-08-13 16:21 ` Krzysztof Kozlowski 2024-08-14 8:58 ` Chanh Nguyen 2024-08-14 7:31 ` Chanh Nguyen 1 sibling, 1 reply; 11+ messages in thread From: Krzysztof Kozlowski @ 2024-08-13 16:21 UTC (permalink / raw) To: Conor Dooley, Guenter Roeck Cc: Chanh Nguyen, Jean Delvare, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Justin Ledford, devicetree, linux-hwmon, linux-kernel, OpenBMC Maillist, Open Source Submission, Phong Vo, Thang Nguyen, Quan Nguyen On 13/08/2024 18:16, Conor Dooley wrote: >>>> +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. > > Even without any control, I would expect to see fan-# child nodes, just > no pwms property in them. Without the child nodes, how does software > determine which fan is being monitored by which channel? Yeah, to me this example is confusing. If device's purpose is to also monitor, then hardware description in "description:" field should be a bit extended. Best regards, Krzysztof ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v3 1/1] dt-bindings: hwmon: Add maxim max31790 2024-08-13 16:21 ` Krzysztof Kozlowski @ 2024-08-14 8:58 ` Chanh Nguyen 0 siblings, 0 replies; 11+ messages in thread From: Chanh Nguyen @ 2024-08-14 8:58 UTC (permalink / raw) To: Krzysztof Kozlowski, Conor Dooley, Guenter Roeck Cc: Chanh Nguyen, Jean Delvare, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Justin Ledford, devicetree, linux-hwmon, linux-kernel, OpenBMC Maillist, Open Source Submission, Phong Vo, Thang Nguyen, Quan Nguyen On 13/08/2024 23:21, Krzysztof Kozlowski wrote: > On 13/08/2024 18:16, Conor Dooley wrote: >>>>> +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. >> >> Even without any control, I would expect to see fan-# child nodes, just >> no pwms property in them. Without the child nodes, how does software >> determine which fan is being monitored by which channel? > > Yeah, to me this example is confusing. If device's purpose is to also > monitor, then hardware description in "description:" field should be a > bit extended. > > Best regards, > Krzysztof > Thank all for your comments! I'll keep only complete example. I'm going to push patch v4 in the coming days. Regards! Chanh ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v3 1/1] dt-bindings: hwmon: Add maxim max31790 2024-08-13 16:16 ` Conor Dooley 2024-08-13 16:21 ` Krzysztof Kozlowski @ 2024-08-14 7:31 ` Chanh Nguyen 1 sibling, 0 replies; 11+ messages in thread From: Chanh Nguyen @ 2024-08-14 7:31 UTC (permalink / raw) To: Conor Dooley, Guenter Roeck Cc: Chanh Nguyen, Jean Delvare, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Justin Ledford, devicetree, linux-hwmon, linux-kernel, OpenBMC Maillist, Open Source Submission, Phong Vo, Thang Nguyen, Quan Nguyen On 13/08/2024 23:16, Conor Dooley wrote: > On Tue, Aug 13, 2024 at 08:52:22AM -0700, Guenter Roeck wrote: >> 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@os.amperecomputing.com> >>>> --- >>>> 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@roeck-us.net> >>> >>> 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. > > Sure, if you're happy with it. Having someone that knows about how the > particular model works is usually preferred however! > Thank Guenter and Conor for your comments! I will add me to maintainers list. I'm going to push the patch v4 with this update soon. It will be as below: maintainers: - Guenter Roeck <linux@roeck-us.net> - Chanh Nguyen <chanh@os.amperecomputing.com> I think I can support to reviewing any max31790 binding update later. Thanks, Chanh >> >>>> + >>>> +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. > > Even without any control, I would expect to see fan-# child nodes, just > no pwms property in them. Without the child nodes, how does software > determine which fan is being monitored by which channel? > > 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 >>>> >> ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v3 1/1] dt-bindings: hwmon: Add maxim max31790 2024-08-13 8:41 ` [PATCH v3 1/1] dt-bindings: hwmon: Add maxim max31790 Chanh Nguyen 2024-08-13 15:33 ` Conor Dooley @ 2024-08-13 16:20 ` Krzysztof Kozlowski 2024-08-14 8:54 ` Chanh Nguyen 1 sibling, 1 reply; 11+ messages in thread From: Krzysztof Kozlowski @ 2024-08-13 16:20 UTC (permalink / raw) To: Chanh Nguyen, Jean Delvare, Guenter Roeck, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Justin Ledford, devicetree, linux-hwmon, linux-kernel, OpenBMC Maillist, Open Source Submission Cc: Phong Vo, Thang Nguyen, Quan Nguyen On 13/08/2024 10:41, Chanh Nguyen wrote: > Add device tree bindings and an example for max31790 device. > > Signed-off-by: Chanh Nguyen <chanh@os.amperecomputing.com> > + > +examples: > + - | > + i2c { > + #address-cells = <1>; > + #size-cells = <0>; > + > + fan-controller@21 { > + compatible = "maxim,max31790"; > + reg = <0x21>; > + clocks = <&sys_clk>; > + resets = <&reset 0>; This node is incomplete. I asked to make the example complete, not by adding two incomplete examples or other ways... The binding description says this device controls fan. If so, where is the fan here? IOW, keep only one, complete example. Rest looks good. With this addressed (and optionally with maintainer change, which Conor asked): Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Best regards, Krzysztof ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v3 1/1] dt-bindings: hwmon: Add maxim max31790 2024-08-13 16:20 ` Krzysztof Kozlowski @ 2024-08-14 8:54 ` Chanh Nguyen 0 siblings, 0 replies; 11+ messages in thread From: Chanh Nguyen @ 2024-08-14 8:54 UTC (permalink / raw) To: Krzysztof Kozlowski, Chanh Nguyen, Jean Delvare, Guenter Roeck, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Justin Ledford, devicetree, linux-hwmon, linux-kernel, OpenBMC Maillist, Open Source Submission Cc: Phong Vo, Thang Nguyen, Quan Nguyen On 13/08/2024 23:20, Krzysztof Kozlowski wrote: > On 13/08/2024 10:41, Chanh Nguyen wrote: >> Add device tree bindings and an example for max31790 device. >> >> Signed-off-by: Chanh Nguyen <chanh@os.amperecomputing.com> > > >> + >> +examples: >> + - | >> + i2c { >> + #address-cells = <1>; >> + #size-cells = <0>; >> + >> + fan-controller@21 { >> + compatible = "maxim,max31790"; >> + reg = <0x21>; >> + clocks = <&sys_clk>; >> + resets = <&reset 0>; > > This node is incomplete. I asked to make the example complete, not by > adding two incomplete examples or other ways... The binding description > says this device controls fan. If so, where is the fan here? > > IOW, keep only one, complete example. > > Rest looks good. With this addressed (and optionally with maintainer > change, which Conor asked): Thank Krzysztof for your review! I'll keep only complete example. I'm going to push patch v4 in the coming days. Thanks, Chanh > > Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > > Best regards, > Krzysztof > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v3 0/1] Update the max31790 driver 2024-08-13 8:41 [PATCH v3 0/1] Update the max31790 driver Chanh Nguyen 2024-08-13 8:41 ` [PATCH v3 1/1] dt-bindings: hwmon: Add maxim max31790 Chanh Nguyen @ 2024-08-13 8:44 ` Chanh Nguyen 1 sibling, 0 replies; 11+ messages in thread From: Chanh Nguyen @ 2024-08-13 8:44 UTC (permalink / raw) To: Chanh Nguyen, Jean Delvare, Guenter Roeck, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Justin Ledford, devicetree, linux-hwmon, linux-kernel, OpenBMC Maillist, Open Source Submission Cc: Phong Vo, Thang Nguyen, Quan Nguyen Hi all, I dropped the "Support config PWM output becomes TACH" patch. I'm implementing and testing the "Support config PWM output become TACH" support; I'll push this feature later. Now, I'm only adding the device tree binding for the max31790 device; it is necessary for some device tree upstreams that use the "maxim,max31790" compatible. Best Regards, Chanh On 13/08/2024 15:41, Chanh Nguyen wrote: > Add device tree binding for the max31790 device. > > Changes in v2: > - Drop "driver" in the patch 1/3 commit title [Krzysztof] > - 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] > - Update the vendor property name to "maxim,pwmout-pin-as-tach-input" [Rob] > Changes in v3: > - Drop redundant "bindings" in commit message [Krzysztof] > - Add the clocks and resets property to example [Krzysztof] > - Add child node refer to fan-common.yaml [Krzysztof, Conor] > - Drop "Support config PWM output become TACH" patch [Chanh] > - Drop "Add maxim,pwmout-pin-as-tach-input property" patch [Chanh] > > Chanh Nguyen (1): > dt-bindings: hwmon: Add maxim max31790 > > .../bindings/hwmon/maxim,max31790.yaml | 81 +++++++++++++++++++ > 1 file changed, 81 insertions(+) > create mode 100644 Documentation/devicetree/bindings/hwmon/maxim,max31790.yaml > ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2024-08-14 8:58 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-08-13 8:41 [PATCH v3 0/1] Update the max31790 driver Chanh Nguyen 2024-08-13 8:41 ` [PATCH v3 1/1] dt-bindings: hwmon: Add maxim max31790 Chanh Nguyen 2024-08-13 15:33 ` Conor Dooley 2024-08-13 15:52 ` Guenter Roeck 2024-08-13 16:16 ` Conor Dooley 2024-08-13 16:21 ` Krzysztof Kozlowski 2024-08-14 8:58 ` Chanh Nguyen 2024-08-14 7:31 ` Chanh Nguyen 2024-08-13 16:20 ` Krzysztof Kozlowski 2024-08-14 8:54 ` Chanh Nguyen 2024-08-13 8:44 ` [PATCH v3 0/1] Update the max31790 driver Chanh Nguyen
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox