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-max-frequency: true 20 spi-cpha: true 21 22 adi,dc-dc-mode: 23 $ref: /schemas/types.yaml#/definitions/uint32 24 enum: [1, 2, 3] 25 description: | 26 Mode of operation of the dc-to-dc converter 27 Dynamic Power Control (DPC) 28 In this mode, the AD5758 circuitry senses the output voltage and 29 dynamically regulates the supply voltage, VDPC+, to meet compliance 30 requirements plus an optimized headroom voltage for the output buffer. 31 32 Programmable Power Control (PPC) 33 In this mode, the VDPC+ voltage is user-programmable to a fixed level 34 that needs to accommodate the maximum output load required. 35 36 The output of the DAC core is either converted to a current or 37 voltage output at the VIOUT pin. Only one mode can be enabled at 38 any one time. 39 40 The following values are currently supported: 41 * 1: DPC current mode 42 * 2: DPC voltage mode 43 * 3: PPC current mode 44 45 Depending on the selected output mode (voltage or current) one of the 46 two properties must be present: 47 48 adi,range-microvolt: 49 $ref: /schemas/types.yaml#/definitions/int32-array 50 description: | 51 Voltage output range specified as <minimum, maximum> 52 enum: 53 - [[0, 5000000]] 54 - [[0, 10000000]] 55 - [[-5000000, 5000000]] 56 - [[-10000000, 10000000]] 57 58 adi,range-microamp: 59 $ref: /schemas/types.yaml#/definitions/int32-array 60 description: | 61 Current output range specified as <minimum, maximum> 62 enum: 63 - [[0, 20000]] 64 - [[0, 24000]] 65 - [[4, 24000]] 66 - [[-20000, 20000]] 67 - [[-24000, 24000]] 68 - [[-1000, 22000]] 69 70 reset-gpios: true 71 72 adi,dc-dc-ilim-microamp: 73 $ref: /schemas/types.yaml#/definitions/uint32 74 enum: [150000, 200000, 250000, 300000, 350000, 400000] 75 description: | 76 The dc-to-dc converter current limit. 77 78 adi,slew-time-us: 79 description: | 80 The time it takes for the output to reach the full scale [uS] 81 minimum: 133 82 maximum: 1023984375 83 84required: 85 - compatible 86 - reg 87 - spi-cpha 88 - adi,dc-dc-mode 89 90allOf: 91 - if: 92 properties: 93 adi,dc-dc-mode: 94 contains: 95 enum: [1, 3] 96 then: 97 properties: 98 adi,range-microvolt: false 99 required: 100 - adi,range-microamp 101 else: 102 properties: 103 adi,range-microamp: false 104 required: 105 - adi,range-microvolt 106 107additionalProperties: false 108 109examples: 110 - | 111 spi { 112 #address-cells = <1>; 113 #size-cells = <0>; 114 115 dac@0 { 116 compatible = "adi,ad5758"; 117 reg = <0>; 118 spi-max-frequency = <1000000>; 119 spi-cpha; 120 121 reset-gpios = <&gpio 22 0>; 122 123 adi,dc-dc-mode = <2>; 124 adi,range-microvolt = <0 10000000>; 125 adi,dc-dc-ilim-microamp = <200000>; 126 adi,slew-time-us = <125000>; 127 }; 128 }; 129... 130