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

1 view
Skip to first unread message

Rodrigo Carvalho

unread,
Oct 31, 2019, 8:03:32 PM10/31/19
to Lars-Peter Clausen, Michael Hennerich, Stefan Popa, Jonathan Cameron, Hartmut Knaack, Peter Meerwald-Stadler, Greg Kroah-Hartman, linu...@vger.kernel.org, de...@driverdev.osuosl.org, linux-...@vger.kernel.org, devic...@vger.kernel.org, kerne...@googlegroups.com, Rodrigo Carvalho
This patch add device tree binding documentation for ADIS16240.

Signed-off-by: Rodrigo Ribeiro Carvalho <rodri...@gmail.com>
---
V3:
- Remove spi-cpol and spi-cpha field. They don't seem necessary
.../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...@analog.com>
+
+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

Rob Herring

unread,
Nov 5, 2019, 3:19:34 PM11/5/19
to Rodrigo Carvalho, Lars-Peter Clausen, Michael Hennerich, Stefan Popa, Jonathan Cameron, Hartmut Knaack, Peter Meerwald-Stadler, Greg Kroah-Hartman, linu...@vger.kernel.org, de...@driverdev.osuosl.org, linux-...@vger.kernel.org, devic...@vger.kernel.org, kerne...@googlegroups.com
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 <rodri...@gmail.com>
> ---
> 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.

Jonathan Cameron

unread,
Nov 9, 2019, 7:56:37 AM11/9/19
to Rob Herring, Rodrigo Carvalho, Lars-Peter Clausen, Michael Hennerich, Stefan Popa, Hartmut Knaack, Peter Meerwald-Stadler, Greg Kroah-Hartman, linu...@vger.kernel.org, de...@driverdev.osuosl.org, linux-...@vger.kernel.org, devic...@vger.kernel.org, kerne...@googlegroups.com
On Tue, 5 Nov 2019 14:19:32 -0600
Rob Herring <ro...@kernel.org> 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 <rodri...@gmail.com>
> > ---
> > 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
Reply all
Reply to author
Forward
0 new messages