blob: f22ef710ecde58235107ccb140b02bc71b0794a2 [file] [log] [blame]
# 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>;
};
};
};
...