On Tue, 13 Oct 2020 14:15:45 +0100 Rui Miguel Silva <rui.silva@xxxxxxxxxx> wrote: > Convert fxas21002c gyroscope sensor bindings documentation to > yaml schema and remove the textual bindings document. > > Signed-off-by: Rui Miguel Silva <rmfrfs@xxxxxxxxx> Hi Rui, Always good to see a yaml conversion. Comments inline... > --- > .../bindings/iio/gyroscope/nxp,fxas21002c.txt | 31 -------- > .../iio/gyroscope/nxp,fxas21002c.yaml | 77 +++++++++++++++++++ > MAINTAINERS | 2 +- > 3 files changed, 78 insertions(+), 32 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/iio/gyroscope/nxp,fxas21002c.txt > create mode 100644 Documentation/devicetree/bindings/iio/gyroscope/nxp,fxas21002c.yaml > > diff --git a/Documentation/devicetree/bindings/iio/gyroscope/nxp,fxas21002c.txt b/Documentation/devicetree/bindings/iio/gyroscope/nxp,fxas21002c.txt > deleted file mode 100644 > index 465e104bbf14..000000000000 > --- a/Documentation/devicetree/bindings/iio/gyroscope/nxp,fxas21002c.txt > +++ /dev/null > @@ -1,31 +0,0 @@ > -* NXP FXAS21002C Gyroscope device tree bindings > - > -http://www.nxp.com/products/sensors/gyroscopes/3-axis-digital-gyroscope:FXAS21002C > - > -Required properties: > - - compatible : should be "nxp,fxas21002c" > - - reg : the I2C address of the sensor or SPI chip select number for the > - device. > - - vdd-supply: phandle to the regulator that provides power to the sensor. > - - vddio-supply: phandle to the regulator that provides power to the bus. > - > -Optional properties: > - - reset-gpios : gpio used to reset the device, see gpio/gpio.txt > - - interrupts : device support 2 interrupts, INT1 and INT2, > - the interrupts can be triggered on rising or falling edges. > - See interrupt-controller/interrupts.txt > - - interrupt-names: should contain "INT1" or "INT2", the gyroscope interrupt > - line in use. > - - drive-open-drain: the interrupt/data ready line will be configured > - as open drain, which is useful if several sensors share > - the same interrupt line. This is a boolean property. > - (This binding is taken from pinctrl/pinctrl-bindings.txt) > - > -Example: > - > -gyroscope@20 { > - compatible = "nxp,fxas21002c"; > - reg = <0x20>; > - vdd-supply = <®_peri_3p15v>; > - vddio-supply = <®_peri_3p15v>; > -}; > diff --git a/Documentation/devicetree/bindings/iio/gyroscope/nxp,fxas21002c.yaml b/Documentation/devicetree/bindings/iio/gyroscope/nxp,fxas21002c.yaml > new file mode 100644 > index 000000000000..7680e97cf1d9 > --- /dev/null > +++ b/Documentation/devicetree/bindings/iio/gyroscope/nxp,fxas21002c.yaml > @@ -0,0 +1,77 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/iio/gyroscope/nxp,fxas21002c.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: NXP FXAS21002C Gyroscope Unit Why Unit? Gyroscope seems fine to me. > + > +maintainers: > + - Rui Miguel Silva <rmfrfs@xxxxxxxxx> > + > +description: | > + 3 axis digital gyroscope device with an I2C and SPI interface. Can we document the SPI binding as well? With an example. > + http://www.nxp.com/products/sensors/gyroscopes/3-axis-digital-gyroscope:FXAS21002C > + > +properties: > + compatible: > + enum: > + - nxp,fxas21002c Unless we think it likely this binding is going to shortly include other options, const: nxp... (doesn't matter that much though!) > + > + reg: > + maxItems: 1 > + description: base address of the device No it isn't. It is the i2c address. Also this is standard so no description needed. > + > + vdd-supply: > + description: Regulator that provides power to the sensor > + > + vddio-supply: > + description: Regulator that provides power to the bus > + > + reset-gpios: > + maxItems: 1 > + description: GPIO connected to reset > + > + interrupts: > + minItems: 1 > + maxItems: 2 > + description: device support 2 interrupts, I'd argue that's obvious from the maxItems. So no need to repeat it. INT1 and INT2, This part is clear form interrupt-names so again, I wouldn't say it again. the interrupts can > + be triggered on rising or falling edges. This last bit is useful so I would have just this or something like Either interrupt may be triggered on rising or falling edges. > + > + interrupt-names: > + minItems: 1 > + maxItems: 2 > + items: > + enum: > + - INT1 > + - INT2 > + description: gyroscope interrupt line in use. Singular with 2 interrupts. Personally I'd just drop the description as not adding anything. > + > + drive-open-drain: > + type: boolean > + description: the interrupt/data ready line will be configured as open drain, > + which is useful if several sensors share the same interrupt > + line. > + > +required: > + - compatible > + - reg > + - vdd-supply Why required? If it's hard wired on will a stub regulator not work fine with this device. Do we need to read it's voltage or similar? > + - vddio-supply > + > +unevaluatedProperties: false Why unevalutatedProperties rather than additionalProperties? I'll confess I don't really understand when to use unevaluatedProperties. I'm guessing issue here is we don't have the SPI bindings stuff? > + > +examples: > + - | > + i2c0 { > + #address-cells = <1>; > + #size-cells = <0>; > + > + gyroscope@20 { > + compatible = "nxp,fxas21002c"; > + reg = <0x20>; > + > + vdd-supply = <®_peri_3p15v>; > + vddio-supply = <®_peri_3p15v>; > + }; > + }; > diff --git a/MAINTAINERS b/MAINTAINERS > index 6594f0966716..2e85e114c9c3 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -12469,7 +12469,7 @@ NXP FXAS21002C DRIVER > M: Rui Miguel Silva <rmfrfs@xxxxxxxxx> > L: linux-iio@xxxxxxxxxxxxxxx > S: Maintained > -F: Documentation/devicetree/bindings/iio/gyroscope/nxp,fxas21002c.txt > +F: Documentation/devicetree/bindings/iio/gyroscope/nxp,fxas21002c.yaml > F: drivers/iio/gyro/fxas21002c.h > F: drivers/iio/gyro/fxas21002c_core.c > F: drivers/iio/gyro/fxas21002c_i2c.c