| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/iio/dac/adi,ltc2688.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Analog Devices LTC2688 DAC |
| |
| maintainers: |
| - Nuno Sá <nuno.sa@analog.com> |
| |
| description: | |
| Analog Devices LTC2688 16 channel, 16 bit, +-15V DAC |
| https://www.analog.com/media/en/technical-documentation/data-sheets/ltc2688.pdf |
| |
| properties: |
| compatible: |
| enum: |
| - adi,ltc2688 |
| |
| reg: |
| maxItems: 1 |
| |
| vcc-supply: |
| description: Analog Supply Voltage Input. |
| |
| iovcc-supply: |
| description: Digital Input/Output Supply Voltage. |
| |
| vref-supply: |
| description: |
| Reference Input/Output. The voltage at the REF pin sets the full-scale |
| range of all channels. If not provided the internal reference is used and |
| also provided on the VREF pin". |
| |
| clr-gpios: |
| description: |
| If specified, it will be asserted during driver probe. As the line is |
| active low, it should be marked GPIO_ACTIVE_LOW. |
| maxItems: 1 |
| |
| '#address-cells': |
| const: 1 |
| |
| '#size-cells': |
| const: 0 |
| |
| patternProperties: |
| "^channel@([0-9]|1[0-5])$": |
| type: object |
| additionalProperties: false |
| |
| properties: |
| reg: |
| description: The channel number representing the DAC output channel. |
| maximum: 15 |
| |
| adi,toggle-mode: |
| description: |
| Set the channel as a toggle enabled channel. Toggle operation enables |
| fast switching of a DAC output between two different DAC codes without |
| any SPI transaction. |
| type: boolean |
| |
| adi,output-range-microvolt: |
| description: Specify the channel output full scale range. |
| oneOf: |
| - items: |
| - const: 0 |
| - enum: [5000000, 10000000] |
| - items: |
| - const: -5000000 |
| - const: 5000000 |
| - items: |
| - const: -10000000 |
| - const: 10000000 |
| - items: |
| - const: -15000000 |
| - const: 15000000 |
| |
| adi,overrange: |
| description: Enable 5% overrange over the selected full scale range. |
| type: boolean |
| |
| clocks: |
| maxItems: 1 |
| |
| adi,toggle-dither-input: |
| description: |
| Selects the TGPx pin to be associated with this channel. This setting |
| only makes sense for toggle or dither enabled channels. If |
| @adi,toggle-mode is not set and this property is given, the channel is |
| assumed to be a dither capable channel. Note that multiple channels |
| can be mapped to the same pin. If this setting is given, the |
| respective @clock must also be provided. Mappings between this and |
| input pins |
| 0 - TGP1 |
| 1 - TGP2 |
| 2 - TGP3 |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| enum: [0, 1, 2] |
| |
| dependencies: |
| adi,toggle-dither-input: [ clocks ] |
| |
| required: |
| - reg |
| |
| required: |
| - compatible |
| - reg |
| |
| additionalProperties: false |
| |
| examples: |
| - | |
| |
| spi { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| ltc2688: ltc2688@0 { |
| compatible = "adi,ltc2688"; |
| reg = <0>; |
| |
| vcc-supply = <&vcc>; |
| iovcc-supply = <&vcc>; |
| vref-supply = <&vref>; |
| |
| #address-cells = <1>; |
| #size-cells = <0>; |
| channel@0 { |
| reg = <0>; |
| adi,toggle-mode; |
| adi,overrange; |
| }; |
| |
| channel@1 { |
| reg = <1>; |
| adi,output-range-microvolt = <0 10000000>; |
| |
| clocks = <&clock_tgp3>; |
| adi,toggle-dither-input = <2>; |
| }; |
| }; |
| }; |
| |
| ... |