blob: 5121685337b5ed090d0a266ce8bc5154280f8ed3 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/iio/dac/adi,ad5758.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Analog Devices AD5758 DAC
8
9maintainers:
10 - Michael Hennerich <Michael.Hennerich@analog.com>
11
12properties:
13 compatible:
14 const: adi,ad5758
15
16 reg:
17 maxItems: 1
18
19 spi-cpha: true
20
21 adi,dc-dc-mode:
22 $ref: /schemas/types.yaml#/definitions/uint32
23 enum: [1, 2, 3]
24 description: |
25 Mode of operation of the dc-to-dc converter
26 Dynamic Power Control (DPC)
27 In this mode, the AD5758 circuitry senses the output voltage and
28 dynamically regulates the supply voltage, VDPC+, to meet compliance
29 requirements plus an optimized headroom voltage for the output buffer.
30
31 Programmable Power Control (PPC)
32 In this mode, the VDPC+ voltage is user-programmable to a fixed level
33 that needs to accommodate the maximum output load required.
34
35 The output of the DAC core is either converted to a current or
36 voltage output at the VIOUT pin. Only one mode can be enabled at
37 any one time.
38
39 The following values are currently supported:
40 * 1: DPC current mode
41 * 2: DPC voltage mode
42 * 3: PPC current mode
43
44 Depending on the selected output mode (voltage or current) one of the
45 two properties must be present:
46
47 adi,range-microvolt:
48 description: |
49 Voltage output range specified as <minimum, maximum>
50 oneOf:
51 - items:
52 - const: 0
53 - enum: [5000000, 10000000]
54 - items:
55 - const: -5000000
56 - const: 5000000
57 - items:
58 - const: -10000000
59 - const: 10000000
60
61 adi,range-microamp:
62 description: |
63 Current output range specified as <minimum, maximum>
64 oneOf:
65 - items:
66 - const: 0
67 - enum: [20000, 24000]
68 - items:
69 - const: 4
70 - const: 24000
71 - items:
72 - const: -20000
73 - const: 20000
74 - items:
75 - const: -24000
76 - const: 24000
77 - items:
78 - const: -1000
79 - const: 22000
80
81 reset-gpios:
82 maxItems: 1
83
84 adi,dc-dc-ilim-microamp:
85 enum: [150000, 200000, 250000, 300000, 350000, 400000]
86 description: |
87 The dc-to-dc converter current limit.
88
89 adi,slew-time-us:
90 description: |
91 The time it takes for the output to reach the full scale [uS]
92 minimum: 133
93 maximum: 1023984375
94
95required:
96 - compatible
97 - reg
98 - spi-cpha
99 - adi,dc-dc-mode
100
101allOf:
102 - $ref: /schemas/spi/spi-peripheral-props.yaml#
103 - if:
104 properties:
105 adi,dc-dc-mode:
106 enum: [1, 3]
107 then:
108 properties:
109 adi,range-microvolt: false
110 required:
111 - adi,range-microamp
112 else:
113 properties:
114 adi,range-microamp: false
115 required:
116 - adi,range-microvolt
117
118unevaluatedProperties: false
119
120examples:
121 - |
122 spi {
123 #address-cells = <1>;
124 #size-cells = <0>;
125
126 dac@0 {
127 compatible = "adi,ad5758";
128 reg = <0>;
129 spi-max-frequency = <1000000>;
130 spi-cpha;
131
132 reset-gpios = <&gpio 22 0>;
133
134 adi,dc-dc-mode = <2>;
135 adi,range-microvolt = <0 10000000>;
136 adi,dc-dc-ilim-microamp = <200000>;
137 adi,slew-time-us = <125000>;
138 };
139 };
140...