brintos

brintos / linux-shallow public Read only

0
0
Text · 5.2 KiB · 3019488 Raw
205 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)2%YAML 1.23---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/ADC8 9maintainers:10  - Michael Hennerich <michael.hennerich@analog.com>11 12properties:13  compatible:14    enum:15      - adi,ad5592r16      - adi,ad5593r17 18  reg:19    maxItems: 120 21  spi-max-frequency:22    maximum: 3000000023 24  spi-cpol: true25 26  "#address-cells":27    const: 128 29  "#size-cells":30    const: 031 32  "#io-channel-cells":33    const: 134 35  vref-supply:36    description: If not set internal 2.5V reference used.37 38  reset-gpios:39    maxItems: 140 41  gpio-controller:42    description: Marks the device node as a GPIO controller.43 44  "#gpio-cells":45    const: 246    description:47      The first cell is the GPIO number and the second cell specifies48      GPIO flags, as defined in <dt-bindings/gpio/gpio.h>.49 50required:51  - compatible52  - reg53  - "#address-cells"54  - "#size-cells"55 56allOf:57  - if:58      properties:59        compatible:60          contains:61            const: adi,ad5592r62    then:63      required:64        - spi-cpol65    else:66      properties:67        spi-cpol: false68 69additionalProperties: false70 71patternProperties:72  "^(channel@)[0-7]$":73    type: object74    description: Child node to describe a channel75    properties:76      reg:77        minimum: 078        maximum: 779 80      adi,mode:81        $ref: /schemas/types.yaml#/definitions/uint3282        enum: [0, 1, 2, 3, 8]83        description: |84          Mode or function of this channel.85          Macros specifying the valid values can be found in86          <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 monitored93            by an ADC, since there is no disadvantage this should be94            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/uint3299        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 in103          <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      - reg111      - adi,mode112 113    additionalProperties: false114 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...205