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: - reset-gpios : GPIO spec for the RESET pin. If specified, it will be asserted during driver probe. - 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; reset-gpios = <&gpio 22 0>; adi,dc-dc-mode = <2>; adi,range-microvolt = <0 10000000>; adi,dc-dc-ilim-microamp = <200000>; adi,slew-time-us = <125000>; };