0001 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/iio/dac/adi,ad5064.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Analog Devices AD5064 and similar DACs
0008
0009 maintainers:
0010 - Lars-Peter Clausen <lars@metafoo.de>
0011 - Jonathan Cameron <jic23@kernel.org>
0012
0013 description: |
0014 A range of similar DAC devices with between 1 and 12 channels. Some parts
0015 have internal references, others require a single shared external reference
0016 and the remainder have a separate reference pin for each DAC.
0017
0018 properties:
0019 compatible:
0020 oneOf:
0021 - description: I2C devics
0022 enum:
0023 - adi,ad5024
0024 - adi,ad5025
0025 - adi,ad5044
0026 - adi,ad5045
0027 - adi,ad5064
0028 - adi,ad5064-1
0029 - adi,ad5065
0030 - adi,ad5628-1
0031 - adi,ad5628-2
0032 - adi,ad5648-1
0033 - adi,ad5648-2
0034 - adi,ad5666-1
0035 - adi,ad5666-2
0036 - adi,ad5668-1
0037 - adi,ad5668-2
0038 - adi,ad5668-3
0039 - description: SPI devices
0040 enum:
0041 - adi,ad5625
0042 - adi,ad5625r-1v25
0043 - adi,ad5625r-2v5
0044 - adi,ad5627
0045 - adi,ad5627r-1v25
0046 - adi,ad5627r-2v5
0047 - adi,ad5629-1
0048 - adi,ad5629-2
0049 - adi,ad5629-3
0050 - adi,ad5645r-1v25
0051 - adi,ad5645r-2v5
0052 - adi,ad5665
0053 - adi,ad5665r-1v25
0054 - adi,ad5665r-2v5
0055 - adi,ad5667
0056 - adi,ad5667r-1v25
0057 - adi,ad5667r-2v5
0058 - adi,ad5669-1
0059 - adi,ad5669-2
0060 - adi,ad5669-3
0061 - lltc,ltc2606
0062 - lltc,ltc2607
0063 - lltc,ltc2609
0064 - lltc,ltc2616
0065 - lltc,ltc2617
0066 - lltc,ltc2619
0067 - lltc,ltc2626
0068 - lltc,ltc2627
0069 - lltc,ltc2629
0070 - lltc,ltc2631-l12
0071 - lltc,ltc2631-h12
0072 - lltc,ltc2631-l10
0073 - lltc,ltc2631-h10
0074 - lltc,ltc2631-l8
0075 - lltc,ltc2631-h8
0076 - lltc,ltc2633-l12
0077 - lltc,ltc2633-h12
0078 - lltc,ltc2633-l10
0079 - lltc,ltc2633-h10
0080 - lltc,ltc2633-l8
0081 - lltc,ltc2633-h8
0082 - lltc,ltc2635-l12
0083 - lltc,ltc2635-h12
0084 - lltc,ltc2635-l10
0085 - lltc,ltc2635-h10
0086 - lltc,ltc2635-l8
0087 - lltc,ltc2635-h8
0088
0089 reg:
0090 maxItems: 1
0091
0092 vrefA-supply: true
0093 vrefB-supply: true
0094 vrefC-supply: true
0095 vrefD-supply: true
0096 vref-supply: true
0097
0098 spi-max-frequency: true
0099
0100 additionalProperties: false
0101
0102 required:
0103 - compatible
0104 - reg
0105
0106 allOf:
0107 - # Shared external vref, no internal reference
0108 if:
0109 properties:
0110 compatible:
0111 contains:
0112 enum:
0113 - adi,ad5064-1
0114 - adi,ad5625
0115 - adi,ad5627
0116 - adi,ad5665
0117 - adi,ad5667
0118 - lltc,ltc2606
0119 - lltc,ltc2607
0120 - lltc,ltc2616
0121 - lltc,ltc2617
0122 - lltc,ltc2626
0123 - lltc,ltc2627
0124 then:
0125 properties:
0126 vref-supply: true
0127 vrefA-supply: false
0128 vrefB-supply: false
0129 vrefC-supply: false
0130 vrefD-supply: false
0131 required:
0132 - vref-supply
0133 - # Shared external vref, internal reference available
0134 if:
0135 properties:
0136 compatible:
0137 contains:
0138 enum:
0139 - adi,ad5625r-1v25
0140 - adi,ad5625r-2v5
0141 - adi,ad5627r-1v25
0142 - adi,ad5627r-2v5
0143 - adi,ad5628-1
0144 - adi,ad5628-2
0145 - adi,ad5629-1
0146 - adi,ad5629-2
0147 - adi,ad5629-3
0148 - adi,ad5645r-1v25
0149 - adi,ad5645r-2v5
0150 - adi,ad5647r-1v25
0151 - adi,ad5647r-2v5
0152 - adi,ad5648-1
0153 - adi,ad5648-2
0154 - adi,ad5665r-1v25
0155 - adi,ad5665r-2v5
0156 - adi,ad5666-1
0157 - adi,ad5666-2
0158 - adi,ad5667r-1v25
0159 - adi,ad5667r-2v5
0160 - adi,ad5668-1
0161 - adi,ad5668-2
0162 - adi,ad5668-3
0163 - adi,ad5669-1
0164 - adi,ad5669-2
0165 - adi,ad5669-3
0166 - lltc,ltc2631-l12
0167 - lltc,ltc2631-h12
0168 - lltc,ltc2631-l10
0169 - lltc,ltc2631-h10
0170 - lltc,ltc2631-l8
0171 - lltc,ltc2631-h8
0172 - lltc,ltc2633-l12
0173 - lltc,ltc2633-h12
0174 - lltc,ltc2633-l10
0175 - lltc,ltc2633-h10
0176 - lltc,ltc2633-l8
0177 - lltc,ltc2633-h8
0178 - lltc,ltc2635-l12
0179 - lltc,ltc2635-h12
0180 - lltc,ltc2635-l10
0181 - lltc,ltc2635-h10
0182 - lltc,ltc2635-l8
0183 - lltc,ltc2635-h8
0184 then:
0185 properties:
0186 vref-supply: true
0187 vrefA-supply: false
0188 vrefB-supply: false
0189 vrefC-supply: false
0190 vrefD-supply: false
0191 - # 4 input devices, separate vrefs, no internal reference
0192 if:
0193 properties:
0194 compatible:
0195 contains:
0196 enum:
0197 - adi,ad5024
0198 - adi,ad5044
0199 - adi,ad5064
0200 - lltc,ltc2609
0201 - lltc,ltc2619
0202 - lltc,ltc2629
0203 then:
0204 properties:
0205 vrefA-supply: true
0206 vrefB-supply: true
0207 vrefC-supply: true
0208 vrefD-supply: true
0209 vref-supply: false
0210 required:
0211 - vrefA-supply
0212 - vrefB-supply
0213 - vrefC-supply
0214 - vrefD-supply
0215 - # 2 input devices, separate vrefs, no internal reference
0216 if:
0217 properties:
0218 compatible:
0219 contains:
0220 enum:
0221 - adi,ad5025
0222 - adi,ad5045
0223 - adi,ad5065
0224 then:
0225 properties:
0226 vrefA-supply: true
0227 vrefB-supply: true
0228 vrefC-supply: false
0229 vrefD-supply: false
0230 vref-supply: false
0231 required:
0232 - vrefA-supply
0233 - vrefB-supply
0234
0235 examples:
0236 - |
0237 spi {
0238 #address-cells = <1>;
0239 #size-cells = <0>;
0240 dac@0 {
0241 reg = <0>;
0242 compatible = "adi,ad5625";
0243 vref-supply = <&dac_vref>;
0244 };
0245 };
0246 - |
0247 spi {
0248 #address-cells = <1>;
0249 #size-cells = <0>;
0250 dac@0 {
0251 reg = <0>;
0252 compatible = "adi,ad5625r-1v25";
0253 };
0254 };
0255 - |
0256 i2c {
0257 #address-cells = <1>;
0258 #size-cells = <0>;
0259 dac@42 {
0260 reg = <0x42>;
0261 compatible = "adi,ad5024";
0262 vrefA-supply = <&dac_vref>;
0263 vrefB-supply = <&dac_vref>;
0264 vrefC-supply = <&dac_vref2>;
0265 vrefD-supply = <&dac_vref2>;
0266 };
0267 };
0268 ...