158 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			158 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
 | 
						||
# Copyright 2019 Analog Devices Inc.
 | 
						||
%YAML 1.2
 | 
						||
---
 | 
						||
$id: http://devicetree.org/schemas/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.
 | 
						||
 | 
						||
  refin2-supply:
 | 
						||
    description: refin2 supply can be used as reference for conversion.
 | 
						||
 | 
						||
  avdd-supply:
 | 
						||
    description: avdd supply can be used as reference for conversion.
 | 
						||
 | 
						||
required:
 | 
						||
  - compatible
 | 
						||
  - reg
 | 
						||
  - clocks
 | 
						||
  - clock-names
 | 
						||
  - interrupts
 | 
						||
 | 
						||
patternProperties:
 | 
						||
  "^channel@([0-9]|1[0-5])$":
 | 
						||
    $ref: "adc.yaml"
 | 
						||
    type: object
 | 
						||
    description: |
 | 
						||
      Represents the external channels which are connected to the ADC.
 | 
						||
 | 
						||
    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.
 | 
						||
        $ref: /schemas/types.yaml#/definitions/uint32
 | 
						||
        enum: [0, 1, 3]
 | 
						||
 | 
						||
      diff-channels: true
 | 
						||
 | 
						||
      bipolar: true
 | 
						||
 | 
						||
      adi,buffered-positive:
 | 
						||
        description: Enable buffered mode for positive input.
 | 
						||
        type: boolean
 | 
						||
 | 
						||
      adi,buffered-negative:
 | 
						||
        description: Enable buffered mode for negative input.
 | 
						||
        type: boolean
 | 
						||
 | 
						||
    required:
 | 
						||
      - reg
 | 
						||
      - diff-channels
 | 
						||
 | 
						||
    additionalProperties: false
 | 
						||
 | 
						||
allOf:
 | 
						||
  - $ref: /schemas/spi/spi-peripheral-props.yaml#
 | 
						||
 | 
						||
unevaluatedProperties: false
 | 
						||
 | 
						||
examples:
 | 
						||
  - |
 | 
						||
    spi {
 | 
						||
      #address-cells = <1>;
 | 
						||
      #size-cells = <0>;
 | 
						||
 | 
						||
      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>;
 | 
						||
          adi,buffered-positive;
 | 
						||
        };
 | 
						||
 | 
						||
        channel@1 {
 | 
						||
          reg = <1>;
 | 
						||
          bipolar;
 | 
						||
          diff-channels = <2 3>;
 | 
						||
          adi,reference-select = <0>;
 | 
						||
          adi,buffered-positive;
 | 
						||
          adi,buffered-negative;
 | 
						||
        };
 | 
						||
 | 
						||
        channel@2 {
 | 
						||
          reg = <2>;
 | 
						||
          diff-channels = <4 5>;
 | 
						||
        };
 | 
						||
 | 
						||
        channel@3 {
 | 
						||
          reg = <3>;
 | 
						||
          diff-channels = <6 7>;
 | 
						||
        };
 | 
						||
      };
 | 
						||
    };
 |