xref: /linux/Documentation/devicetree/bindings/iio/dac/adi,ltc2688.yaml (revision f568cbd9aef24a02b22884d92c154f3af076b383)
1*f568cbd9SNuno Sá# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*f568cbd9SNuno Sá%YAML 1.2
3*f568cbd9SNuno Sá---
4*f568cbd9SNuno Sá$id: http://devicetree.org/schemas/iio/dac/adi,ltc2688.yaml#
5*f568cbd9SNuno Sá$schema: http://devicetree.org/meta-schemas/core.yaml#
6*f568cbd9SNuno Sá
7*f568cbd9SNuno Sátitle: Analog Devices LTC2688 DAC
8*f568cbd9SNuno Sá
9*f568cbd9SNuno Sámaintainers:
10*f568cbd9SNuno Sá  - Nuno Sá <nuno.sa@analog.com>
11*f568cbd9SNuno Sá
12*f568cbd9SNuno Sádescription: |
13*f568cbd9SNuno Sá  Analog Devices LTC2688 16 channel, 16 bit, +-15V DAC
14*f568cbd9SNuno Sá  https://www.analog.com/media/en/technical-documentation/data-sheets/ltc2688.pdf
15*f568cbd9SNuno Sá
16*f568cbd9SNuno Sáproperties:
17*f568cbd9SNuno Sá  compatible:
18*f568cbd9SNuno Sá    enum:
19*f568cbd9SNuno Sá      - adi,ltc2688
20*f568cbd9SNuno Sá
21*f568cbd9SNuno Sá  reg:
22*f568cbd9SNuno Sá    maxItems: 1
23*f568cbd9SNuno Sá
24*f568cbd9SNuno Sá  vcc-supply:
25*f568cbd9SNuno Sá    description: Analog Supply Voltage Input.
26*f568cbd9SNuno Sá
27*f568cbd9SNuno Sá  iovcc-supply:
28*f568cbd9SNuno Sá    description: Digital Input/Output Supply Voltage.
29*f568cbd9SNuno Sá
30*f568cbd9SNuno Sá  vref-supply:
31*f568cbd9SNuno Sá    description:
32*f568cbd9SNuno Sá      Reference Input/Output. The voltage at the REF pin sets the full-scale
33*f568cbd9SNuno Sá      range of all channels. If not provided the internal reference is used and
34*f568cbd9SNuno Sá      also provided on the VREF pin".
35*f568cbd9SNuno Sá
36*f568cbd9SNuno Sá  clr-gpios:
37*f568cbd9SNuno Sá    description:
38*f568cbd9SNuno Sá      If specified, it will be asserted during driver probe. As the line is
39*f568cbd9SNuno Sá      active low, it should be marked GPIO_ACTIVE_LOW.
40*f568cbd9SNuno Sá    maxItems: 1
41*f568cbd9SNuno Sá
42*f568cbd9SNuno Sá  '#address-cells':
43*f568cbd9SNuno Sá    const: 1
44*f568cbd9SNuno Sá
45*f568cbd9SNuno Sá  '#size-cells':
46*f568cbd9SNuno Sá    const: 0
47*f568cbd9SNuno Sá
48*f568cbd9SNuno SápatternProperties:
49*f568cbd9SNuno Sá  "^channel@([0-9]|1[0-5])$":
50*f568cbd9SNuno Sá    type: object
51*f568cbd9SNuno Sá
52*f568cbd9SNuno Sá    properties:
53*f568cbd9SNuno Sá      reg:
54*f568cbd9SNuno Sá        description: The channel number representing the DAC output channel.
55*f568cbd9SNuno Sá        maximum: 15
56*f568cbd9SNuno Sá
57*f568cbd9SNuno Sá      adi,toggle-mode:
58*f568cbd9SNuno Sá        description:
59*f568cbd9SNuno Sá          Set the channel as a toggle enabled channel. Toggle operation enables
60*f568cbd9SNuno Sá          fast switching of a DAC output between two different DAC codes without
61*f568cbd9SNuno Sá          any SPI transaction.
62*f568cbd9SNuno Sá        type: boolean
63*f568cbd9SNuno Sá
64*f568cbd9SNuno Sá      adi,output-range-microvolt:
65*f568cbd9SNuno Sá        description: Specify the channel output full scale range.
66*f568cbd9SNuno Sá        oneOf:
67*f568cbd9SNuno Sá          - items:
68*f568cbd9SNuno Sá              - const: 0
69*f568cbd9SNuno Sá              - enum: [5000000, 10000000]
70*f568cbd9SNuno Sá          - items:
71*f568cbd9SNuno Sá              - const: -5000000
72*f568cbd9SNuno Sá              - const: 5000000
73*f568cbd9SNuno Sá          - items:
74*f568cbd9SNuno Sá              - const: -10000000
75*f568cbd9SNuno Sá              - const: 10000000
76*f568cbd9SNuno Sá          - items:
77*f568cbd9SNuno Sá              - const: -15000000
78*f568cbd9SNuno Sá              - const: 15000000
79*f568cbd9SNuno Sá
80*f568cbd9SNuno Sá      adi,overrange:
81*f568cbd9SNuno Sá        description: Enable 5% overrange over the selected full scale range.
82*f568cbd9SNuno Sá        type: boolean
83*f568cbd9SNuno Sá
84*f568cbd9SNuno Sá      clocks:
85*f568cbd9SNuno Sá        maxItems: 1
86*f568cbd9SNuno Sá
87*f568cbd9SNuno Sá      adi,toggle-dither-input:
88*f568cbd9SNuno Sá        description:
89*f568cbd9SNuno Sá          Selects the TGPx pin to be associated with this channel. This setting
90*f568cbd9SNuno Sá          only makes sense for toggle or dither enabled channels. If
91*f568cbd9SNuno Sá          @adi,toggle-mode is not set and this property is given, the channel is
92*f568cbd9SNuno Sá          assumed to be a dither capable channel. Note that multiple channels
93*f568cbd9SNuno Sá          can be mapped to the same pin. If this setting is given, the
94*f568cbd9SNuno Sá          respective @clock must also be provided. Mappings between this and
95*f568cbd9SNuno Sá          input pins
96*f568cbd9SNuno Sá            0 - TGP1
97*f568cbd9SNuno Sá            1 - TGP2
98*f568cbd9SNuno Sá            2 - TGP3
99*f568cbd9SNuno Sá        $ref: /schemas/types.yaml#/definitions/uint32
100*f568cbd9SNuno Sá        enum: [0, 1, 2]
101*f568cbd9SNuno Sá
102*f568cbd9SNuno Sá    dependencies:
103*f568cbd9SNuno Sá      adi,toggle-dither-input: [ clocks ]
104*f568cbd9SNuno Sá
105*f568cbd9SNuno Sá    required:
106*f568cbd9SNuno Sá      - reg
107*f568cbd9SNuno Sá
108*f568cbd9SNuno Sárequired:
109*f568cbd9SNuno Sá  - compatible
110*f568cbd9SNuno Sá  - reg
111*f568cbd9SNuno Sá
112*f568cbd9SNuno SáadditionalProperties: false
113*f568cbd9SNuno Sá
114*f568cbd9SNuno Sáexamples:
115*f568cbd9SNuno Sá  - |
116*f568cbd9SNuno Sá
117*f568cbd9SNuno Sá    spi {
118*f568cbd9SNuno Sá          #address-cells = <1>;
119*f568cbd9SNuno Sá          #size-cells = <0>;
120*f568cbd9SNuno Sá          ltc2688: ltc2688@0 {
121*f568cbd9SNuno Sá                  compatible = "adi,ltc2688";
122*f568cbd9SNuno Sá                  reg = <0>;
123*f568cbd9SNuno Sá
124*f568cbd9SNuno Sá                  vcc-supply = <&vcc>;
125*f568cbd9SNuno Sá                  iovcc-supply = <&vcc>;
126*f568cbd9SNuno Sá                  vref-supply = <&vref>;
127*f568cbd9SNuno Sá
128*f568cbd9SNuno Sá                  #address-cells = <1>;
129*f568cbd9SNuno Sá                  #size-cells = <0>;
130*f568cbd9SNuno Sá                  channel@0 {
131*f568cbd9SNuno Sá                          reg = <0>;
132*f568cbd9SNuno Sá                          adi,toggle-mode;
133*f568cbd9SNuno Sá                          adi,overrange;
134*f568cbd9SNuno Sá                  };
135*f568cbd9SNuno Sá
136*f568cbd9SNuno Sá                  channel@1 {
137*f568cbd9SNuno Sá                          reg = <1>;
138*f568cbd9SNuno Sá                          adi,output-range-microvolt = <0 10000000>;
139*f568cbd9SNuno Sá
140*f568cbd9SNuno Sá                          clocks = <&clock_tgp3>;
141*f568cbd9SNuno Sá                          adi,toggle-dither-input = <2>;
142*f568cbd9SNuno Sá                  };
143*f568cbd9SNuno Sá          };
144*f568cbd9SNuno Sá    };
145*f568cbd9SNuno Sá
146*f568cbd9SNuno Sá...
147