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