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