On Fri, 16 Apr 2021 11:30:39 +0200 Sean Nyekjaer <sean@xxxxxxxxxx> wrote: > Add devicetree binding for the NXP FXLS8962AF/FXLS8962AF > accelerometer sensor. > > Signed-off-by: Sean Nyekjaer <sean@xxxxxxxxxx> > --- > Changes: > - Checked with 'make DT_CHECKER_FLAGS=-m dt_binding_check' > > .../bindings/iio/accel/nxp,fxls8962af.yaml | 73 +++++++++++++++++++ > 1 file changed, 73 insertions(+) > create mode 100644 Documentation/devicetree/bindings/iio/accel/nxp,fxls8962af.yaml > > diff --git a/Documentation/devicetree/bindings/iio/accel/nxp,fxls8962af.yaml b/Documentation/devicetree/bindings/iio/accel/nxp,fxls8962af.yaml > new file mode 100644 > index 000000000000..57322ec8df81 > --- /dev/null > +++ b/Documentation/devicetree/bindings/iio/accel/nxp,fxls8962af.yaml > @@ -0,0 +1,73 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/iio/accel/nxp,fxls8962af.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: NXP FXLS8962AF/FXLS8964AF Accelerometer driver > + > +maintainers: > + - Sean Nyekjaer <sean@xxxxxxxxxx> > + > +description: | > + NXP FXLS8962AF/FXLS8964AF Accelerometer driver that supports > + SPI and I2C interface. > + https://www.nxp.com/docs/en/data-sheet/FXLS8962AF.pdf > + https://www.nxp.com/docs/en/data-sheet/FXLS8964AF.pdf > + > +properties: > + compatible: > + enum: > + - nxp,fxls8962af > + - nxp,fxls8964af > + > + reg: > + maxItems: 1 > + > + vdd-supply: > + description: phandle to the regulator that provides power to the accelerometer > + > + spi-max-frequency: true > + > + interrupts: > + maxItems: 1 > + > +required: > + - compatible > + - reg > + - interrupts It's rare to actually 'require' interrupts for an accelerometer. We tend to rapidly find someone has a board where the interrupt isn't wired. Given it's usually fairly easy to implement the no interrupt case by just having an alternative iio_info structure in the driver it would be good to have that from the start if possible. > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/gpio/gpio.h> > + #include <dt-bindings/interrupt-controller/irq.h> > + i2c0 { > + #address-cells = <1>; > + #size-cells = <0>; > + > + /* Example for a I2C device node */ > + accelerometer@62 { > + compatible = "nxp,fxls8962af"; > + reg = <0x62>; > + interrupt-parent = <&gpio0>; > + interrupts = <0 IRQ_TYPE_LEVEL_HIGH>; > + }; > + }; > + - | > + #include <dt-bindings/gpio/gpio.h> > + #include <dt-bindings/interrupt-controller/irq.h> > + spi0 { > + #address-cells = <1>; > + #size-cells = <0>; > + > + /* Example for a SPI device node */ > + accelerometer@0 { > + compatible = "nxp,fxls8962af"; > + reg = <0>; > + spi-max-frequency = <4000000>; > + interrupt-parent = <&gpio0>; > + interrupts = <0 IRQ_TYPE_LEVEL_HIGH>; > + }; > + };