cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

adi,ad5592r.yaml (5310B)


      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...