| # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/iio/dac/adi,ad5755.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Analog Devices AD5755 Multi-Channel DAC |
| |
| maintainers: |
| - Sean Nyekjaer <sean.nyekjaer@prevas.dk> |
| |
| properties: |
| compatible: |
| enum: |
| - adi,ad5755 |
| - adi,ad5755-1 |
| - adi,ad5757 |
| - adi,ad5735 |
| - adi,ad5737 |
| |
| reg: |
| maxItems: 1 |
| |
| spi-cpha: |
| description: Either this or spi-cpol but not both. |
| spi-cpol: true |
| |
| spi-max-frequency: true |
| |
| adi,ext-dc-dc-compenstation-resistor: |
| $ref: /schemas/types.yaml#/definitions/flag |
| description: |
| Set if the hardware have an external resistor and thereby bypasses |
| the internal compensation resistor. |
| |
| adi,dc-dc-phase: |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| enum: [0, 1, 2, 3] |
| description: | |
| Valid values for DC DC Phase control is: |
| 0: All dc-to-dc converters clock on the same edge. |
| 1: Channel A and Channel B clock on the same edge, |
| Channel C and Channel D clock on opposite edges. |
| 2: Channel A and Channel C clock on the same edge, |
| Channel B and Channel D clock on opposite edges. |
| 3: Channel A, Channel B, Channel C, and Channel D |
| clock 90 degrees out of phase from each other. |
| |
| adi,dc-dc-freq-hz: |
| enum: [250000, 410000, 650000] |
| |
| adi,dc-dc-max-microvolt: |
| description: |
| Maximum allowed Vboost voltage supplied by the dc-to-dc converter. |
| enum: [23000000, 24500000, 27000000, 29500000] |
| |
| "#address-cells": |
| const: 1 |
| |
| "#size-cells": |
| const: 0 |
| |
| "#io-channel-cells": |
| const: 1 |
| |
| required: |
| - compatible |
| - reg |
| |
| additionalProperties: false |
| |
| patternProperties: |
| "^channel@[0-7]$": |
| type: object |
| description: Child node to describe a channel |
| properties: |
| reg: |
| maxItems: 1 |
| |
| adi,mode: |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| minimum: 0 |
| maximum: 6 |
| description: | |
| Valid values for DAC modes is: |
| 0: 0 V to 5 V voltage range. |
| 1: 0 V to 10 V voltage range. |
| 2: Plus minus 5 V voltage range. |
| 3: Plus minus 10 V voltage range. |
| 4: 4 mA to 20 mA current range. |
| 5: 0 mA to 20 mA current range. |
| 6: 0 mA to 24 mA current range. |
| |
| adi,ext-current-sense-resistor: |
| $ref: /schemas/types.yaml#/definitions/flag |
| description: |
| Set if the hardware has an external current sense resistor |
| |
| adi,enable-voltage-overrange: |
| $ref: /schemas/types.yaml#/definitions/flag |
| description: Enable voltage overrange |
| |
| adi,slew: |
| $ref: /schemas/types.yaml#/definitions/uint32-array |
| description: | |
| Array of slewrate settings should contain 3 fields: |
| 1: Should be either 0 or 1 in order to enable or disable slewrate. |
| 2: Slew rate update frequency |
| 3: Slew step size |
| items: |
| - enum: [0, 1] |
| - enum: [64000, 32000, 16000, 8000, 4000, 2000, 1000, 500, 250, 125, 64, 32, 16, 8, 4, 0] |
| - enum: [1, 2, 4, 16, 32, 64, 128, 256] |
| |
| required: |
| - reg |
| |
| additionalProperties: false |
| |
| oneOf: |
| - required: |
| - spi-cpha |
| - required: |
| - spi-cpol |
| |
| examples: |
| - | |
| #include <dt-bindings/iio/adi,ad5592r.h> |
| spi { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| dac@0 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| compatible = "adi,ad5755"; |
| reg = <0>; |
| spi-max-frequency = <1000000>; |
| spi-cpha; |
| adi,dc-dc-phase = <0>; |
| adi,dc-dc-freq-hz = <410000>; |
| adi,dc-dc-max-microvolt = <23000000>; |
| channel@0 { |
| reg = <0>; |
| adi,mode = <4>; |
| adi,ext-current-sense-resistor; |
| adi,slew = <0 64000 1>; |
| }; |
| channel@1 { |
| reg = <1>; |
| adi,mode = <4>; |
| adi,ext-current-sense-resistor; |
| adi,slew = <0 64000 1>; |
| }; |
| channel@2 { |
| reg = <2>; |
| adi,mode = <4>; |
| adi,ext-current-sense-resistor; |
| adi,slew = <0 64000 1>; |
| }; |
| channel@3 { |
| reg = <3>; |
| adi,mode = <4>; |
| adi,ext-current-sense-resistor; |
| adi,slew = <0 64000 1>; |
| }; |
| }; |
| }; |
| ... |