* Analog Device AD5755 IIO Multi-Channel DAC Linux Driver

Required properties:
 - compatible: Has to contain one of the following:
	adi,ad5755
	adi,ad5755-1
	adi,ad5757
	adi,ad5735
	adi,ad5737

 - reg: spi chip select number for the device
 - spi-cpha or spi-cpol: is the only modes that is supported

Recommended properties:
 - spi-max-frequency: Definition as per
		Documentation/devicetree/bindings/spi/spi-bus.txt

Optional properties:
See include/dt-bindings/iio/ad5755.h
 - adi,ext-dc-dc-compenstation-resistor: boolean set if the hardware have an
					 external resistor and thereby bypasses
					 the internal compensation resistor.
 - adi,dc-dc-phase:
	Valid values for DC DC Phase control is:
	0: All dc-to-dc converters clock on the same edge.
	1: Channel A and Channel B clock on the same edge,
	   Channel C and Channel D clock on opposite edges.
	2: Channel A and Channel C clock on the same edge,
	   Channel B and Channel D clock on opposite edges.
	3: Channel A, Channel B, Channel C, and Channel D
	   clock 90 degrees out of phase from each other.
 - adi,dc-dc-freq-hz:
	Valid values for DC DC frequency is [Hz]:
	250000
	410000
	650000
 - adi,dc-dc-max-microvolt:
	Valid values for the maximum allowed Vboost voltage supplied by
	the dc-to-dc converter is:
	23000000
	24500000
	27000000
	29500000

Optional for every channel:
 - adi,mode:
	Valid values for DAC modes is:
	0: 0 V to 5 V voltage range.
	1: 0 V to 10 V voltage range.
	2: Plus minus 5 V voltage range.
	3: Plus minus 10 V voltage range.
	4: 4 mA to 20 mA current range.
	5: 0 mA to 20 mA current range.
	6: 0 mA to 24 mA current range.
 - adi,ext-current-sense-resistor: boolean set if the hardware a external
				   current sense resistor.
 - adi,enable-voltage-overrange: boolean enable voltage overrange
 - adi,slew: Array of slewrate settings should contain 3 fields:
	1: Should be either 0 or 1 in order to enable or disable slewrate.
	2: Slew rate settings:
		Valid values for the slew rate update frequency:
		64000
		32000
		16000
		8000
		4000
		2000
		1000
		500
		250
		125
		64
		32
		16
		8
		4
		0
	3: Slew step size:
		Valid values for the step size LSBs:
		1
		2
		4
		16
		32
		64
		128
		256

Example:
dac@0 {
	#address-cells = <1>;
	#size-cells = <0>;
	compatible = "adi,ad5755";
	reg = <0>;
	spi-max-frequency = <1000000>;
	spi-cpha;
	adi,dc-dc-phase = <0>;
	adi,dc-dc-freq-hz = <410000>;
	adi,dc-dc-max-microvolt = <23000000>;
	channel@0 {
		reg = <0>;
		adi,mode = <4>;
		adi,ext-current-sense-resistor;
		adi,slew = <0 64000 1>;
	};
	channel@1 {
		reg = <1>;
		adi,mode = <4>;
		adi,ext-current-sense-resistor;
		adi,slew = <0 64000 1>;
	};
	channel@2 {
		reg = <2>;
		adi,mode = <4>;
		adi,ext-current-sense-resistor;
		adi,slew = <0 64000 1>;
	};
	channel@3 {
		reg = <3>;
		adi,mode = <4>;
		adi,ext-current-sense-resistor;
		adi,slew = <0 64000 1>;
	};
};
