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