1# 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: true 82 83 adi,dc-dc-ilim-microamp: 84 enum: [150000, 200000, 250000, 300000, 350000, 400000] 85 description: | 86 The dc-to-dc converter current limit. 87 88 adi,slew-time-us: 89 description: | 90 The time it takes for the output to reach the full scale [uS] 91 minimum: 133 92 maximum: 1023984375 93 94required: 95 - compatible 96 - reg 97 - spi-cpha 98 - adi,dc-dc-mode 99 100allOf: 101 - $ref: /schemas/spi/spi-peripheral-props.yaml# 102 - if: 103 properties: 104 adi,dc-dc-mode: 105 enum: [1, 3] 106 then: 107 properties: 108 adi,range-microvolt: false 109 required: 110 - adi,range-microamp 111 else: 112 properties: 113 adi,range-microamp: false 114 required: 115 - adi,range-microvolt 116 117unevaluatedProperties: false 118 119examples: 120 - | 121 spi { 122 #address-cells = <1>; 123 #size-cells = <0>; 124 125 dac@0 { 126 compatible = "adi,ad5758"; 127 reg = <0>; 128 spi-max-frequency = <1000000>; 129 spi-cpha; 130 131 reset-gpios = <&gpio 22 0>; 132 133 adi,dc-dc-mode = <2>; 134 adi,range-microvolt = <0 10000000>; 135 adi,dc-dc-ilim-microamp = <200000>; 136 adi,slew-time-us = <125000>; 137 }; 138 }; 139... 140