Re: [PATCH v3] dt-bindings: iio: accel: add binding documentation for ADIS16240

From: Jonathan Cameron
Date: Sat Nov 09 2019 - 07:57:05 EST


On Tue, 5 Nov 2019 14:19:32 -0600
Rob Herring <robh@xxxxxxxxxx> wrote:

> On Thu, Oct 31, 2019 at 09:03:01PM -0300, Rodrigo Carvalho wrote:
> > This patch add device tree binding documentation for ADIS16240.
> >
> > Signed-off-by: Rodrigo Ribeiro Carvalho <rodrigorsdc@xxxxxxxxx>
> > ---
> > V3:
> > - Remove spi-cpol and spi-cpha field. They don't seem necessary
>
> Not necessary to document or use? The latter requires the former.
>
> If your device only supports one timing mode, then you don't need them
> because it should be implied and the driver can just tell the SPI
> subsystem what mode it requires. If the device can support multiple
> timing modes, then you should document that you are using the
> properties.
The diagram in the datasheet is less than clear and the driver doesn't
currently enforce anything.

Looks like clock is high when in active and fall so CPOL, as per
SPI docs though this might not matter...

Sampling on rising edge (that's the bit that is unclear) so CPHA,
but the timing is such that you can probably get away with not
setting that.

As Rob said, makes sense for driver to enforce the documented correct
mode and not have anything in the binding. We should probably audit
all drivers for this at somepoint and drop the binding requirements
for ones that have only one supported mode.

Jonathan
>
> > .../bindings/iio/accel/adi,adis16240.yaml | 51 +++++++++++++++++++
> > 1 file changed, 51 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/iio/accel/adi,adis16240.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/iio/accel/adi,adis16240.yaml b/Documentation/devicetree/bindings/iio/accel/adi,adis16240.yaml
> > new file mode 100644
> > index 000000000000..9a4cd12c4818
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/iio/accel/adi,adis16240.yaml
> > @@ -0,0 +1,51 @@
> > +# SPDX-License-Identifier: GPL-2.0
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/iio/accel/adi,adis16240.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: ADIS16240 Programmable Impact Sensor and Recorder driver
> > +
> > +maintainers:
> > + - Alexandru Ardelean <alexandru.ardelean@xxxxxxxxxx>
> > +
> > +description: |
> > + ADIS16240 Programmable Impact Sensor and Recorder driver that supports
> > + SPI interface.
> > + https://www.analog.com/en/products/adis16240.html
> > +
> > +properties:
> > + compatible:
> > + enum:
> > + - adi,adis16240
> > +
> > + reg:
> > + maxItems: 1
> > +
> > + interrupts:
> > + maxItems: 1
> > +
> > +required:
> > + - compatible
> > + - reg
> > + - interrupts
> > +
> > +examples:
> > + - |
> > + #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 = "adi,adis16240";
> > + reg = <0>;
> > + spi-max-frequency = <2500000>;
> > + spi-cpol;
> > + spi-cpha;
> > + interrupt-parent = <&gpio0>;
> > + interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
> > + };
> > + };
> > --
> > 2.23.0
> >