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,ad3552r.yaml (6058B)


      1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
      2# Copyright 2020 Analog Devices Inc.
      3%YAML 1.2
      4---
      5$id: http://devicetree.org/schemas/iio/dac/adi,ad3552r.yaml#
      6$schema: http://devicetree.org/meta-schemas/core.yaml#
      7
      8title: Analog Devices AD2552R DAC device driver
      9
     10maintainers:
     11  - Nuno Sá <nuno.sa@analog.com>
     12
     13description: |
     14  Bindings for the Analog Devices AD3552R DAC device and similar.
     15  Datasheet can be found here:
     16    https://www.analog.com/media/en/technical-documentation/data-sheets/ad3542r.pdf
     17    https://www.analog.com/media/en/technical-documentation/data-sheets/ad3552r.pdf
     18
     19properties:
     20  compatible:
     21    enum:
     22      - adi,ad3542r
     23      - adi,ad3552r
     24
     25  reg:
     26    maxItems: 1
     27
     28  spi-max-frequency:
     29    maximum: 30000000
     30
     31  reset-gpios:
     32    maxItems: 1
     33
     34  ldac-gpios:
     35    description: |
     36      LDAC pin to be used as a hardware trigger to update the DAC channels.
     37    maxItems: 1
     38
     39  vref-supply:
     40    description:
     41      The regulator to use as an external reference. If it does not exists the
     42      internal reference will be used. External reference must be 2.5V
     43
     44  adi,vref-out-en:
     45    description: Vref I/O driven by internal vref to 2.5V. If not set, Vref pin
     46      will be floating.
     47    type: boolean
     48
     49  adi,sdo-drive-strength:
     50    description: |
     51      Configure SDIO0 and SDIO1 strength levels:
     52        - 0: low SDO drive strength.
     53        - 1: medium low SDO drive strength.
     54        - 2: medium high SDO drive strength.
     55        - 3: high SDO drive strength
     56    $ref: /schemas/types.yaml#/definitions/uint32
     57    enum: [0, 1, 2, 3]
     58
     59  '#address-cells':
     60    const: 1
     61
     62  '#size-cells':
     63    const: 0
     64
     65patternProperties:
     66  "^channel@([0-1])$":
     67    type: object
     68    description: Configurations of the DAC Channels
     69
     70    additionalProperties: false
     71
     72    properties:
     73      reg:
     74        description: Channel number
     75        enum: [0, 1]
     76
     77      adi,output-range-microvolt: true
     78
     79      custom-output-range-config:
     80        type: object
     81        description: Configuration of custom range when
     82          adi,output-range-microvolt is not present.
     83          The formulas for calculation the output voltages are
     84            Vout_fs = 2.5 + [(GainN + Offset/1024) * 2.5 * Rfbx * 1.03]
     85            Vout_zs = 2.5 - [(GainP + Offset/1024) * 2.5 * Rfbx * 1.03]
     86
     87        properties:
     88          adi,gain-offset:
     89            description: Gain offset used in the above formula
     90            $ref: /schemas/types.yaml#/definitions/int32
     91            maximum: 511
     92            minimum: -511
     93
     94          adi,gain-scaling-p-inv-log2:
     95            description: GainP = 1 / ( 2 ^ adi,gain-scaling-p-inv-log2)
     96            $ref: /schemas/types.yaml#/definitions/uint32
     97            enum: [0, 1, 2, 3]
     98
     99          adi,gain-scaling-n-inv-log2:
    100            description: GainN = 1 / ( 2 ^ adi,gain-scaling-n-inv-log2)
    101            $ref: /schemas/types.yaml#/definitions/uint32
    102            enum: [0, 1, 2, 3]
    103
    104          adi,rfb-ohms:
    105            description: Feedback Resistor
    106
    107        required:
    108          - adi,gain-offset
    109          - adi,gain-scaling-p-inv-log2
    110          - adi,gain-scaling-n-inv-log2
    111          - adi,rfb-ohms
    112
    113    required:
    114      - reg
    115
    116    oneOf:
    117      # If adi,output-range-microvolt is missing,
    118      # custom-output-range-config must be used
    119      - required:
    120          - adi,output-range-microvolt
    121
    122      - required:
    123          - custom-output-range-config
    124
    125allOf:
    126  - if:
    127      properties:
    128        compatible:
    129          contains:
    130            const: adi,ad3542r
    131    then:
    132      patternProperties:
    133        "^channel@([0-1])$":
    134          type: object
    135          properties:
    136            adi,output-range-microvolt:
    137              description: |
    138                Voltage output range of the channel as <minimum, maximum>
    139                Required connections:
    140                  Rfb1x for: 0 to 2.5 V; 0 to 3V; 0 to 5 V;
    141                  Rfb2x for: 0 to 10 V; 2.5 to 7.5V; -5 to 5 V;
    142              oneOf:
    143                - items:
    144                    - const: 0
    145                    - enum: [2500000, 3000000, 5000000, 10000000]
    146                - items:
    147                    - const: -2500000
    148                    - const: 7500000
    149                - items:
    150                    - const: -5000000
    151                    - const: 5000000
    152
    153          required:
    154            - adi,output-range-microvolt
    155
    156  - if:
    157      properties:
    158        compatible:
    159          contains:
    160            const: adi,ad3552r
    161    then:
    162      patternProperties:
    163        "^channel@([0-1])$":
    164          type: object
    165          properties:
    166            adi,output-range-microvolt:
    167              description: |
    168                Voltage output range of the channel as <minimum, maximum>
    169                Required connections:
    170                  Rfb1x for: 0 to 2.5 V; 0 to 5 V;
    171                  Rfb2x for: 0 to 10 V; -5 to 5 V;
    172                  Rfb4x for: -10 to 10V
    173              oneOf:
    174                - items:
    175                    - const: 0
    176                    - enum: [2500000, 5000000, 10000000]
    177                - items:
    178                    - const: -5000000
    179                    - const: 5000000
    180                - items:
    181                    - const: -10000000
    182                    - const: 10000000
    183
    184required:
    185  - compatible
    186  - reg
    187  - spi-max-frequency
    188
    189additionalProperties: false
    190
    191examples:
    192  - |
    193    spi {
    194      #address-cells = <1>;
    195      #size-cells = <0>;
    196      ad3552r@0 {
    197              compatible = "adi,ad3552r";
    198              reg = <0>;
    199              spi-max-frequency = <20000000>;
    200              #address-cells = <1>;
    201              #size-cells = <0>;
    202              channel@0 {
    203                      reg = <0>;
    204                      adi,output-range-microvolt = <0 10000000>;
    205              };
    206              channel@1 {
    207                      reg = <1>;
    208                      custom-output-range-config {
    209                              adi,gain-offset = <5>;
    210                              adi,gain-scaling-p-inv-log2 = <1>;
    211                              adi,gain-scaling-n-inv-log2 = <2>;
    212                              adi,rfb-ohms = <1>;
    213                      };
    214            };
    215        };
    216    };
    217...