# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/iio/adc/microchip,mcp3564.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Microchip MCP346X and MCP356X ADC Family

maintainers:
  - Marius Cristea <marius.cristea@microchip.com>

description: |
  Bindings for the Microchip family of 153.6 ksps, Low-Noise 16/24-Bit
  Delta-Sigma ADCs with an SPI interface. Datasheet can be found here:
  Datasheet for MCP3561, MCP3562, MCP3564 can be found here:
    https://ww1.microchip.com/downloads/aemDocuments/documents/MSLD/ProductDocuments/DataSheets/MCP3561-2-4-Family-Data-Sheet-DS20006181C.pdf
  Datasheet for MCP3561R, MCP3562R, MCP3564R can be found here:
    https://ww1.microchip.com/downloads/aemDocuments/documents/APID/ProductDocuments/DataSheets/MCP3561_2_4R-Data-Sheet-DS200006391C.pdf
  Datasheet for MCP3461, MCP3462, MCP3464 can be found here:
    https://ww1.microchip.com/downloads/aemDocuments/documents/APID/ProductDocuments/DataSheets/MCP3461-2-4-Two-Four-Eight-Channel-153.6-ksps-Low-Noise-16-Bit-Delta-Sigma-ADC-Data-Sheet-20006180D.pdf
  Datasheet for MCP3461R, MCP3462R, MCP3464R can be found here:
    https://ww1.microchip.com/downloads/aemDocuments/documents/APID/ProductDocuments/DataSheets/MCP3461-2-4R-Family-Data-Sheet-DS20006404C.pdf

properties:
  compatible:
    enum:
      - microchip,mcp3461
      - microchip,mcp3462
      - microchip,mcp3464
      - microchip,mcp3461r
      - microchip,mcp3462r
      - microchip,mcp3464r
      - microchip,mcp3561
      - microchip,mcp3562
      - microchip,mcp3564
      - microchip,mcp3561r
      - microchip,mcp3562r
      - microchip,mcp3564r

  reg:
    maxItems: 1

  spi-max-frequency:
    maximum: 20000000

  spi-cpha: true

  spi-cpol: true

  vdd-supply: true

  avdd-supply: true

  clocks:
    description:
      Phandle and clock identifier for external sampling clock.
      If not specified, the internal crystal oscillator will be used.
    maxItems: 1

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

  drive-open-drain:
    description:
      Whether to drive the IRQ signal as push-pull (default) or open-drain. Note
      that the device requires this pin to become "high", otherwise it will stop
      converting.
    type: boolean

  vref-supply:
    description:
      Some devices have a specific reference voltage supplied on a different
      pin to the other supplies. Needed to be able to establish channel scaling
      unless there is also an internal reference available (e.g. mcp3564r). In
      case of "r" devices (e. g. mcp3564r), if it does not exists the internal
      reference will be used.

  microchip,hw-device-address:
    $ref: /schemas/types.yaml#/definitions/uint32
    minimum: 0
    maximum: 3
    description:
      The address is set on a per-device basis by fuses in the factory,
      configured on request. If not requested, the fuses are set for 0x1.
      The device address is part of the device markings to avoid
      potential confusion. This address is coded on two bits, so four possible
      addresses are available when multiple devices are present on the same
      SPI bus with only one Chip Select line for all devices.
      Each device communication starts by a CS falling edge, followed by the
      clocking of the device address (BITS[7:6] - top two bits of COMMAND BYTE
      which is first one on the wire).

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

  "#address-cells":
    const: 1

  "#size-cells":
    const: 0

patternProperties:
  "^channel@([0-9]|([1-7][0-9]))$":
    $ref: adc.yaml
    type: object
    unevaluatedProperties: false
    description: Represents the external channels which are connected to the ADC.

    properties:
      reg:
        description: The channel number in single-ended and differential mode.
        minimum: 0
        maximum: 79

    required:
      - reg

dependencies:
  spi-cpol: [ spi-cpha ]
  spi-cpha: [ spi-cpol ]

required:
  - compatible
  - reg
  - microchip,hw-device-address
  - spi-max-frequency

allOf:
  - $ref: /schemas/spi/spi-peripheral-props.yaml#
  - # External vref, no internal reference
    if:
      properties:
        compatible:
          contains:
            enum:
              - microchip,mcp3461
              - microchip,mcp3462
              - microchip,mcp3464
              - microchip,mcp3561
              - microchip,mcp3562
              - microchip,mcp3564
    then:
      required:
        - vref-supply

unevaluatedProperties: false

examples:
  - |
    spi {
        #address-cells = <1>;
        #size-cells = <0>;

        adc@0 {
            compatible = "microchip,mcp3564r";
            reg = <0>;
            vref-supply = <&vref_reg>;
            spi-cpha;
            spi-cpol;
            spi-max-frequency = <10000000>;
            microchip,hw-device-address = <1>;

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

            channel@0 {
                /* CH0 to AGND */
                reg = <0>;
                label = "CH0";
            };

            channel@1 {
                /* CH1 to AGND */
                reg = <1>;
                label = "CH1";
            };

            /* diff-channels */
            channel@11 {
                reg = <11>;

                /* CN0, CN1 */
                diff-channels = <0 1>;
                label = "CH0_CH1";
            };

            channel@22 {
                reg = <0x22>;

                /* CN1, CN2 */
                diff-channels = <1 2>;
                label = "CH1_CH3";
            };

            channel@23 {
                reg = <0x23>;

                /* CN1, CN3 */
                diff-channels = <1 3>;
                label = "CH1_CH3";
            };
        };
    };
...
