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

From: Manuel Traut
Date: Thu Jan 26 2023 - 04:19:41 EST


Adds an array of supported volume levels and a default volume level.

Signed-off-by: Manuel Traut <manuel.traut@xxxxxx>
---
.../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:
+ 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:
+ 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>;
};
--
2.39.0