xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/iio/dac/adi,ad5770r.yaml (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2*4882a593Smuzhiyun# Copyright 2020 Analog Devices Inc.
3*4882a593Smuzhiyun%YAML 1.2
4*4882a593Smuzhiyun---
5*4882a593Smuzhiyun$id: http://devicetree.org/schemas/iio/dac/adi,ad5770r.yaml#
6*4882a593Smuzhiyun$schema: http://devicetree.org/meta-schemas/core.yaml#
7*4882a593Smuzhiyun
8*4882a593Smuzhiyuntitle: Analog Devices AD5770R DAC device driver
9*4882a593Smuzhiyun
10*4882a593Smuzhiyunmaintainers:
11*4882a593Smuzhiyun  - Mircea Caprioru <mircea.caprioru@analog.com>
12*4882a593Smuzhiyun
13*4882a593Smuzhiyundescription: |
14*4882a593Smuzhiyun  Bindings for the Analog Devices AD5770R current DAC device. Datasheet can be
15*4882a593Smuzhiyun  found here:
16*4882a593Smuzhiyun    https://www.analog.com/media/en/technical-documentation/data-sheets/AD5770R.pdf
17*4882a593Smuzhiyun
18*4882a593Smuzhiyunproperties:
19*4882a593Smuzhiyun  compatible:
20*4882a593Smuzhiyun    enum:
21*4882a593Smuzhiyun      - adi,ad5770r
22*4882a593Smuzhiyun
23*4882a593Smuzhiyun  reg:
24*4882a593Smuzhiyun    maxItems: 1
25*4882a593Smuzhiyun
26*4882a593Smuzhiyun  avdd-supply:
27*4882a593Smuzhiyun    description:
28*4882a593Smuzhiyun      AVdd voltage supply. Represents two different supplies in the datasheet
29*4882a593Smuzhiyun      that are in fact the same.
30*4882a593Smuzhiyun
31*4882a593Smuzhiyun  iovdd-supply:
32*4882a593Smuzhiyun    description:
33*4882a593Smuzhiyun      Voltage supply for the chip interface.
34*4882a593Smuzhiyun
35*4882a593Smuzhiyun  vref-supply:
36*4882a593Smuzhiyun    description: Specify the voltage of the external reference used.
37*4882a593Smuzhiyun      Available reference options are 1.25 V or 2.5 V. If no
38*4882a593Smuzhiyun      external reference declared then the device will use the
39*4882a593Smuzhiyun      internal reference of 1.25 V.
40*4882a593Smuzhiyun
41*4882a593Smuzhiyun  adi,external-resistor:
42*4882a593Smuzhiyun    description: Specify if an external 2.5k ohm resistor is used. If not
43*4882a593Smuzhiyun      specified the device will use an internal 2.5k ohm resistor.
44*4882a593Smuzhiyun      The precision resistor is used for reference current generation.
45*4882a593Smuzhiyun    type: boolean
46*4882a593Smuzhiyun
47*4882a593Smuzhiyun  reset-gpios:
48*4882a593Smuzhiyun    description: GPIO spec for the RESET pin. If specified, it will be
49*4882a593Smuzhiyun      asserted during driver probe.
50*4882a593Smuzhiyun    maxItems: 1
51*4882a593Smuzhiyun
52*4882a593Smuzhiyun  spi-max-frequency: true
53*4882a593Smuzhiyun
54*4882a593Smuzhiyun  '#address-cells':
55*4882a593Smuzhiyun    const: 1
56*4882a593Smuzhiyun
57*4882a593Smuzhiyun  '#size-cells':
58*4882a593Smuzhiyun    const: 0
59*4882a593Smuzhiyun
60*4882a593Smuzhiyun  channel@0:
61*4882a593Smuzhiyun    description: Represents an external channel which are
62*4882a593Smuzhiyun      connected to the DAC. Channel 0 can act both as a current
63*4882a593Smuzhiyun      source and sink.
64*4882a593Smuzhiyun    type: object
65*4882a593Smuzhiyun
66*4882a593Smuzhiyun    properties:
67*4882a593Smuzhiyun      reg:
68*4882a593Smuzhiyun        description: This represents the channel number.
69*4882a593Smuzhiyun        const: 0
70*4882a593Smuzhiyun
71*4882a593Smuzhiyun      adi,range-microamp:
72*4882a593Smuzhiyun        description: Output range of the channel.
73*4882a593Smuzhiyun        oneOf:
74*4882a593Smuzhiyun          - items:
75*4882a593Smuzhiyun              - const: 0
76*4882a593Smuzhiyun              - const: 300000
77*4882a593Smuzhiyun          - items:
78*4882a593Smuzhiyun              - const: -60000
79*4882a593Smuzhiyun              - const: 0
80*4882a593Smuzhiyun          - items:
81*4882a593Smuzhiyun              - const: -60000
82*4882a593Smuzhiyun              - const: 300000
83*4882a593Smuzhiyun
84*4882a593Smuzhiyun  channel@1:
85*4882a593Smuzhiyun    description: Represents an external channel which are
86*4882a593Smuzhiyun      connected to the DAC.
87*4882a593Smuzhiyun    type: object
88*4882a593Smuzhiyun
89*4882a593Smuzhiyun    properties:
90*4882a593Smuzhiyun      reg:
91*4882a593Smuzhiyun        description: This represents the channel number.
92*4882a593Smuzhiyun        const: 1
93*4882a593Smuzhiyun
94*4882a593Smuzhiyun      adi,range-microamp:
95*4882a593Smuzhiyun        description: Output range of the channel.
96*4882a593Smuzhiyun        items:
97*4882a593Smuzhiyun          - const: 0
98*4882a593Smuzhiyun          - enum: [140000, 250000]
99*4882a593Smuzhiyun
100*4882a593Smuzhiyun  channel@2:
101*4882a593Smuzhiyun    description: Represents an external channel which are
102*4882a593Smuzhiyun      connected to the DAC.
103*4882a593Smuzhiyun    type: object
104*4882a593Smuzhiyun
105*4882a593Smuzhiyun    properties:
106*4882a593Smuzhiyun      reg:
107*4882a593Smuzhiyun        description: This represents the channel number.
108*4882a593Smuzhiyun        const: 2
109*4882a593Smuzhiyun
110*4882a593Smuzhiyun      adi,range-microamp:
111*4882a593Smuzhiyun        description: Output range of the channel.
112*4882a593Smuzhiyun        items:
113*4882a593Smuzhiyun          - const: 0
114*4882a593Smuzhiyun          - enum: [55000, 150000]
115*4882a593Smuzhiyun
116*4882a593SmuzhiyunpatternProperties:
117*4882a593Smuzhiyun  "^channel@([3-5])$":
118*4882a593Smuzhiyun    type: object
119*4882a593Smuzhiyun    description: Represents the external channels which are connected to the DAC.
120*4882a593Smuzhiyun    properties:
121*4882a593Smuzhiyun      reg:
122*4882a593Smuzhiyun        description: This represents the channel number.
123*4882a593Smuzhiyun        minimum: 3
124*4882a593Smuzhiyun        maximum: 5
125*4882a593Smuzhiyun
126*4882a593Smuzhiyun      adi,range-microamp:
127*4882a593Smuzhiyun        description: Output range of the channel.
128*4882a593Smuzhiyun        items:
129*4882a593Smuzhiyun          - const: 0
130*4882a593Smuzhiyun          - enum: [45000, 100000]
131*4882a593Smuzhiyun
132*4882a593Smuzhiyunrequired:
133*4882a593Smuzhiyun  - reg
134*4882a593Smuzhiyun  - channel@0
135*4882a593Smuzhiyun  - channel@1
136*4882a593Smuzhiyun  - channel@2
137*4882a593Smuzhiyun  - channel@3
138*4882a593Smuzhiyun  - channel@4
139*4882a593Smuzhiyun  - channel@5
140*4882a593Smuzhiyun
141*4882a593SmuzhiyunadditionalProperties: false
142*4882a593Smuzhiyun
143*4882a593Smuzhiyunexamples:
144*4882a593Smuzhiyun  - |
145*4882a593Smuzhiyun        spi {
146*4882a593Smuzhiyun                #address-cells = <1>;
147*4882a593Smuzhiyun                #size-cells = <0>;
148*4882a593Smuzhiyun
149*4882a593Smuzhiyun                ad5770r@0 {
150*4882a593Smuzhiyun                        compatible = "adi,ad5770r";
151*4882a593Smuzhiyun                        reg = <0>;
152*4882a593Smuzhiyun                        spi-max-frequency = <1000000>;
153*4882a593Smuzhiyun                        vref-supply = <&vref>;
154*4882a593Smuzhiyun                        adi,external-resistor;
155*4882a593Smuzhiyun                        reset-gpios = <&gpio 22 0>;
156*4882a593Smuzhiyun                        #address-cells = <1>;
157*4882a593Smuzhiyun                        #size-cells = <0>;
158*4882a593Smuzhiyun
159*4882a593Smuzhiyun                        channel@0 {
160*4882a593Smuzhiyun                                reg = <0>;
161*4882a593Smuzhiyun                                adi,range-microamp = <0 300000>;
162*4882a593Smuzhiyun                        };
163*4882a593Smuzhiyun
164*4882a593Smuzhiyun                        channel@1 {
165*4882a593Smuzhiyun                                reg = <1>;
166*4882a593Smuzhiyun                                adi,range-microamp = <0 140000>;
167*4882a593Smuzhiyun                        };
168*4882a593Smuzhiyun
169*4882a593Smuzhiyun                        channel@2 {
170*4882a593Smuzhiyun                                reg = <2>;
171*4882a593Smuzhiyun                                adi,range-microamp = <0 55000>;
172*4882a593Smuzhiyun                        };
173*4882a593Smuzhiyun
174*4882a593Smuzhiyun                        channel@3 {
175*4882a593Smuzhiyun                                reg = <3>;
176*4882a593Smuzhiyun                                adi,range-microamp = <0 45000>;
177*4882a593Smuzhiyun                        };
178*4882a593Smuzhiyun
179*4882a593Smuzhiyun                        channel@4 {
180*4882a593Smuzhiyun                                reg = <4>;
181*4882a593Smuzhiyun                                adi,range-microamp = <0 45000>;
182*4882a593Smuzhiyun                        };
183*4882a593Smuzhiyun
184*4882a593Smuzhiyun                        channel@5 {
185*4882a593Smuzhiyun                                reg = <5>;
186*4882a593Smuzhiyun                                adi,range-microamp = <0 45000>;
187*4882a593Smuzhiyun                        };
188*4882a593Smuzhiyun                };
189*4882a593Smuzhiyun        };
190*4882a593Smuzhiyun...
191