summaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/iio/dac/ad5755.txt
blob: 502e1e55adbdebd08d588350ba8a2f57b28a8696 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
* Analog Devices 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>;
	};
};