File Index
Files and directories
Sign in
FILE

adi,ad5592r.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/iio/dac/adi,ad5592r.yaml YAML
  1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/iio/dac/adi,ad5592r.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: Analog Devices AD5592R/AD5593R DAC/ADC
  8
  9maintainers:
 10  - Michael Hennerich <michael.hennerich@analog.com>
 11
 12properties:
 13  compatible:
 14    enum:
 15      - adi,ad5592r
 16      - adi,ad5593r
 17
 18  reg:
 19    maxItems: 1
 20
 21  spi-max-frequency:
 22    maximum: 30000000
 23
 24  spi-cpol: true
 25
 26  "#address-cells":
 27    const: 1
 28
 29  "#size-cells":
 30    const: 0
 31
 32  "#io-channel-cells":
 33    const: 1
 34
 35  vref-supply:
 36    description: If not set internal 2.5V reference used.
 37
 38  reset-gpios:
 39    maxItems: 1
 40
 41  gpio-controller:
 42    description: Marks the device node as a GPIO controller.
 43
 44  "#gpio-cells":
 45    const: 2
 46    description:
 47      The first cell is the GPIO number and the second cell specifies
 48      GPIO flags, as defined in <dt-bindings/gpio/gpio.h>.
 49
 50required:
 51  - compatible
 52  - reg
 53  - "#address-cells"
 54  - "#size-cells"
 55
 56allOf:
 57  - if:
 58      properties:
 59        compatible:
 60          contains:
 61            const: adi,ad5592r
 62    then:
 63      required:
 64        - spi-cpol
 65    else:
 66      properties:
 67        spi-cpol: false
 68
 69additionalProperties: false
 70
 71patternProperties:
 72  "^(channel@)[0-7]$":
 73    type: object
 74    description: Child node to describe a channel
 75    properties:
 76      reg:
 77        minimum: 0
 78        maximum: 7
 79
 80      adi,mode:
 81        $ref: /schemas/types.yaml#/definitions/uint32
 82        enum: [0, 1, 2, 3, 8]
 83        description: |
 84          Mode or function of this channel.
 85          Macros specifying the valid values can be found in
 86          <dt-bindings/iio/adi,ad5592r.h>.
 87
 88          The following values are currently supported:
 89          * CH_MODE_UNUSED (the pin is unused)
 90          * CH_MODE_ADC (the pin is ADC input)
 91          * CH_MODE_DAC (the pin is DAC output)
 92          * CH_MODE_DAC_AND_ADC (the pin is DAC output but can be monitored
 93            by an ADC, since there is no disadvantage this should be
 94            considered as the preferred DAC mode)
 95          * CH_MODE_GPIO (the pin is registered with GPIOLIB)
 96
 97      adi,off-state:
 98        $ref: /schemas/types.yaml#/definitions/uint32
 99        enum: [0, 1, 2, 3]
100        description: |
101          State of this channel when unused or the device gets removed.
102          Macros specifying the  valid values can be found in
103          <dt-bindings/iio/adi,ad5592r.h>.
104          * CH_OFFSTATE_PULLDOWN (the pin is pulled down)
105          * CH_OFFSTATE_OUT_LOW  (the pin is output low)
106          * CH_OFFSTATE_OUT_HIGH (the pin is output high)
107          * CH_OFFSTATE_OUT_TRISTATE (the pin is tristated output)
108
109    required:
110      - reg
111      - adi,mode
112
113    additionalProperties: false
114
115examples:
116  - |
117    #include <dt-bindings/iio/adi,ad5592r.h>
118    spi {
119        #address-cells = <1>;
120        #size-cells = <0>;
121
122        addac@0 {
123            compatible = "adi,ad5592r";
124            #size-cells = <0>;
125            #address-cells = <1>;
126            #gpio-cells = <2>;
127            reg = <0>;
128
129            spi-max-frequency = <1000000>;
130            spi-cpol;
131
132            vref-supply = <&vref>;
133            reset-gpios = <&gpio0 86 0>;
134            gpio-controller;
135
136            channel@0 {
137                reg = <0>;
138                adi,mode = <CH_MODE_DAC>;
139            };
140            channel@1 {
141                reg = <1>;
142                adi,mode = <CH_MODE_ADC>;
143            };
144            channel@2 {
145                reg = <2>;
146                adi,mode = <CH_MODE_DAC_AND_ADC>;
147            };
148            channel@3 {
149                reg = <3>;
150                adi,mode = <CH_MODE_DAC_AND_ADC>;
151                adi,off-state = <CH_OFFSTATE_PULLDOWN>;
152            };
153            channel@4 {
154                reg = <4>;
155                adi,mode = <CH_MODE_UNUSED>;
156                adi,off-state = <CH_OFFSTATE_PULLDOWN>;
157            };
158            channel@5 {
159                reg = <5>;
160                adi,mode = <CH_MODE_GPIO>;
161                adi,off-state = <CH_OFFSTATE_PULLDOWN>;
162            };
163            channel@6 {
164                reg = <6>;
165                adi,mode = <CH_MODE_GPIO>;
166                adi,off-state = <CH_OFFSTATE_PULLDOWN>;
167            };
168            channel@7 {
169                reg = <7>;
170                adi,mode = <CH_MODE_GPIO>;
171                adi,off-state = <CH_OFFSTATE_PULLDOWN>;
172            };
173        };
174        ad5593r@10 {
175            compatible = "adi,ad5593r";
176            #size-cells = <0>;
177            #address-cells = <1>;
178            #gpio-cells = <2>;
179            reg = <0x10>;
180            gpio-controller;
181
182            channel@0 {
183                reg = <0>;
184                adi,mode = <CH_MODE_DAC>;
185                adi,off-state = <CH_OFFSTATE_PULLDOWN>;
186            };
187            channel@1 {
188                reg = <1>;
189                adi,mode = <CH_MODE_ADC>;
190                adi,off-state = <CH_OFFSTATE_PULLDOWN>;
191            };
192            channel@2 {
193                reg = <2>;
194                adi,mode = <CH_MODE_DAC_AND_ADC>;
195                adi,off-state = <CH_OFFSTATE_PULLDOWN>;
196            };
197            channel@6 {
198                reg = <6>;
199                adi,mode = <CH_MODE_GPIO>;
200                adi,off-state = <CH_OFFSTATE_PULLDOWN>;
201            };
202        };
203    };
204...
~/ Read-only file preview.