On Wed, 28 Jul 2021 12:04:29 +0530 Puranjay Mohan <puranjay12@xxxxxxxxx> wrote: > Add devicetree binding document for ADXL355, a 3-Axis MEMS Accelerometer. > > Signed-off-by: Puranjay Mohan <puranjay12@xxxxxxxxx> Hi Puranjay, Biggest comment in here is we should look to make the interrupt description more flexible. Board designers have an annoying habit of only wiring some of the interrupts and not always the ones we would expect. Jonathan > --- > .../bindings/iio/accel/adi,adxl355.yaml | 76 +++++++++++++++++++ > 1 file changed, 76 insertions(+) > create mode 100644 Documentation/devicetree/bindings/iio/accel/adi,adxl355.yaml > > diff --git a/Documentation/devicetree/bindings/iio/accel/adi,adxl355.yaml b/Documentation/devicetree/bindings/iio/accel/adi,adxl355.yaml > new file mode 100644 > index 000000000..6e0652ce8 > --- /dev/null > +++ b/Documentation/devicetree/bindings/iio/accel/adi,adxl355.yaml > @@ -0,0 +1,76 @@ > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/iio/accel/adi,adxl355.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Analog Devices ADXL355 3-Axis, Low noise MEMS Accelerometer > + > +maintainers: > + - Puranjay Mohan <puranjay12@xxxxxxxxx> > + > +description: | > + Analog Devices ADXL355 3-Axis, Low noise MEMS Accelerometer that supports > + both I2C & SPI interfaces > + https://www.analog.com/en/products/adxl355.html > + > +properties: > + compatible: > + enum: > + - adi,adxl355 > + > + reg: > + maxItems: 1 > + > + interrupts: > + minItems: 1 > + items: > + - description: DRDY PIN > + - description: INT1 PIN > + - description: INT2 PIN Given there are 3 interrupts, and the device can work fine with only a subset actually wired up, the interrupt-names property should be used to allow the driver to figure out which ones are specified and we should allow any combination. > + > + vdd-supply: > + description: Regulator that provides power to the sensor > + > + vddio-supply: > + description: Regulator that provides power to the bus > + > + spi-max-frequency: true > + > +required: > + - compatible > + - reg > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/gpio/gpio.h> > + #include <dt-bindings/interrupt-controller/irq.h> > + i2c0 { drop the 0 so just i2c { What we are doing is indicating it's an i2c bus but we don't care what i2c bus as that's not the bit we are describing in this binding. > + #address-cells = <1>; > + #size-cells = <0>; > + > + /* Example for a I2C device node */ > + accelerometer@1d { > + compatible = "adi,adxl355"; > + reg = <0x1d>; > + interrupt-parent = <&gpio>; > + interrupts = <25 IRQ_TYPE_EDGE_RISING>; > + }; > + }; > + - | > + #include <dt-bindings/gpio/gpio.h> > + #include <dt-bindings/interrupt-controller/irq.h> > + spi0 { spi { should be fine. > + #address-cells = <1>; > + #size-cells = <0>; > + > + accelerometer@0 { > + compatible = "adi,adxl355"; > + reg = <0>; > + spi-max-frequency = <1000000>; > + interrupt-parent = <&gpio>; > + interrupts = <25 IRQ_TYPE_EDGE_RISING>; > + }; > + };