Commit 26ae15e6 authored by Mircea Caprioru's avatar Mircea Caprioru Committed by Jonathan Cameron
Browse files

Convert AD7124 bindings documentation to YAML format.

parent 1478a388
Loading
Loading
Loading
Loading
+0 −75
Original line number Diff line number Diff line
Analog Devices AD7124 ADC device driver

Required properties for the AD7124:
	- compatible: Must be one of "adi,ad7124-4" or "adi,ad7124-8"
	- 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

	  Required properties:
		* #address-cells: Must be 1.
		* #size-cells: Must be 0.

	  Subnode(s) represent the external channels which are connected to the ADC.
	  Each subnode represents one channel and has the following properties:
		Required properties:
			* reg: The channel number. It can have up to 4 channels on ad7124-4
			  and 8 channels on ad7124-8, numbered from 0 to 15.
			* diff-channels: see: Documentation/devicetree/bindings/iio/adc/adc.txt

		Optional properties:
			* bipolar: see: Documentation/devicetree/bindings/iio/adc/adc.txt
			* adi,reference-select: Select the reference source to use when
			  converting on the the specific channel. Valid values are:
			  0: REFIN1(+)/REFIN1(−).
			  1: REFIN2(+)/REFIN2(−).
			  3: AVDD
			  If this field is left empty, internal reference is selected.

Optional properties:
	- refin1-supply: refin1 supply can be used as reference for conversion.
	- refin2-supply: refin2 supply can be used as reference for conversion.
	- avdd-supply: avdd supply can be used as reference for conversion.

Example:
	adc@0 {
		compatible = "adi,ad7124-4";
		reg = <0>;
		spi-max-frequency = <5000000>;
		interrupts = <25 2>;
		interrupt-parent = <&gpio>;
		refin1-supply = <&adc_vref>;
		clocks = <&ad7124_mclk>;
		clock-names = "mclk";

		#address-cells = <1>;
		#size-cells = <0>;

		channel@0 {
			reg = <0>;
			diff-channels = <0 1>;
			adi,reference-select = <0>;
		};

		channel@1 {
			reg = <1>;
			bipolar;
			diff-channels = <2 3>;
			adi,reference-select = <0>;
		};

		channel@2 {
			reg = <2>;
			diff-channels = <4 5>;
		};

		channel@3 {
			reg = <3>;
			diff-channels = <6 7>;
		};
	};
+144 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
# Copyright 2019 Analog Devices Inc.
%YAML 1.2
---
$id: http://devicetree.org/schemas/bindings/iio/adc/adi,ad7124.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Analog Devices AD7124 ADC device driver

maintainers:
  - Stefan Popa <stefan.popa@analog.com>

description: |
  Bindings for the Analog Devices AD7124 ADC device. Datasheet can be
  found here:
    https://www.analog.com/media/en/technical-documentation/data-sheets/AD7124-8.pdf

properties:
  compatible:
    enum:
      - adi,ad7124-4
      - adi,ad7124-8

  reg:
    description: SPI chip select number for the device
    maxItems: 1

  clocks:
    maxItems: 1
    description: phandle to the master clock (mclk)

  clock-names:
    items:
      - const: mclk

  interrupts:
    description: IRQ line for the ADC
    maxItems: 1

  '#address-cells':
    const: 1

  '#size-cells':
    const: 0

  refin1-supply:
    description: refin1 supply can be used as reference for conversion.
    maxItems: 1

  refin2-supply:
    description: refin2 supply can be used as reference for conversion.
    maxItems: 1

  avdd-supply:
    description: avdd supply can be used as reference for conversion.
    maxItems: 1

required:
  - compatible
  - reg
  - clocks
  - clock-names
  - interrupts

patternProperties:
  "^channel@([0-9]|1[0-5])$":
    type: object
    description: |
      Represents the external channels which are connected to the ADC.
      See Documentation/devicetree/bindings/iio/adc/adc.txt.

    properties:
      reg:
        description: |
          The channel number. It can have up to 8 channels on ad7124-4
          and 16 channels on ad7124-8, numbered from 0 to 15.
        items:
         minimum: 0
         maximum: 15

      adi,reference-select:
        description: |
          Select the reference source to use when converting on
          the specific channel. Valid values are:
          0: REFIN1(+)/REFIN1(−).
          1: REFIN2(+)/REFIN2(−).
          3: AVDD
          If this field is left empty, internal reference is selected.
        allOf:
          - $ref: /schemas/types.yaml#/definitions/uint32
          - enum: [0, 1, 3]

      diff-channels:
        description: see Documentation/devicetree/bindings/iio/adc/adc.txt
        items:
          minimum: 0
          maximum: 15

      bipolar:
        description: see Documentation/devicetree/bindings/iio/adc/adc.txt
        type: boolean

    required:
      - reg
      - diff-channels

examples:
  - |
    adc@0 {
      compatible = "adi,ad7124-4";
      reg = <0>;
      spi-max-frequency = <5000000>;
      interrupts = <25 2>;
      interrupt-parent = <&gpio>;
      refin1-supply = <&adc_vref>;
      clocks = <&ad7124_mclk>;
      clock-names = "mclk";

      #address-cells = <1>;
      #size-cells = <0>;

      channel@0 {
        reg = <0>;
        diff-channels = <0 1>;
        adi,reference-select = <0>;
      };

      channel@1 {
        reg = <1>;
        bipolar;
        diff-channels = <2 3>;
        adi,reference-select = <0>;
      };

      channel@2 {
        reg = <2>;
        diff-channels = <4 5>;
      };

      channel@3 {
        reg = <3>;
        diff-channels = <6 7>;
      };
    };