148 lines
3.6 KiB
YAML
148 lines
3.6 KiB
YAML
|
# 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>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
...
|