The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/iio/dac/adi,ad3552r.yaml

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    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 
    8 title: Analog Devices AD2552R DAC device driver
    9 
   10 maintainers:
   11   - Nuno Sá <nuno.sa@analog.com>
   12 
   13 description: |
   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 
   19 properties:
   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 
   65 patternProperties:
   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 
  125 allOf:
  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 
  184 required:
  185   - compatible
  186   - reg
  187   - spi-max-frequency
  188 
  189 additionalProperties: false
  190 
  191 examples:
  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 ...

Cache object: 0810a1453560c006725955932c03e7b4


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.