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

- From: Rob Herring \<robh@kernel.org\>
- Date: 2025-08-26 23:08:49 
- List: linux-input
- Page: https://ratatoskr.run/linux-input/2025/08/3188117
- Thread: https://ratatoskr.run/linux-devicetree/2025/08/3184021/t.md

```text
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 <redacted>
> ---
>  .../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
> 
```
