hc
2023-02-14 0cc9b7c44253c93447ddf73e206fbdbb3d9f16b1
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 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>;
   };
};