| 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>; |
| }; |