Re: [PATCH v5 3/3] dt-bindings: cros-ec: Add ChromeOS fingerprint binding

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, May 11, 2022 at 06:39:21PM -0700, Stephen Boyd wrote:
> Add a binding to describe the fingerprint processor found on Chromebooks
> with a fingerprint sensor. Previously we've been describing this with
> the google,cros-ec-spi binding but it lacks gpio and regulator control
> used during firmware flashing.
> 
> Cc: Rob Herring <robh+dt@xxxxxxxxxx>
> Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@xxxxxxxxxx>
> Cc: <devicetree@xxxxxxxxxxxxxxx>
> Cc: <chrome-platform@xxxxxxxxxxxxxxx>
> Cc: Guenter Roeck <groeck@xxxxxxxxxxxx>
> Cc: Douglas Anderson <dianders@xxxxxxxxxxxx>
> Cc: Craig Hesling <hesling@xxxxxxxxxxxx>
> Cc: Tom Hughes <tomhughes@xxxxxxxxxxxx>
> Cc: Alexandru M Stan <amstan@xxxxxxxxxxxx>
> Cc: Tzung-Bi Shih <tzungbi@xxxxxxxxxx>
> Cc: Matthias Kaehlcke <mka@xxxxxxxxxxxx>
> Cc: Benson Leung <bleung@xxxxxxxxxxxx>
> Cc: Lee Jones <lee.jones@xxxxxxxxxx>
> Signed-off-by: Stephen Boyd <swboyd@xxxxxxxxxxxx>
> ---
>  .../bindings/mfd/google,cros-ec.yaml          | 80 ++++++++++++++++---
>  1 file changed, 71 insertions(+), 9 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
> index 409ecef967ce..e5fe60beb9fe 100644
> --- a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
> +++ b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
> @@ -19,15 +19,19 @@ description:
>  properties:
>    compatible:
>      oneOf:
> -      - description:
> -          For implementations of the EC is connected through I2C.
> -        const: google,cros-ec-i2c
> -      - description:
> -          For implementations of the EC is connected through SPI.
> -        const: google,cros-ec-spi
> -      - description:
> -          For implementations of the EC is connected through RPMSG.
> -        const: google,cros-ec-rpmsg
> +      # For implementations of the EC is connected through I2C.

Using 'description' was preferred.

> +      - items:
> +          - const: google,cros-ec-i2c
> +      # For implementations of the FPMCU connected through SPI.
> +      - items:
> +          - const: google,cros-ec-fp
> +          - const: google,cros-ec-spi
> +      # For implementations of the EC is connected through SPI.
> +      - items:
> +          - const: google,cros-ec-spi
> +      # For implementations of the EC is connected through RPMSG.
> +      - items:
> +          - const: google,cros-ec-rpmsg
>  
>    controller-data:
>      description:
> @@ -132,6 +136,15 @@ properties:
>  
>      additionalProperties: false
>  
> +  reset-gpios:
> +    maxItems: 1
> +
> +  boot0-gpios:
> +    maxItems: 1
> +    description: Assert for bootloader mode.
> +
> +  vdd-supply: true
> +
>  patternProperties:
>    "^i2c-tunnel[0-9]*$":
>      type: object
> @@ -176,6 +189,37 @@ allOf:
>          - reg
>          - interrupts
>  
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            const: google,cros-ec-fp
> +    then:
> +      properties:
> +        '#address-cells': false
> +        '#size-cells': false
> +        typec: false
> +        ec-pwm: false
> +        keyboard-controller: false
> +        proximity: false
> +        codecs: false
> +        cbas: false
> +
> +      patternProperties:
> +        "^i2c-tunnel[0-9]*$": false
> +        "^regulator@[0-9]+$": false
> +        "^extcon[0-9]*$": false

Is the list of what's allowed shorter? If so, you could list those 
properties and use 'additionalProperties: false'.

Or maybe this is a sign that this should be a separate schema document.

> +
> +      required:
> +        - reset-gpios
> +        - boot0-gpios
> +        - vdd-supply
> +    else:
> +      properties:
> +        reset-gpios: false
> +        boot0-gpios: false
> +        vdd-supply: false



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux