18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
28c2ecf20Sopenharmony_ci# Copyright 2020 Analog Devices Inc.
38c2ecf20Sopenharmony_ci%YAML 1.2
48c2ecf20Sopenharmony_ci---
58c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/iio/dac/adi,ad5770r.yaml#
68c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_cititle: Analog Devices AD5770R DAC device driver
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_cimaintainers:
118c2ecf20Sopenharmony_ci  - Mircea Caprioru <mircea.caprioru@analog.com>
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_cidescription: |
148c2ecf20Sopenharmony_ci  Bindings for the Analog Devices AD5770R current DAC device. Datasheet can be
158c2ecf20Sopenharmony_ci  found here:
168c2ecf20Sopenharmony_ci    https://www.analog.com/media/en/technical-documentation/data-sheets/AD5770R.pdf
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ciproperties:
198c2ecf20Sopenharmony_ci  compatible:
208c2ecf20Sopenharmony_ci    enum:
218c2ecf20Sopenharmony_ci      - adi,ad5770r
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ci  reg:
248c2ecf20Sopenharmony_ci    maxItems: 1
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ci  avdd-supply:
278c2ecf20Sopenharmony_ci    description:
288c2ecf20Sopenharmony_ci      AVdd voltage supply. Represents two different supplies in the datasheet
298c2ecf20Sopenharmony_ci      that are in fact the same.
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci  iovdd-supply:
328c2ecf20Sopenharmony_ci    description:
338c2ecf20Sopenharmony_ci      Voltage supply for the chip interface.
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ci  vref-supply:
368c2ecf20Sopenharmony_ci    description: Specify the voltage of the external reference used.
378c2ecf20Sopenharmony_ci      Available reference options are 1.25 V or 2.5 V. If no
388c2ecf20Sopenharmony_ci      external reference declared then the device will use the
398c2ecf20Sopenharmony_ci      internal reference of 1.25 V.
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ci  adi,external-resistor:
428c2ecf20Sopenharmony_ci    description: Specify if an external 2.5k ohm resistor is used. If not
438c2ecf20Sopenharmony_ci      specified the device will use an internal 2.5k ohm resistor.
448c2ecf20Sopenharmony_ci      The precision resistor is used for reference current generation.
458c2ecf20Sopenharmony_ci    type: boolean
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ci  reset-gpios:
488c2ecf20Sopenharmony_ci    description: GPIO spec for the RESET pin. If specified, it will be
498c2ecf20Sopenharmony_ci      asserted during driver probe.
508c2ecf20Sopenharmony_ci    maxItems: 1
518c2ecf20Sopenharmony_ci
528c2ecf20Sopenharmony_ci  spi-max-frequency: true
538c2ecf20Sopenharmony_ci
548c2ecf20Sopenharmony_ci  '#address-cells':
558c2ecf20Sopenharmony_ci    const: 1
568c2ecf20Sopenharmony_ci
578c2ecf20Sopenharmony_ci  '#size-cells':
588c2ecf20Sopenharmony_ci    const: 0
598c2ecf20Sopenharmony_ci
608c2ecf20Sopenharmony_ci  channel@0:
618c2ecf20Sopenharmony_ci    description: Represents an external channel which are
628c2ecf20Sopenharmony_ci      connected to the DAC. Channel 0 can act both as a current
638c2ecf20Sopenharmony_ci      source and sink.
648c2ecf20Sopenharmony_ci    type: object
658c2ecf20Sopenharmony_ci
668c2ecf20Sopenharmony_ci    properties:
678c2ecf20Sopenharmony_ci      reg:
688c2ecf20Sopenharmony_ci        description: This represents the channel number.
698c2ecf20Sopenharmony_ci        const: 0
708c2ecf20Sopenharmony_ci
718c2ecf20Sopenharmony_ci      adi,range-microamp:
728c2ecf20Sopenharmony_ci        description: Output range of the channel.
738c2ecf20Sopenharmony_ci        oneOf:
748c2ecf20Sopenharmony_ci          - items:
758c2ecf20Sopenharmony_ci              - const: 0
768c2ecf20Sopenharmony_ci              - const: 300000
778c2ecf20Sopenharmony_ci          - items:
788c2ecf20Sopenharmony_ci              - const: -60000
798c2ecf20Sopenharmony_ci              - const: 0
808c2ecf20Sopenharmony_ci          - items:
818c2ecf20Sopenharmony_ci              - const: -60000
828c2ecf20Sopenharmony_ci              - const: 300000
838c2ecf20Sopenharmony_ci
848c2ecf20Sopenharmony_ci  channel@1:
858c2ecf20Sopenharmony_ci    description: Represents an external channel which are
868c2ecf20Sopenharmony_ci      connected to the DAC.
878c2ecf20Sopenharmony_ci    type: object
888c2ecf20Sopenharmony_ci
898c2ecf20Sopenharmony_ci    properties:
908c2ecf20Sopenharmony_ci      reg:
918c2ecf20Sopenharmony_ci        description: This represents the channel number.
928c2ecf20Sopenharmony_ci        const: 1
938c2ecf20Sopenharmony_ci
948c2ecf20Sopenharmony_ci      adi,range-microamp:
958c2ecf20Sopenharmony_ci        description: Output range of the channel.
968c2ecf20Sopenharmony_ci        items:
978c2ecf20Sopenharmony_ci          - const: 0
988c2ecf20Sopenharmony_ci          - enum: [140000, 250000]
998c2ecf20Sopenharmony_ci
1008c2ecf20Sopenharmony_ci  channel@2:
1018c2ecf20Sopenharmony_ci    description: Represents an external channel which are
1028c2ecf20Sopenharmony_ci      connected to the DAC.
1038c2ecf20Sopenharmony_ci    type: object
1048c2ecf20Sopenharmony_ci
1058c2ecf20Sopenharmony_ci    properties:
1068c2ecf20Sopenharmony_ci      reg:
1078c2ecf20Sopenharmony_ci        description: This represents the channel number.
1088c2ecf20Sopenharmony_ci        const: 2
1098c2ecf20Sopenharmony_ci
1108c2ecf20Sopenharmony_ci      adi,range-microamp:
1118c2ecf20Sopenharmony_ci        description: Output range of the channel.
1128c2ecf20Sopenharmony_ci        items:
1138c2ecf20Sopenharmony_ci          - const: 0
1148c2ecf20Sopenharmony_ci          - enum: [55000, 150000]
1158c2ecf20Sopenharmony_ci
1168c2ecf20Sopenharmony_cipatternProperties:
1178c2ecf20Sopenharmony_ci  "^channel@([3-5])$":
1188c2ecf20Sopenharmony_ci    type: object
1198c2ecf20Sopenharmony_ci    description: Represents the external channels which are connected to the DAC.
1208c2ecf20Sopenharmony_ci    properties:
1218c2ecf20Sopenharmony_ci      reg:
1228c2ecf20Sopenharmony_ci        description: This represents the channel number.
1238c2ecf20Sopenharmony_ci        minimum: 3
1248c2ecf20Sopenharmony_ci        maximum: 5
1258c2ecf20Sopenharmony_ci
1268c2ecf20Sopenharmony_ci      adi,range-microamp:
1278c2ecf20Sopenharmony_ci        description: Output range of the channel.
1288c2ecf20Sopenharmony_ci        items:
1298c2ecf20Sopenharmony_ci          - const: 0
1308c2ecf20Sopenharmony_ci          - enum: [45000, 100000]
1318c2ecf20Sopenharmony_ci
1328c2ecf20Sopenharmony_cirequired:
1338c2ecf20Sopenharmony_ci  - reg
1348c2ecf20Sopenharmony_ci  - channel@0
1358c2ecf20Sopenharmony_ci  - channel@1
1368c2ecf20Sopenharmony_ci  - channel@2
1378c2ecf20Sopenharmony_ci  - channel@3
1388c2ecf20Sopenharmony_ci  - channel@4
1398c2ecf20Sopenharmony_ci  - channel@5
1408c2ecf20Sopenharmony_ci
1418c2ecf20Sopenharmony_ciadditionalProperties: false
1428c2ecf20Sopenharmony_ci
1438c2ecf20Sopenharmony_ciexamples:
1448c2ecf20Sopenharmony_ci  - |
1458c2ecf20Sopenharmony_ci        spi {
1468c2ecf20Sopenharmony_ci                #address-cells = <1>;
1478c2ecf20Sopenharmony_ci                #size-cells = <0>;
1488c2ecf20Sopenharmony_ci
1498c2ecf20Sopenharmony_ci                ad5770r@0 {
1508c2ecf20Sopenharmony_ci                        compatible = "adi,ad5770r";
1518c2ecf20Sopenharmony_ci                        reg = <0>;
1528c2ecf20Sopenharmony_ci                        spi-max-frequency = <1000000>;
1538c2ecf20Sopenharmony_ci                        vref-supply = <&vref>;
1548c2ecf20Sopenharmony_ci                        adi,external-resistor;
1558c2ecf20Sopenharmony_ci                        reset-gpios = <&gpio 22 0>;
1568c2ecf20Sopenharmony_ci                        #address-cells = <1>;
1578c2ecf20Sopenharmony_ci                        #size-cells = <0>;
1588c2ecf20Sopenharmony_ci
1598c2ecf20Sopenharmony_ci                        channel@0 {
1608c2ecf20Sopenharmony_ci                                reg = <0>;
1618c2ecf20Sopenharmony_ci                                adi,range-microamp = <0 300000>;
1628c2ecf20Sopenharmony_ci                        };
1638c2ecf20Sopenharmony_ci
1648c2ecf20Sopenharmony_ci                        channel@1 {
1658c2ecf20Sopenharmony_ci                                reg = <1>;
1668c2ecf20Sopenharmony_ci                                adi,range-microamp = <0 140000>;
1678c2ecf20Sopenharmony_ci                        };
1688c2ecf20Sopenharmony_ci
1698c2ecf20Sopenharmony_ci                        channel@2 {
1708c2ecf20Sopenharmony_ci                                reg = <2>;
1718c2ecf20Sopenharmony_ci                                adi,range-microamp = <0 55000>;
1728c2ecf20Sopenharmony_ci                        };
1738c2ecf20Sopenharmony_ci
1748c2ecf20Sopenharmony_ci                        channel@3 {
1758c2ecf20Sopenharmony_ci                                reg = <3>;
1768c2ecf20Sopenharmony_ci                                adi,range-microamp = <0 45000>;
1778c2ecf20Sopenharmony_ci                        };
1788c2ecf20Sopenharmony_ci
1798c2ecf20Sopenharmony_ci                        channel@4 {
1808c2ecf20Sopenharmony_ci                                reg = <4>;
1818c2ecf20Sopenharmony_ci                                adi,range-microamp = <0 45000>;
1828c2ecf20Sopenharmony_ci                        };
1838c2ecf20Sopenharmony_ci
1848c2ecf20Sopenharmony_ci                        channel@5 {
1858c2ecf20Sopenharmony_ci                                reg = <5>;
1868c2ecf20Sopenharmony_ci                                adi,range-microamp = <0 45000>;
1878c2ecf20Sopenharmony_ci                        };
1888c2ecf20Sopenharmony_ci                };
1898c2ecf20Sopenharmony_ci        };
1908c2ecf20Sopenharmony_ci...
191