Message ID | 20240320-hwmon_yaml-v1-2-a349ca21ccab@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | dt-bindings: hwmon: convert lm87 and max6650 to dtschema | expand |
On Wed, Mar 20, 2024 at 06:04:58PM +0100, Javier Carrasco wrote: > Convert existing bindings to dtschema to support validation. > > This is a straightforward conversion with no new properties. Why the indentation? > > Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com> > --- > .../devicetree/bindings/hwmon/max6650.txt | 28 --------- > .../devicetree/bindings/hwmon/maxim,max6650.yaml | 68 ++++++++++++++++++++++ > 2 files changed, 68 insertions(+), 28 deletions(-) > > diff --git a/Documentation/devicetree/bindings/hwmon/max6650.txt b/Documentation/devicetree/bindings/hwmon/max6650.txt > deleted file mode 100644 > index f6bd87d8e284..000000000000 > --- a/Documentation/devicetree/bindings/hwmon/max6650.txt > +++ /dev/null > @@ -1,28 +0,0 @@ > -Bindings for MAX6651 and MAX6650 I2C fan controllers > - > -Reference: > -[1] https://datasheets.maximintegrated.com/en/ds/MAX6650-MAX6651.pdf > - > -Required properties: > -- compatible : One of "maxim,max6650" or "maxim,max6651" > -- reg : I2C address, one of 0x1b, 0x1f, 0x4b, 0x48. > - > -Optional properties, default is to retain the chip's current setting: > -- maxim,fan-microvolt : The supply voltage of the fan, either 5000000 uV or > - 12000000 uV. > -- maxim,fan-prescale : Pre-scaling value, as per datasheet [1]. Lower values > - allow more fine-grained control of slower fans. > - Valid: 1, 2, 4, 8, 16. > -- maxim,fan-target-rpm: Initial requested fan rotation speed. If specified, the > - driver selects closed-loop mode and the requested speed. > - This ensures the fan is already running before userspace > - takes over. > - > -Example: > - fan-max6650: max6650@1b { > - reg = <0x1b>; > - compatible = "maxim,max6650"; > - maxim,fan-microvolt = <12000000>; > - maxim,fan-prescale = <4>; > - maxim,fan-target-rpm = <1200>; > - }; > diff --git a/Documentation/devicetree/bindings/hwmon/maxim,max6650.yaml b/Documentation/devicetree/bindings/hwmon/maxim,max6650.yaml > new file mode 100644 > index 000000000000..1b33b5fb606d > --- /dev/null > +++ b/Documentation/devicetree/bindings/hwmon/maxim,max6650.yaml > @@ -0,0 +1,68 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > + > +$id: http://devicetree.org/schemas/hwmon/maxim,max6650.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Maxim MAX6650 and MAX6651 I2C Fan Controllers > + > +maintainers: > + - Javier Carrasco <javier.carrasco.cruz@gmail.com> > + > +description: | > + The MAX6650 and MAX6651 regulate and monitor the speed > + of 5VDC/12VDC burshless fans with built-in tachometers. > + > + Datasheets: > + https://datasheets.maximintegrated.com/en/ds/MAX6650-MAX6651.pdf > + > +properties: > + compatible: > + enum: > + - maxim,max6650 > + - maxim,max6651 > + > + reg: > + maxItems: 1 > + > + maxim,fan-microvolt: > + description: > + The supply voltage of the fan, either 5000000 uV or > + 12000000 uV. Looks like constraints. Please add them. > + > + maxim,fan-prescale: > + description: > + Pre-scaling value, as per datasheet. Lower values > + allow more fine-grained control of slower fans. > + $ref: /schemas/types.yaml#/definitions/uint32 > + enum: [1, 2, 4, 8, 16] > + > + maxim,fan-target-rpm: > + description: > + Initial requested fan rotation speed. If specified, the > + driver selects closed-loop mode and the requested speed. > + This ensures the fan is already running before userspace > + takes over. > + $ref: /schemas/types.yaml#/definitions/uint32 Constraints? I'm sure no fan RPM is higher than 10000 and probably much less than that. Rob
On 3/21/24 07:03, Rob Herring wrote: > On Wed, Mar 20, 2024 at 06:04:58PM +0100, Javier Carrasco wrote: >> Convert existing bindings to dtschema to support validation. >> >> This is a straightforward conversion with no new properties. > > Why the indentation? > >> >> Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com> >> --- >> .../devicetree/bindings/hwmon/max6650.txt | 28 --------- >> .../devicetree/bindings/hwmon/maxim,max6650.yaml | 68 ++++++++++++++++++++++ >> 2 files changed, 68 insertions(+), 28 deletions(-) >> >> diff --git a/Documentation/devicetree/bindings/hwmon/max6650.txt b/Documentation/devicetree/bindings/hwmon/max6650.txt >> deleted file mode 100644 >> index f6bd87d8e284..000000000000 >> --- a/Documentation/devicetree/bindings/hwmon/max6650.txt >> +++ /dev/null >> @@ -1,28 +0,0 @@ >> -Bindings for MAX6651 and MAX6650 I2C fan controllers >> - >> -Reference: >> -[1] https://datasheets.maximintegrated.com/en/ds/MAX6650-MAX6651.pdf >> - >> -Required properties: >> -- compatible : One of "maxim,max6650" or "maxim,max6651" >> -- reg : I2C address, one of 0x1b, 0x1f, 0x4b, 0x48. >> - >> -Optional properties, default is to retain the chip's current setting: >> -- maxim,fan-microvolt : The supply voltage of the fan, either 5000000 uV or >> - 12000000 uV. >> -- maxim,fan-prescale : Pre-scaling value, as per datasheet [1]. Lower values >> - allow more fine-grained control of slower fans. >> - Valid: 1, 2, 4, 8, 16. >> -- maxim,fan-target-rpm: Initial requested fan rotation speed. If specified, the >> - driver selects closed-loop mode and the requested speed. >> - This ensures the fan is already running before userspace >> - takes over. >> - >> -Example: >> - fan-max6650: max6650@1b { >> - reg = <0x1b>; >> - compatible = "maxim,max6650"; >> - maxim,fan-microvolt = <12000000>; >> - maxim,fan-prescale = <4>; >> - maxim,fan-target-rpm = <1200>; >> - }; >> diff --git a/Documentation/devicetree/bindings/hwmon/maxim,max6650.yaml b/Documentation/devicetree/bindings/hwmon/maxim,max6650.yaml >> new file mode 100644 >> index 000000000000..1b33b5fb606d >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/hwmon/maxim,max6650.yaml >> @@ -0,0 +1,68 @@ >> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) >> +%YAML 1.2 >> +--- >> + >> +$id: http://devicetree.org/schemas/hwmon/maxim,max6650.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: Maxim MAX6650 and MAX6651 I2C Fan Controllers >> + >> +maintainers: >> + - Javier Carrasco <javier.carrasco.cruz@gmail.com> >> + >> +description: | >> + The MAX6650 and MAX6651 regulate and monitor the speed >> + of 5VDC/12VDC burshless fans with built-in tachometers. >> + >> + Datasheets: >> + https://datasheets.maximintegrated.com/en/ds/MAX6650-MAX6651.pdf >> + >> +properties: >> + compatible: >> + enum: >> + - maxim,max6650 >> + - maxim,max6651 >> + >> + reg: >> + maxItems: 1 >> + >> + maxim,fan-microvolt: >> + description: >> + The supply voltage of the fan, either 5000000 uV or >> + 12000000 uV. > > Looks like constraints. Please add them. > >> + >> + maxim,fan-prescale: >> + description: >> + Pre-scaling value, as per datasheet. Lower values >> + allow more fine-grained control of slower fans. >> + $ref: /schemas/types.yaml#/definitions/uint32 >> + enum: [1, 2, 4, 8, 16] >> + >> + maxim,fan-target-rpm: >> + description: >> + Initial requested fan rotation speed. If specified, the >> + driver selects closed-loop mode and the requested speed. >> + This ensures the fan is already running before userspace >> + takes over. >> + $ref: /schemas/types.yaml#/definitions/uint32 > > Constraints? I'm sure no fan RPM is higher than 10000 and probably much > less than that. > There are industrial fans with much higher rpm. mouser.com lists one with more than 60,000 rpm, but I am sure I have seen some with more than 100k rpm. Guenter
On 3/21/24 15:03, Rob Herring wrote: > On Wed, Mar 20, 2024 at 06:04:58PM +0100, Javier Carrasco wrote: >> Convert existing bindings to dtschema to support validation. >> >> This is a straightforward conversion with no new properties. > > Why the indentation? > Will be fixed for v2 >> >> Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com> >> --- >> .../devicetree/bindings/hwmon/max6650.txt | 28 --------- >> .../devicetree/bindings/hwmon/maxim,max6650.yaml | 68 ++++++++++++++++++++++ >> 2 files changed, 68 insertions(+), 28 deletions(-) >> >> diff --git a/Documentation/devicetree/bindings/hwmon/max6650.txt b/Documentation/devicetree/bindings/hwmon/max6650.txt >> deleted file mode 100644 >> index f6bd87d8e284..000000000000 >> --- a/Documentation/devicetree/bindings/hwmon/max6650.txt >> +++ /dev/null >> @@ -1,28 +0,0 @@ >> -Bindings for MAX6651 and MAX6650 I2C fan controllers >> - >> -Reference: >> -[1] https://datasheets.maximintegrated.com/en/ds/MAX6650-MAX6651.pdf >> - >> -Required properties: >> -- compatible : One of "maxim,max6650" or "maxim,max6651" >> -- reg : I2C address, one of 0x1b, 0x1f, 0x4b, 0x48. >> - >> -Optional properties, default is to retain the chip's current setting: >> -- maxim,fan-microvolt : The supply voltage of the fan, either 5000000 uV or >> - 12000000 uV. >> -- maxim,fan-prescale : Pre-scaling value, as per datasheet [1]. Lower values >> - allow more fine-grained control of slower fans. >> - Valid: 1, 2, 4, 8, 16. >> -- maxim,fan-target-rpm: Initial requested fan rotation speed. If specified, the >> - driver selects closed-loop mode and the requested speed. >> - This ensures the fan is already running before userspace >> - takes over. >> - >> -Example: >> - fan-max6650: max6650@1b { >> - reg = <0x1b>; >> - compatible = "maxim,max6650"; >> - maxim,fan-microvolt = <12000000>; >> - maxim,fan-prescale = <4>; >> - maxim,fan-target-rpm = <1200>; >> - }; >> diff --git a/Documentation/devicetree/bindings/hwmon/maxim,max6650.yaml b/Documentation/devicetree/bindings/hwmon/maxim,max6650.yaml >> new file mode 100644 >> index 000000000000..1b33b5fb606d >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/hwmon/maxim,max6650.yaml >> @@ -0,0 +1,68 @@ >> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) >> +%YAML 1.2 >> +--- >> + >> +$id: http://devicetree.org/schemas/hwmon/maxim,max6650.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: Maxim MAX6650 and MAX6651 I2C Fan Controllers >> + >> +maintainers: >> + - Javier Carrasco <javier.carrasco.cruz@gmail.com> >> + >> +description: | >> + The MAX6650 and MAX6651 regulate and monitor the speed >> + of 5VDC/12VDC burshless fans with built-in tachometers. >> + >> + Datasheets: >> + https://datasheets.maximintegrated.com/en/ds/MAX6650-MAX6651.pdf >> + >> +properties: >> + compatible: >> + enum: >> + - maxim,max6650 >> + - maxim,max6651 >> + >> + reg: >> + maxItems: 1 >> + >> + maxim,fan-microvolt: >> + description: >> + The supply voltage of the fan, either 5000000 uV or >> + 12000000 uV. > > Looks like constraints. Please add them. > Will add enum: [5000000, 12000000] >> + >> + maxim,fan-prescale: >> + description: >> + Pre-scaling value, as per datasheet. Lower values >> + allow more fine-grained control of slower fans. >> + $ref: /schemas/types.yaml#/definitions/uint32 >> + enum: [1, 2, 4, 8, 16] >> + >> + maxim,fan-target-rpm: >> + description: >> + Initial requested fan rotation speed. If specified, the >> + driver selects closed-loop mode and the requested speed. >> + This ensures the fan is already running before userspace >> + takes over. >> + $ref: /schemas/types.yaml#/definitions/uint32 > > Constraints? I'm sure no fan RPM is higher than 10000 and probably much > less than that. > > Rob According to the datasheet (page 9, table 3. Fan Speed), the highest fan speed that can be achieved is 30000 RPM (which does not mean that fans actually reach that speed). I could use that as the maximum value, though. Thanks for the review and best regards, Javier Carrasco
diff --git a/Documentation/devicetree/bindings/hwmon/max6650.txt b/Documentation/devicetree/bindings/hwmon/max6650.txt deleted file mode 100644 index f6bd87d8e284..000000000000 --- a/Documentation/devicetree/bindings/hwmon/max6650.txt +++ /dev/null @@ -1,28 +0,0 @@ -Bindings for MAX6651 and MAX6650 I2C fan controllers - -Reference: -[1] https://datasheets.maximintegrated.com/en/ds/MAX6650-MAX6651.pdf - -Required properties: -- compatible : One of "maxim,max6650" or "maxim,max6651" -- reg : I2C address, one of 0x1b, 0x1f, 0x4b, 0x48. - -Optional properties, default is to retain the chip's current setting: -- maxim,fan-microvolt : The supply voltage of the fan, either 5000000 uV or - 12000000 uV. -- maxim,fan-prescale : Pre-scaling value, as per datasheet [1]. Lower values - allow more fine-grained control of slower fans. - Valid: 1, 2, 4, 8, 16. -- maxim,fan-target-rpm: Initial requested fan rotation speed. If specified, the - driver selects closed-loop mode and the requested speed. - This ensures the fan is already running before userspace - takes over. - -Example: - fan-max6650: max6650@1b { - reg = <0x1b>; - compatible = "maxim,max6650"; - maxim,fan-microvolt = <12000000>; - maxim,fan-prescale = <4>; - maxim,fan-target-rpm = <1200>; - }; diff --git a/Documentation/devicetree/bindings/hwmon/maxim,max6650.yaml b/Documentation/devicetree/bindings/hwmon/maxim,max6650.yaml new file mode 100644 index 000000000000..1b33b5fb606d --- /dev/null +++ b/Documentation/devicetree/bindings/hwmon/maxim,max6650.yaml @@ -0,0 +1,68 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- + +$id: http://devicetree.org/schemas/hwmon/maxim,max6650.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Maxim MAX6650 and MAX6651 I2C Fan Controllers + +maintainers: + - Javier Carrasco <javier.carrasco.cruz@gmail.com> + +description: | + The MAX6650 and MAX6651 regulate and monitor the speed + of 5VDC/12VDC burshless fans with built-in tachometers. + + Datasheets: + https://datasheets.maximintegrated.com/en/ds/MAX6650-MAX6651.pdf + +properties: + compatible: + enum: + - maxim,max6650 + - maxim,max6651 + + reg: + maxItems: 1 + + maxim,fan-microvolt: + description: + The supply voltage of the fan, either 5000000 uV or + 12000000 uV. + + maxim,fan-prescale: + description: + Pre-scaling value, as per datasheet. Lower values + allow more fine-grained control of slower fans. + $ref: /schemas/types.yaml#/definitions/uint32 + enum: [1, 2, 4, 8, 16] + + maxim,fan-target-rpm: + description: + Initial requested fan rotation speed. If specified, the + driver selects closed-loop mode and the requested speed. + This ensures the fan is already running before userspace + takes over. + $ref: /schemas/types.yaml#/definitions/uint32 + +required: + - compatible + - reg + +additionalProperties: false + +examples: + - | + i2c { + #address-cells = <1>; + #size-cells = <0>; + + fan-controller@1b { + compatible = "maxim,max6650"; + reg = <0x1b>; + maxim,fan-microvolt = <12000000>; + maxim,fan-prescale = <4>; + maxim,fan-target-rpm = <1200>; + }; + };
Convert existing bindings to dtschema to support validation. This is a straightforward conversion with no new properties. Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com> --- .../devicetree/bindings/hwmon/max6650.txt | 28 --------- .../devicetree/bindings/hwmon/maxim,max6650.yaml | 68 ++++++++++++++++++++++ 2 files changed, 68 insertions(+), 28 deletions(-)