Re: [PATCH v8 4/5] dt-bindings: input: pwm-beeper: add volume
flat view
From: Krzysztof Kozlowski <hidden>
Date: 2023-01-26 12:36:32
Also in:
linux-input, lkml
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 <redacted>
This is the second patch. Bindings must be introduced before you start using them.
quoted hunk ↗ jump to hunk
--- .../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.
quoted hunk ↗ jump to hunk
+ 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.
quoted hunk ↗ jump to hunk
+ 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