[PATCH v2 6/9] dt-bindings: mfd: fsl,mc13xxx: add buttons node

Alexander Kurz posted 9 patches 1 month, 1 week ago
There is a newer version of this series
[PATCH v2 6/9] dt-bindings: mfd: fsl,mc13xxx: add buttons node
Posted by Alexander Kurz 1 month, 1 week ago
Add a buttons node and properties describing the "ONOFD" (MC13783) and
"PWRON" (MC13892/MC34708) buttons available in the fsl,mc13xxx PMIC ICs.

Signed-off-by: Alexander Kurz <akurz@blala.de>
---
 .../devicetree/bindings/mfd/fsl,mc13xxx.yaml  | 58 +++++++++++++++++++
 1 file changed, 58 insertions(+)

diff --git a/Documentation/devicetree/bindings/mfd/fsl,mc13xxx.yaml b/Documentation/devicetree/bindings/mfd/fsl,mc13xxx.yaml
index 94e2f6557376..761267b42c85 100644
--- a/Documentation/devicetree/bindings/mfd/fsl,mc13xxx.yaml
+++ b/Documentation/devicetree/bindings/mfd/fsl,mc13xxx.yaml
@@ -39,6 +39,41 @@ properties:
   interrupts:
     maxItems: 1
 
+  buttons:
+    type: object
+    $ref: /schemas/input/input.yaml#
+    description: Buttons
+    properties:
+      reg:
+        description: |
+          One of
+          MC13783 BUTTON IDs:
+            0: ONOFD1
+            1: ONOFD2
+            2: ONOFD3
+          MC13892 BUTTON IDs:
+            0: PWRON1
+            1: PWRON2
+            2: PWRON3
+          MC34708 BUTTON IDs:
+            0: PWRON1
+            1: PWRON2
+
+      debounce-delay-ms:
+        enum: [0, 30, 150, 750]
+        default: 30
+        description: |
+          Sets the debouncing delay in milliseconds.
+          Valid values: 0, 30, 150 and 750ms.
+
+      active-low:
+        description: Set active when pin is pulled low.
+
+      fsl,enable-reset:
+        description: |
+          Setting of the global reset option.
+        type: boolean
+
   leds:
     type: object
     $ref: /schemas/leds/common.yaml#
@@ -119,6 +154,10 @@ allOf:
             const: fsl,mc13783
     then:
       properties:
+        buttons:
+          properties:
+            reg:
+              enum: [0, 1, 2]
         leds:
           properties:
             fsl,led-control:
@@ -137,6 +176,10 @@ allOf:
             const: fsl,mc13892
     then:
       properties:
+        buttons:
+          properties:
+            reg:
+              enum: [0, 1, 2]
         leds:
           properties:
             fsl,led-control:
@@ -155,6 +198,10 @@ allOf:
             const: fsl,mc34708
     then:
       properties:
+        buttons:
+          properties:
+            reg:
+              enum: [0, 1]
         leds:
           properties:
             fsl,led-control:
@@ -183,6 +230,17 @@ examples:
             fsl,mc13xxx-uses-rtc;
             fsl,mc13xxx-uses-adc;
 
+            buttons {
+                #address-cells = <1>;
+                #size-cells = <0>;
+                onkey1@0 {
+                    reg = <0>;
+                    debounce-delay-ms = <30>;
+                    active-low;
+                    fsl,enable-reset;
+                };
+            };
+
             leds {
                 #address-cells = <1>;
                 #size-cells = <0>;
-- 
2.39.5
Re: [PATCH v2 6/9] dt-bindings: mfd: fsl,mc13xxx: add buttons node
Posted by Rob Herring 1 month, 1 week ago
On Sat, Aug 23, 2025 at 02:44:38PM +0000, Alexander Kurz wrote:
> Add a buttons node and properties describing the "ONOFD" (MC13783) and
> "PWRON" (MC13892/MC34708) buttons available in the fsl,mc13xxx PMIC ICs.
> 
> Signed-off-by: Alexander Kurz <akurz@blala.de>
> ---
>  .../devicetree/bindings/mfd/fsl,mc13xxx.yaml  | 58 +++++++++++++++++++
>  1 file changed, 58 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/mfd/fsl,mc13xxx.yaml b/Documentation/devicetree/bindings/mfd/fsl,mc13xxx.yaml
> index 94e2f6557376..761267b42c85 100644
> --- a/Documentation/devicetree/bindings/mfd/fsl,mc13xxx.yaml
> +++ b/Documentation/devicetree/bindings/mfd/fsl,mc13xxx.yaml
> @@ -39,6 +39,41 @@ properties:
>    interrupts:
>      maxItems: 1
>  
> +  buttons:
> +    type: object
> +    $ref: /schemas/input/input.yaml#

       unevaluatedProperties: false

(And then fix the errors in the example)

> +    description: Buttons

Drop.

> +    properties:
> +      reg:
> +        description: |
> +          One of
> +          MC13783 BUTTON IDs:
> +            0: ONOFD1
> +            1: ONOFD2
> +            2: ONOFD3
> +          MC13892 BUTTON IDs:
> +            0: PWRON1
> +            1: PWRON2
> +            2: PWRON3
> +          MC34708 BUTTON IDs:
> +            0: PWRON1
> +            1: PWRON2

'maximum: 2' here and then only need 'maximum: 1' in one spot below.

> +
> +      debounce-delay-ms:
> +        enum: [0, 30, 150, 750]
> +        default: 30
> +        description: |
> +          Sets the debouncing delay in milliseconds.
> +          Valid values: 0, 30, 150 and 750ms.

Don't repeat schema constraints in free-form text.

> +
> +      active-low:
> +        description: Set active when pin is pulled low.
> +
> +      fsl,enable-reset:
> +        description: |

Don't need '|'.

> +          Setting of the global reset option.
> +        type: boolean
> +
>    leds:
>      type: object
>      $ref: /schemas/leds/common.yaml#
> @@ -119,6 +154,10 @@ allOf:
>              const: fsl,mc13783
>      then:
>        properties:
> +        buttons:
> +          properties:
> +            reg:
> +              enum: [0, 1, 2]
>          leds:
>            properties:
>              fsl,led-control:
> @@ -137,6 +176,10 @@ allOf:
>              const: fsl,mc13892
>      then:
>        properties:
> +        buttons:
> +          properties:
> +            reg:
> +              enum: [0, 1, 2]
>          leds:
>            properties:
>              fsl,led-control:
> @@ -155,6 +198,10 @@ allOf:
>              const: fsl,mc34708
>      then:
>        properties:
> +        buttons:
> +          properties:
> +            reg:
> +              enum: [0, 1]
>          leds:
>            properties:
>              fsl,led-control:
> @@ -183,6 +230,17 @@ examples:
>              fsl,mc13xxx-uses-rtc;
>              fsl,mc13xxx-uses-adc;
>  
> +            buttons {
> +                #address-cells = <1>;
> +                #size-cells = <0>;
> +                onkey1@0 {
> +                    reg = <0>;
> +                    debounce-delay-ms = <30>;
> +                    active-low;
> +                    fsl,enable-reset;
> +                };
> +            };
> +
>              leds {
>                  #address-cells = <1>;
>                  #size-cells = <0>;
> -- 
> 2.39.5
>