Message ID | 20220321191100.1993-2-swboyd@chromium.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Update cros-ec-spi for fingerprint devices | expand |
On Mon, Mar 21, 2022 at 12:10:57PM -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. Then 'google,cros-ec-spi' should be a fallback? > > Cc: Rob Herring <robh+dt@kernel.org> > Cc: <devicetree@vger.kernel.org> > Cc: Guenter Roeck <groeck@chromium.org> > Reviewed-by: Douglas Anderson <dianders@chromium.org> > Cc: Craig Hesling <hesling@chromium.org> > Cc: Tom Hughes <tomhughes@chromium.org> > Cc: Alexandru M Stan <amstan@chromium.org> > Cc: Tzung-Bi Shih <tzungbi@kernel.org> > Cc: Matthias Kaehlcke <mka@chromium.org> > Signed-off-by: Stephen Boyd <swboyd@chromium.org> > --- > .../bindings/chrome/google,cros-ec-fp.yaml | 66 +++++++++++++++++++ > 1 file changed, 66 insertions(+) > create mode 100644 Documentation/devicetree/bindings/chrome/google,cros-ec-fp.yaml > > diff --git a/Documentation/devicetree/bindings/chrome/google,cros-ec-fp.yaml b/Documentation/devicetree/bindings/chrome/google,cros-ec-fp.yaml > new file mode 100644 > index 000000000000..b7fbaaa94d65 > --- /dev/null > +++ b/Documentation/devicetree/bindings/chrome/google,cros-ec-fp.yaml > @@ -0,0 +1,66 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/chrome/google,cros-ec-fp.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: ChromeOS Embedded Fingerprint Controller > + > +description: > + Google's ChromeOS embedded fingerprint controller is a device which > + implements fingerprint functionality such as unlocking a Chromebook > + without typing a password. > + > +maintainers: > + - Tom Hughes <tomhughes@chromium.org> > + > +properties: > + compatible: > + const: google,cros-ec-fp > + > + reg: > + maxItems: 1 > + > + spi-max-frequency: > + maximum: 3000000 > + > + interrupts: > + maxItems: 1 > + > + reset-gpios: true maxItems: 1 > + boot0-gpios: > + maxItems: 1 > + description: Assert for bootloader mode. > + > + vdd-supply: true > + > +required: > + - compatible > + - reg > + - interrupts > + - reset-gpios > + - boot0-gpios > + - vdd-supply > + - spi-max-frequency > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/interrupt-controller/irq.h> > + #include <dt-bindings/gpio/gpio.h> > + spi { > + #address-cells = <0x1>; > + #size-cells = <0x0>; > + ec@0 { > + compatible = "google,cros-ec-fp"; > + reg = <0>; > + interrupt-parent = <&gpio_controller>; > + interrupts = <4 IRQ_TYPE_LEVEL_LOW>; > + spi-max-frequency = <3000000>; > + reset-gpios = <&gpio_controller 5 GPIO_ACTIVE_LOW>; > + boot0-gpios = <&gpio_controller 10 GPIO_ACTIVE_HIGH>; > + vdd-supply = <&pp3300_fp_mcu>; > + }; > + }; > +... > -- > https://chromeos.dev > >
Quoting Rob Herring (2022-03-21 18:32:40) > On Mon, Mar 21, 2022 at 12:10:57PM -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. > > Then 'google,cros-ec-spi' should be a fallback? Sure that's fine. Then the second patch isn't needed either.
Quoting Rob Herring (2022-03-21 18:32:40) > On Mon, Mar 21, 2022 at 12:10:57PM -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. > > Then 'google,cros-ec-spi' should be a fallback? How do I describe that in the schema without causing google,cros-ec.yaml to jump in and complain that there are unknown properties? Do I need to combine these two schemas and then have conditional properties?
diff --git a/Documentation/devicetree/bindings/chrome/google,cros-ec-fp.yaml b/Documentation/devicetree/bindings/chrome/google,cros-ec-fp.yaml new file mode 100644 index 000000000000..b7fbaaa94d65 --- /dev/null +++ b/Documentation/devicetree/bindings/chrome/google,cros-ec-fp.yaml @@ -0,0 +1,66 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/chrome/google,cros-ec-fp.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: ChromeOS Embedded Fingerprint Controller + +description: + Google's ChromeOS embedded fingerprint controller is a device which + implements fingerprint functionality such as unlocking a Chromebook + without typing a password. + +maintainers: + - Tom Hughes <tomhughes@chromium.org> + +properties: + compatible: + const: google,cros-ec-fp + + reg: + maxItems: 1 + + spi-max-frequency: + maximum: 3000000 + + interrupts: + maxItems: 1 + + reset-gpios: true + boot0-gpios: + maxItems: 1 + description: Assert for bootloader mode. + + vdd-supply: true + +required: + - compatible + - reg + - interrupts + - reset-gpios + - boot0-gpios + - vdd-supply + - spi-max-frequency + +additionalProperties: false + +examples: + - | + #include <dt-bindings/interrupt-controller/irq.h> + #include <dt-bindings/gpio/gpio.h> + spi { + #address-cells = <0x1>; + #size-cells = <0x0>; + ec@0 { + compatible = "google,cros-ec-fp"; + reg = <0>; + interrupt-parent = <&gpio_controller>; + interrupts = <4 IRQ_TYPE_LEVEL_LOW>; + spi-max-frequency = <3000000>; + reset-gpios = <&gpio_controller 5 GPIO_ACTIVE_LOW>; + boot0-gpios = <&gpio_controller 10 GPIO_ACTIVE_HIGH>; + vdd-supply = <&pp3300_fp_mcu>; + }; + }; +...