[PATCH V2] dt-bindings: input: pwm-beeper: convert to dt schema

Peng Fan (OSS) posted 1 patch 2 years, 10 months ago
There is a newer version of this series
.../devicetree/bindings/input/pwm-beeper.txt  | 24 -----------
.../devicetree/bindings/input/pwm-beeper.yaml | 42 +++++++++++++++++++
2 files changed, 42 insertions(+), 24 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/input/pwm-beeper.txt
create mode 100644 Documentation/devicetree/bindings/input/pwm-beeper.yaml
[PATCH V2] dt-bindings: input: pwm-beeper: convert to dt schema
Posted by Peng Fan (OSS) 2 years, 10 months ago
From: Peng Fan <peng.fan@nxp.com>

Convert the binding doc to dt schema, and also fixed the
example from fixed-regulator to regulator-fixed.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
---

V2:
 License update
 Don't need to show providers
 Make example complete
 Decrease beeper hz
 Misc update

 .../devicetree/bindings/input/pwm-beeper.txt  | 24 -----------
 .../devicetree/bindings/input/pwm-beeper.yaml | 42 +++++++++++++++++++
 2 files changed, 42 insertions(+), 24 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/input/pwm-beeper.txt
 create mode 100644 Documentation/devicetree/bindings/input/pwm-beeper.yaml

diff --git a/Documentation/devicetree/bindings/input/pwm-beeper.txt b/Documentation/devicetree/bindings/input/pwm-beeper.txt
deleted file mode 100644
index 8fc0e48c20db..000000000000
--- a/Documentation/devicetree/bindings/input/pwm-beeper.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-* PWM beeper device tree bindings
-
-Registers a PWM device as beeper.
-
-Required properties:
-- compatible: should be "pwm-beeper"
-- pwms: phandle to the physical PWM device
-
-Optional properties:
-- amp-supply: phandle to a regulator that acts as an amplifier for the beeper
-- beeper-hz:  bell frequency in Hz
-
-Example:
-
-beeper_amp: amplifier {
-	compatible = "fixed-regulator";
-	gpios = <&gpio0 1 GPIO_ACTIVE_HIGH>;
-};
-
-beeper {
-	compatible = "pwm-beeper";
-	pwms = <&pwm0>;
-	amp-supply = <&beeper_amp>;
-};
diff --git a/Documentation/devicetree/bindings/input/pwm-beeper.yaml b/Documentation/devicetree/bindings/input/pwm-beeper.yaml
new file mode 100644
index 000000000000..a3797f338f46
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/pwm-beeper.yaml
@@ -0,0 +1,42 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/input/pwm-beeper.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: PWM beeper
+
+maintainers:
+  - Sascha Hauer <s.hauer@pengutronix.de>
+
+properties:
+  compatible:
+    const: pwm-beeper
+
+  pwms:
+    description: Phandle to the physical PWM device
+    maxItems: 1
+
+  amp-supply:
+    description: Phandle to a regulator that acts as an amplifier for the beeper
+
+  beeper-hz:
+    description: bell frequency in Hz
+    minimum: 1
+    maximum: 4
+
+required:
+  - compatible
+  - pwms
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/gpio/gpio.h>
+    beeper {
+        compatible = "pwm-beeper";
+        pwms = <&pwm0>;
+        amp-supply = <&beeper_amp>;
+        beeper-hz = <1>;
+    };
-- 
2.37.1
Re: [PATCH V2] dt-bindings: input: pwm-beeper: convert to dt schema
Posted by Krzysztof Kozlowski 2 years, 10 months ago
On 03/04/2023 11:06, Peng Fan (OSS) wrote:
> From: Peng Fan <peng.fan@nxp.com>
> 
> Convert the binding doc to dt schema, and also fixed the
> example from fixed-regulator to regulator-fixed.
> 
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
> ---
> 
> V2:
>  License update
>  Don't need to show providers
>  Make example complete
>  Decrease beeper hz

Why?

>  Misc update
> 
>  .../devicetree/bindings/input/pwm-beeper.txt  | 24 -----------
>  .../devicetree/bindings/input/pwm-beeper.yaml | 42 +++++++++++++++++++
>  2 files changed, 42 insertions(+), 24 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/input/pwm-beeper.txt
>  create mode 100644 Documentation/devicetree/bindings/input/pwm-beeper.yaml
> 
> diff --git a/Documentation/devicetree/bindings/input/pwm-beeper.txt b/Documentation/devicetree/bindings/input/pwm-beeper.txt
> deleted file mode 100644
> index 8fc0e48c20db..000000000000
> --- a/Documentation/devicetree/bindings/input/pwm-beeper.txt
> +++ /dev/null
> @@ -1,24 +0,0 @@
> -* PWM beeper device tree bindings
> -
> -Registers a PWM device as beeper.
> -
> -Required properties:
> -- compatible: should be "pwm-beeper"
> -- pwms: phandle to the physical PWM device
> -
> -Optional properties:
> -- amp-supply: phandle to a regulator that acts as an amplifier for the beeper
> -- beeper-hz:  bell frequency in Hz
> -
> -Example:
> -
> -beeper_amp: amplifier {
> -	compatible = "fixed-regulator";
> -	gpios = <&gpio0 1 GPIO_ACTIVE_HIGH>;
> -};
> -
> -beeper {
> -	compatible = "pwm-beeper";
> -	pwms = <&pwm0>;
> -	amp-supply = <&beeper_amp>;
> -};
> diff --git a/Documentation/devicetree/bindings/input/pwm-beeper.yaml b/Documentation/devicetree/bindings/input/pwm-beeper.yaml
> new file mode 100644
> index 000000000000..a3797f338f46
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/input/pwm-beeper.yaml
> @@ -0,0 +1,42 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/input/pwm-beeper.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: PWM beeper
> +
> +maintainers:
> +  - Sascha Hauer <s.hauer@pengutronix.de>
> +
> +properties:
> +  compatible:
> +    const: pwm-beeper
> +
> +  pwms:
> +    description: Phandle to the physical PWM device

Drop description.

> +    maxItems: 1
> +
> +  amp-supply:
> +    description: Phandle to a regulator that acts as an amplifier for the beeper

Drop "Phandle to a regulator that acts as "

> +
> +  beeper-hz:
> +    description: bell frequency in Hz
> +    minimum: 1
> +    maximum: 4

default is 1000, so how constraints can be lower than default? Also -
missing default.

Best regards,
Krzysztof
RE: [PATCH V2] dt-bindings: input: pwm-beeper: convert to dt schema
Posted by Peng Fan 2 years, 10 months ago
> Subject: Re: [PATCH V2] dt-bindings: input: pwm-beeper: convert to dt
> schema
> 
> On 03/04/2023 11:06, Peng Fan (OSS) wrote:
> > From: Peng Fan <peng.fan@nxp.com>
> >
> > Convert the binding doc to dt schema, and also fixed the example from
> > fixed-regulator to regulator-fixed.
> >
> > Signed-off-by: Peng Fan <peng.fan@nxp.com>
> > ---
> >
> > V2:
> >  License update
> >  Don't need to show providers
> >  Make example complete
> >  Decrease beeper hz
> 
> Why?
> 
> >  Misc update
> >
> >  .../devicetree/bindings/input/pwm-beeper.txt  | 24 -----------
> > .../devicetree/bindings/input/pwm-beeper.yaml | 42
> +++++++++++++++++++
> >  2 files changed, 42 insertions(+), 24 deletions(-)  delete mode
> > 100644 Documentation/devicetree/bindings/input/pwm-beeper.txt
> >  create mode 100644
> > Documentation/devicetree/bindings/input/pwm-beeper.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/input/pwm-beeper.txt
> > b/Documentation/devicetree/bindings/input/pwm-beeper.txt
> > deleted file mode 100644
> > index 8fc0e48c20db..000000000000
> > --- a/Documentation/devicetree/bindings/input/pwm-beeper.txt
> > +++ /dev/null
> > @@ -1,24 +0,0 @@
> > -* PWM beeper device tree bindings
> > -
> > -Registers a PWM device as beeper.
> > -
> > -Required properties:
> > -- compatible: should be "pwm-beeper"
> > -- pwms: phandle to the physical PWM device
> > -
> > -Optional properties:
> > -- amp-supply: phandle to a regulator that acts as an amplifier for
> > the beeper
> > -- beeper-hz:  bell frequency in Hz
> > -
> > -Example:
> > -
> > -beeper_amp: amplifier {
> > -	compatible = "fixed-regulator";
> > -	gpios = <&gpio0 1 GPIO_ACTIVE_HIGH>;
> > -};
> > -
> > -beeper {
> > -	compatible = "pwm-beeper";
> > -	pwms = <&pwm0>;
> > -	amp-supply = <&beeper_amp>;
> > -};
> > diff --git a/Documentation/devicetree/bindings/input/pwm-beeper.yaml
> > b/Documentation/devicetree/bindings/input/pwm-beeper.yaml
> > new file mode 100644
> > index 000000000000..a3797f338f46
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/input/pwm-beeper.yaml
> > @@ -0,0 +1,42 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2
> > +---
> > +$id:
> >
> +https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevi
> > +cetree.org%2Fschemas%2Finput%2Fpwm-
> beeper.yaml%23&data=05%7C01%7Cpeng
> >
> +.fan%40nxp.com%7Cd0db787eb4ca45afdacb08db34d1ba6b%7C686ea1d3
> bc2b4c6fa
> >
> +92cd99c5c301635%7C0%7C0%7C638161847599379017%7CUnknown%7CT
> WFpbGZsb3d8
> >
> +eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%
> 3D%7C
> >
> +3000%7C%7C%7C&sdata=FUaIpDqrTVLbQYOrqcXjK3cIwbntbdz7zq86mWr8
> yDA%3D&re
> > +served=0
> > +$schema:
> >
> +https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevi
> > +cetree.org%2Fmeta-
> schemas%2Fcore.yaml%23&data=05%7C01%7Cpeng.fan%40nx
> >
> +p.com%7Cd0db787eb4ca45afdacb08db34d1ba6b%7C686ea1d3bc2b4c6fa9
> 2cd99c5c
> >
> +301635%7C0%7C0%7C638161847599535229%7CUnknown%7CTWFpbGZsb
> 3d8eyJWIjoiM
> >
> +C4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C300
> 0%7C%7
> >
> +C%7C&sdata=OhqZ1z81rsRTjnHINrfR4yGh7%2FiuwGU9CuS8xPJ6NFw%3D&
> reserved=
> > +0
> > +
> > +title: PWM beeper
> > +
> > +maintainers:
> > +  - Sascha Hauer <s.hauer@pengutronix.de>
> > +
> > +properties:
> > +  compatible:
> > +    const: pwm-beeper
> > +
> > +  pwms:
> > +    description: Phandle to the physical PWM device
> 
> Drop description.
> 
> > +    maxItems: 1
> > +
> > +  amp-supply:
> > +    description: Phandle to a regulator that acts as an amplifier for
> > + the beeper
> 
> Drop "Phandle to a regulator that acts as "
> 
> > +
> > +  beeper-hz:
> > +    description: bell frequency in Hz
> > +    minimum: 1
> > +    maximum: 4
> 
> default is 1000, so how constraints can be lower than default? Also - missing
> default.
[Peng Fan] 
I am not sure what maximum value should be set. Previously I set 256, Rob
questioned it.

Regards,
Peng.
> 
> Best regards,
> Krzysztof
Re: [PATCH V2] dt-bindings: input: pwm-beeper: convert to dt schema
Posted by Krzysztof Kozlowski 2 years, 10 months ago
On 04/04/2023 08:44, Peng Fan wrote:


>>
>>> +
>>> +  beeper-hz:
>>> +    description: bell frequency in Hz
>>> +    minimum: 1
>>> +    maximum: 4
>>
>> default is 1000, so how constraints can be lower than default? Also - missing
>> default.
> [Peng Fan] 
> I am not sure what maximum value should be set. Previously I set 256, Rob
> questioned it.

Yep, because 256 is power of 2, so really does not look correct. It is
still lower than default, right?

Best regards,
Krzysztof
Re: [PATCH V2] dt-bindings: input: pwm-beeper: convert to dt schema
Posted by Rob Herring 2 years, 10 months ago
On Tue, Apr 04, 2023 at 10:17:45AM +0200, Krzysztof Kozlowski wrote:
> On 04/04/2023 08:44, Peng Fan wrote:
> 
> 
> >>
> >>> +
> >>> +  beeper-hz:
> >>> +    description: bell frequency in Hz
> >>> +    minimum: 1
> >>> +    maximum: 4
> >>
> >> default is 1000, so how constraints can be lower than default? Also - missing
> >> default.
> > [Peng Fan] 
> > I am not sure what maximum value should be set. Previously I set 256, Rob
> > questioned it.
> 
> Yep, because 256 is power of 2, so really does not look correct. It is
> still lower than default, right?

It's Hertz and an audible (to humans) range! At most that's 60 - 
10000Hz. I imagine any beeper h/w is capable of much narrower range than 
that, but don't know what's typical. 

Rob
Re: [PATCH V2] dt-bindings: input: pwm-beeper: convert to dt schema
Posted by Rob Herring 2 years, 10 months ago
On Mon, 03 Apr 2023 17:06:40 +0800, Peng Fan (OSS) wrote:
> From: Peng Fan <peng.fan@nxp.com>
> 
> Convert the binding doc to dt schema, and also fixed the
> example from fixed-regulator to regulator-fixed.
> 
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
> ---
> 
> V2:
>  License update
>  Don't need to show providers
>  Make example complete
>  Decrease beeper hz
>  Misc update
> 
>  .../devicetree/bindings/input/pwm-beeper.txt  | 24 -----------
>  .../devicetree/bindings/input/pwm-beeper.yaml | 42 +++++++++++++++++++
>  2 files changed, 42 insertions(+), 24 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/input/pwm-beeper.txt
>  create mode 100644 Documentation/devicetree/bindings/input/pwm-beeper.yaml
> 

Running 'make dtbs_check' with the schema in this patch gives the
following warnings. Consider if they are expected or the schema is
incorrect. These may not be new warnings.

Note that it is not yet a requirement to have 0 warnings for dtbs_check.
This will change in the future.

Full log is available here: https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20230403090640.3237060-1-peng.fan@oss.nxp.com


beeper: beeper-hz:0:0: 4000 is greater than the maximum of 4
	arch/arm64/boot/dts/freescale/imx8mm-tqma8mqml-mba8mx.dtb
	arch/arm64/boot/dts/freescale/imx8mn-tqma8mqnl-mba8mx.dtb
	arch/arm64/boot/dts/freescale/imx8mq-tqma8mq-mba8mx.dtb

beeper: Unevaluated properties are not allowed ('beeper-hz' was unexpected)
	arch/arm64/boot/dts/freescale/imx8mm-tqma8mqml-mba8mx.dtb
	arch/arm64/boot/dts/freescale/imx8mn-tqma8mqnl-mba8mx.dtb
	arch/arm64/boot/dts/freescale/imx8mq-tqma8mq-mba8mx.dtb