Re: [PATCH v8 4/5] dt-bindings: input: pwm-beeper: add volume

From: Manuel Traut
Date: Thu Jan 26 2023 - 10:12:20 EST


> This is the second patch. Bindings must be introduced before you start
> using them.

OK, will be done in v9.

> > ---
> > .../devicetree/bindings/input/pwm-beeper.yaml | 20 +++++++++++++++++++
> > 1 file changed, 20 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/input/pwm-beeper.yaml b/Documentation/devicetree/bindings/input/pwm-beeper.yaml
> > index 351df83d5cbe..f1f9283ca855 100644
> > --- a/Documentation/devicetree/bindings/input/pwm-beeper.yaml
> > +++ b/Documentation/devicetree/bindings/input/pwm-beeper.yaml
> > @@ -26,6 +26,24 @@ properties:
> > beeper-hz:
> > description: bell frequency in Hz
> >
> > + volume-levels:
>
> use -bp suffix:
> https://github.com/devicetree-org/dt-schema/blob/main/dtschema/schemas/property-units.yaml#L44
>
> which will mean the unit is 1/100 of %, not 1/10. Then you can also drop
> the $ref.

OK, this is also fine for me. Chaned the description and implementation
for v9.

> > + description: >
> > + Array of PWM duty cycle values that correspond to
> > + linear volume levels. These need to be in the range of
> > + 0 to 500, while 0 means 0% duty cycle (mute) and 500
> > + means 50% duty cycle (max volume).
> > + Please note that the actual volume of most beepers is
> > + highly non-linear, which means that low volume levels
> > + are probably somewhere in the range of 1 to 30 (0.1-3%
> > + duty cycle).
> > + $ref: /schemas/types.yaml#/definitions/uint32-array
> > +
> > + default-volume-level:
>
> I propose to use just the value, not the index, so the name should
> finish with '-bp' and the $ref can be dropped.

I am not so happy with this suggestion. What shall be displayed in
sysfs as volume if a user specifies a value that is not defined in
the array.. So I tend to keep this as is.

Thanks for your feedback
Manuel

> > + description: >
> > + The default volume level (index into the array defined
> > + by the "volume-levels" property).
> > + $ref: /schemas/types.yaml#/definitions/uint32
> > +
> > required:
> > - compatible
> > - pwms
> > @@ -45,4 +63,6 @@ examples:
> > compatible = "pwm-beeper";
> > pwms = <&pwm0>;
> > amp-supply = <&beeper_amp>;
> > + volume-levels = <0 8 20 40 500>;
> > + default-volume-level = <4>;
> > };
>
> Best regards,
> Krzysztof
>

--
Manuel Traut