Hi Jonathan, On Tue, Oct 13, 2020 at 04:34:31PM +0100, Jonathan Cameron wrote: > 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... Thanks for the review, I will address all your comments, just a small note bellow regarding the unevaluatedProperties. > > > --- > > .../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. Yeah, it is not very clear also to me, I was just following this clean up series from Rob, and from my understanding here is a case for unevaluatedProperties. But maybe I got it all wrong. Cheers, Rui > 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 >