Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/iio/dac/adi,ltc2688.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: Analog Devices LTC2688 DAC
0008 
0009 maintainers:
0010   - Nuno Sá <nuno.sa@analog.com>
0011 
0012 description: |
0013   Analog Devices LTC2688 16 channel, 16 bit, +-15V DAC
0014   https://www.analog.com/media/en/technical-documentation/data-sheets/ltc2688.pdf
0015 
0016 properties:
0017   compatible:
0018     enum:
0019       - adi,ltc2688
0020 
0021   reg:
0022     maxItems: 1
0023 
0024   vcc-supply:
0025     description: Analog Supply Voltage Input.
0026 
0027   iovcc-supply:
0028     description: Digital Input/Output Supply Voltage.
0029 
0030   vref-supply:
0031     description:
0032       Reference Input/Output. The voltage at the REF pin sets the full-scale
0033       range of all channels. If not provided the internal reference is used and
0034       also provided on the VREF pin".
0035 
0036   clr-gpios:
0037     description:
0038       If specified, it will be asserted during driver probe. As the line is
0039       active low, it should be marked GPIO_ACTIVE_LOW.
0040     maxItems: 1
0041 
0042   '#address-cells':
0043     const: 1
0044 
0045   '#size-cells':
0046     const: 0
0047 
0048 patternProperties:
0049   "^channel@([0-9]|1[0-5])$":
0050     type: object
0051 
0052     properties:
0053       reg:
0054         description: The channel number representing the DAC output channel.
0055         maximum: 15
0056 
0057       adi,toggle-mode:
0058         description:
0059           Set the channel as a toggle enabled channel. Toggle operation enables
0060           fast switching of a DAC output between two different DAC codes without
0061           any SPI transaction.
0062         type: boolean
0063 
0064       adi,output-range-microvolt:
0065         description: Specify the channel output full scale range.
0066         oneOf:
0067           - items:
0068               - const: 0
0069               - enum: [5000000, 10000000]
0070           - items:
0071               - const: -5000000
0072               - const: 5000000
0073           - items:
0074               - const: -10000000
0075               - const: 10000000
0076           - items:
0077               - const: -15000000
0078               - const: 15000000
0079 
0080       adi,overrange:
0081         description: Enable 5% overrange over the selected full scale range.
0082         type: boolean
0083 
0084       clocks:
0085         maxItems: 1
0086 
0087       adi,toggle-dither-input:
0088         description:
0089           Selects the TGPx pin to be associated with this channel. This setting
0090           only makes sense for toggle or dither enabled channels. If
0091           @adi,toggle-mode is not set and this property is given, the channel is
0092           assumed to be a dither capable channel. Note that multiple channels
0093           can be mapped to the same pin. If this setting is given, the
0094           respective @clock must also be provided. Mappings between this and
0095           input pins
0096             0 - TGP1
0097             1 - TGP2
0098             2 - TGP3
0099         $ref: /schemas/types.yaml#/definitions/uint32
0100         enum: [0, 1, 2]
0101 
0102     dependencies:
0103       adi,toggle-dither-input: [ clocks ]
0104 
0105     required:
0106       - reg
0107 
0108 required:
0109   - compatible
0110   - reg
0111 
0112 additionalProperties: false
0113 
0114 examples:
0115   - |
0116 
0117     spi {
0118           #address-cells = <1>;
0119           #size-cells = <0>;
0120           ltc2688: ltc2688@0 {
0121                   compatible = "adi,ltc2688";
0122                   reg = <0>;
0123 
0124                   vcc-supply = <&vcc>;
0125                   iovcc-supply = <&vcc>;
0126                   vref-supply = <&vref>;
0127 
0128                   #address-cells = <1>;
0129                   #size-cells = <0>;
0130                   channel@0 {
0131                           reg = <0>;
0132                           adi,toggle-mode;
0133                           adi,overrange;
0134                   };
0135 
0136                   channel@1 {
0137                           reg = <1>;
0138                           adi,output-range-microvolt = <0 10000000>;
0139 
0140                           clocks = <&clock_tgp3>;
0141                           adi,toggle-dither-input = <2>;
0142                   };
0143           };
0144     };
0145 
0146 ...