Re: [PATCH] dt-bindings: fxas21002c: convert bindings to yaml

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 = <&reg_peri_3p15v>;
> > -	vddio-supply = <&reg_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 = <&reg_peri_3p15v>;
> > +          vddio-supply = <&reg_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
> 



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux