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
Analog Devices AD5758 DAC device driver
 
Required properties for the AD5758:
   - compatible: Must be "adi,ad5758"
   - reg: SPI chip select number for the device
   - spi-max-frequency: Max SPI frequency to use (< 50000000)
   - spi-cpha: is the only mode that is supported
 
Required properties:
 
 - adi,dc-dc-mode: Mode of operation of the dc-to-dc converter
          Dynamic Power Control (DPC)
          In this mode, the AD5758 circuitry senses the output
          voltage and dynamically regulates the supply voltage,
          VDPC+, to meet compliance requirements plus an optimized
          headroom voltage for the output buffer.
 
          Programmable Power Control (PPC)
          In this mode, the VDPC+ voltage is user-programmable to
          a fixed level that needs to accommodate the maximum output
          load required.
 
          The output of the DAC core is either converted to a
          current or voltage output at the VIOUT pin. Only one mode
          can be enabled at any one time.
 
          The following values are currently supported:
           * 1: DPC current mode
           * 2: DPC voltage mode
           * 3: PPC current mode
 
 Depending on the selected output mode (voltage or current) one of the
 two properties must
 be present:
 
 - adi,range-microvolt: Voltage output range
       The array of voltage output ranges must contain two fields:
       * <0 5000000>: 0 V to 5 V voltage range
       * <0 10000000>: 0 V to 10 V voltage range
       * <(-5000000) 5000000>: ±5 V voltage range
       * <(-10000000) 10000000>: ±10 V voltage range
 - adi,range-microamp: Current output range
       The array of current output ranges must contain two fields:
       * <0 20000>: 0 mA to 20 mA current range
       * <0 24000>: 0 mA to 24 mA current range
       * <4 24000>: 4 mA to 20 mA current range
       * <(-20000) 20000>: ±20 mA current range
       * <(-24000) 24000>: ±24 mA current range
       * <(-1000) 22000>: −1 mA to +22 mA current range
 
Optional properties:
 
 - adi,dc-dc-ilim-microamp: The dc-to-dc converter current limit
          The following values are currently supported [uA]:
           * 150000
           * 200000
           * 250000
           * 300000
           * 350000
           * 400000
 
 - adi,slew-time-us: The time it takes for the output to reach the
 full scale [uS]
            The supported range is between 133us up to 1023984375us
 
AD5758 Example:
 
   dac@0 {
       compatible = "adi,ad5758";
       reg = <0>;
       spi-max-frequency = <1000000>;
       spi-cpha;
 
       adi,dc-dc-mode = <2>;
       adi,range-microvolt = <0 10000000>;
       adi,dc-dc-ilim-microamp = <200000>;
       adi,slew-time-us = <125000>;
   };