dt-bindings:iio:dac:adi,ad5758 yaml conversion
I have put Michael as maintainer on this one. Happy to change it to someone else though. One issue in here, is I cannot have an example with a negative limit on the range. There are very few such yaml bindings in existence but the thermal-zones.yaml has the same problem. If there is any means of fixing this let me know. For now I'm sticking to positive range values in the example. Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Reviewed-by: Rob Herring <robh@kernel.org> Cc: Michael Hennerich <Michael.Hennerich@analog.com> Link: https://lore.kernel.org/r/20201031134110.724233-24-jic23@kernel.org
This commit is contained in:
parent
c15058d5fb
commit
1e6536ee34
@ -1,83 +0,0 @@
|
|||||||
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>;
|
|
||||||
};
|
|
129
Documentation/devicetree/bindings/iio/dac/adi,ad5758.yaml
Normal file
129
Documentation/devicetree/bindings/iio/dac/adi,ad5758.yaml
Normal file
@ -0,0 +1,129 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/iio/dac/adi,ad5758.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Analog Devices AD5758 DAC
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Michael Hennerich <Michael.Hennerich@analog.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: adi,ad5758
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
spi-max-frequency: true
|
||||||
|
spi-cpha: true
|
||||||
|
|
||||||
|
adi,dc-dc-mode:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
enum: [1, 2, 3]
|
||||||
|
description: |
|
||||||
|
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:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/int32-array
|
||||||
|
description: |
|
||||||
|
Voltage output range specified as <minimum, maximum>
|
||||||
|
enum:
|
||||||
|
- [[0, 5000000]]
|
||||||
|
- [[0, 10000000]]
|
||||||
|
- [[-5000000, 5000000]]
|
||||||
|
- [[-10000000, 10000000]]
|
||||||
|
|
||||||
|
adi,range-microamp:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/int32-array
|
||||||
|
description: |
|
||||||
|
Current output range specified as <minimum, maximum>
|
||||||
|
enum:
|
||||||
|
- [[0, 20000]]
|
||||||
|
- [[0, 24000]]
|
||||||
|
- [[4, 24000]]
|
||||||
|
- [[-20000, 20000]]
|
||||||
|
- [[-24000, 24000]]
|
||||||
|
- [[-1000, 22000]]
|
||||||
|
|
||||||
|
reset-gpios: true
|
||||||
|
|
||||||
|
adi,dc-dc-ilim-microamp:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
enum: [150000, 200000, 250000, 300000, 350000, 400000]
|
||||||
|
description: |
|
||||||
|
The dc-to-dc converter current limit.
|
||||||
|
|
||||||
|
adi,slew-time-us:
|
||||||
|
description: |
|
||||||
|
The time it takes for the output to reach the full scale [uS]
|
||||||
|
minimum: 133
|
||||||
|
maximum: 1023984375
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- spi-cpha
|
||||||
|
- adi,dc-dc-mode
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- if:
|
||||||
|
properties:
|
||||||
|
adi,dc-dc-mode:
|
||||||
|
contains:
|
||||||
|
enum: [1, 3]
|
||||||
|
then:
|
||||||
|
properties:
|
||||||
|
adi,range-microvolt: false
|
||||||
|
required:
|
||||||
|
- adi,range-microamp
|
||||||
|
else:
|
||||||
|
properties:
|
||||||
|
adi,range-microamp: false
|
||||||
|
required:
|
||||||
|
- adi,range-microvolt
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
spi {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
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>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
Loading…
Reference in New Issue
Block a user