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

From: Krzysztof Kozlowski
Date: Thu Jan 26 2023 - 07:36:32 EST


On 26/01/2023 10:18, Manuel Traut wrote:
> Adds an array of supported volume levels and a default volume level.
>
> Signed-off-by: Manuel Traut <manuel.traut@xxxxxx>

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

> ---
> .../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.


> + 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.

> + 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