Merge tag 'efi-next-for-v5.11-3' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / iio / dac / ad5758.txt
1 Analog Devices AD5758 DAC device driver
2
3 Required 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
9 Required 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
51 Optional 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
69 AD5758 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         };