1Analog Devices AD5758 DAC device driver
2
3Required properties for the AD5758:
4	- compatible: Must be "adi,ad5758"
5	- reg: SPI chip select number for the device
6	- spi-max-frequency: Max SPI frequency to use (< 50000000)
7	- spi-cpha: is the only mode that is supported
8
9Required properties:
10
11 - adi,dc-dc-mode: Mode of operation of the dc-to-dc converter
12		   Dynamic Power Control (DPC)
13		   In this mode, the AD5758 circuitry senses the output
14		   voltage and dynamically regulates the supply voltage,
15		   VDPC+, to meet compliance requirements plus an optimized
16		   headroom voltage for the output buffer.
17
18		   Programmable Power Control (PPC)
19		   In this mode, the VDPC+ voltage is user-programmable to
20		   a fixed level that needs to accommodate the maximum output
21		   load required.
22
23		   The output of the DAC core is either converted to a
24		   current or voltage output at the VIOUT pin. Only one mode
25		   can be enabled at any one time.
26
27		   The following values are currently supported:
28			* 1: DPC current mode
29			* 2: DPC voltage mode
30			* 3: PPC current mode
31
32 Depending on the selected output mode (voltage or current) one of the
33 two properties must
34 be present:
35
36 - adi,range-microvolt: Voltage output range
37		The array of voltage output ranges must contain two fields:
38		* <0 5000000>: 0 V to 5 V voltage range
39		* <0 10000000>: 0 V to 10 V voltage range
40		* <(-5000000) 5000000>: ±5 V voltage range
41		* <(-10000000) 10000000>: ±10 V voltage range
42 - adi,range-microamp: Current output range
43		The array of current output ranges must contain two fields:
44		* <0 20000>: 0 mA to 20 mA current range
45		* <0 24000>: 0 mA to 24 mA current range
46		* <4 24000>: 4 mA to 20 mA current range
47		* <(-20000) 20000>: ±20 mA current range
48		* <(-24000) 24000>: ±24 mA current range
49		* <(-1000) 22000>: −1 mA to +22 mA current range
50
51Optional properties:
52
53 - reset-gpios : GPIO spec for the RESET pin. If specified, it will be
54		 asserted during driver probe.
55
56 - adi,dc-dc-ilim-microamp: The dc-to-dc converter current limit
57		   The following values are currently supported [uA]:
58			* 150000
59			* 200000
60			* 250000
61			* 300000
62			* 350000
63			* 400000
64
65 - adi,slew-time-us: The time it takes for the output to reach the
66 full scale [uS]
67		     The supported range is between 133us up to 1023984375us
68
69AD5758 Example:
70
71	dac@0 {
72		compatible = "adi,ad5758";
73		reg = <0>;
74		spi-max-frequency = <1000000>;
75		spi-cpha;
76
77		reset-gpios = <&gpio 22 0>;
78
79		adi,dc-dc-mode = <2>;
80		adi,range-microvolt = <0 10000000>;
81		adi,dc-dc-ilim-microamp = <200000>;
82		adi,slew-time-us = <125000>;
83	};
84