Commit dd29b129 authored by Jonathan Cameron's avatar Jonathan Cameron
Browse files

dt-bindings:iio:adc:adi,ad7768-1 yaml conversion



Fairly straight conversion.  The one oddity in the original binding
is that spi-cpha and spi-cpol were not marked as required, but were
in the example.  Looking at the datasheet, there isn't any documented
flexibility in the possible SPI modes, so I have moved these to requires.
For spi-max-frequency I have gone the other way.  I absolutely agree
that it is good to specify this in the dt-binding, but it's not
strictly required.

As Stefan's email is bouncing I have gone with Michael as maintainer
of this one as it falls under the ADI catch all entry in MAINTAINERS.

Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Cc: Michael Hennerich <Michael.Hennerich@analog.com>
Link: https://lore.kernel.org/r/20200909175946.395313-16-jic23@kernel.org
parent e294abc7
Loading
Loading
Loading
Loading
+0 −41
Original line number Diff line number Diff line
Analog Devices AD7768-1 ADC device driver

Required properties for the AD7768-1:

- compatible: Must be "adi,ad7768-1"
- reg: SPI chip select number for the device
- spi-max-frequency: Max SPI frequency to use
	see: Documentation/devicetree/bindings/spi/spi-bus.txt
- clocks: phandle to the master clock (mclk)
	see: Documentation/devicetree/bindings/clock/clock-bindings.txt
- clock-names: Must be "mclk".
- interrupts: IRQ line for the ADC
	see: Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
- vref-supply: vref supply can be used as reference for conversion
- adi,sync-in-gpios: must be the device tree identifier of the SYNC-IN pin. Enables
	synchronization of multiple devices that require simultaneous sampling.
	A pulse is always required if the configuration is changed in any way, for example
	if the filter decimation rate changes. As the line is active low, it should
	be marked GPIO_ACTIVE_LOW.

Optional properties:

 - reset-gpios : GPIO spec for the RESET pin. If specified, it will be asserted during
	driver probe. As the line is active low, it should be marked GPIO_ACTIVE_LOW.

Example:

	adc@0 {
		compatible = "adi,ad7768-1";
		reg = <0>;
		spi-max-frequency = <2000000>;
		spi-cpol;
		spi-cpha;
		vref-supply = <&adc_vref>;
		interrupts = <25 IRQ_TYPE_EDGE_RISING>;
		interrupt-parent = <&gpio>;
		adi,sync-in-gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
		reset-gpios = <&gpio 27 GPIO_ACTIVE_LOW>;
		clocks = <&ad7768_mclk>;
		clock-names = "mclk";
	};
+89 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/iio/adc/adi,ad7768-1.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Analog Devices AD7768-1 ADC device driver

maintainers:
  - Michael Hennerich <michael.hennerich@analog.com>

description: |
  Datasheet at:
    https://www.analog.com/media/en/technical-documentation/data-sheets/ad7768-1.pdf

properties:
  compatible:
    const: adi,ad7768-1

  reg:
    maxItems: 1

  clocks:
    maxItems: 1

  clock-names:
    const: mclk

  interrupts:
    maxItems: 1

  vref-supply:
    description:
      ADC reference voltage supply

  adi,sync-in-gpios:
    description:
      Enables synchronization of multiple devices that require simultaneous
      sampling. A pulse is always required if the configuration is changed
      in any way, for example if the filter decimation rate changes.
      As the line is active low, it should be marked GPIO_ACTIVE_LOW.

  reset-gpios:
    maxItems: 1

  spi-max-frequency: true

  spi-cpol: true
  spi-cpha : true

  "#io-channel-cells":
    const: 1

required:
  - compatible
  - reg
  - clocks
  - clock-names
  - vref-supply
  - spi-cpol
  - spi-cpha
  - adi,sync-in-gpios

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/gpio/gpio.h>
    spi {
        #address-cells = <1>;
        #size-cells = <0>;

        adc@0 {
            compatible = "adi,ad7768-1";
            reg = <0>;
            spi-max-frequency = <2000000>;
            spi-cpol;
            spi-cpha;
            vref-supply = <&adc_vref>;
            interrupts = <25 IRQ_TYPE_EDGE_RISING>;
            interrupt-parent = <&gpio>;
            adi,sync-in-gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
            reset-gpios = <&gpio 27 GPIO_ACTIVE_LOW>;
            clocks = <&ad7768_mclk>;
            clock-names = "mclk";
        };
    };
...