mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-01-23 23:49:40 +07:00
9f84a1bdd3
Add support for Analog Devices AD7124 4-channels and 8-channels ADC. Signed-off-by: Stefan Popa <stefan.popa@analog.com> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
76 lines
2.2 KiB
Plaintext
76 lines
2.2 KiB
Plaintext
Analog Devices AD7124 ADC device driver
|
||
|
||
Required properties for the AD7124:
|
||
- compatible: Must be one of "adi,ad7124-4" or "adi,ad7124-8"
|
||
- reg: SPI chip select number for the device
|
||
- spi-max-frequency: Max SPI frequency to use
|
||
see: Documentation/devicetree/bindings/spi/spi-bus.txt
|
||
- clocks: phandle to the master clock (mclk)
|
||
see: Documentation/devicetree/bindings/clock/clock-bindings.txt
|
||
- clock-names: Must be "mclk".
|
||
- interrupts: IRQ line for the ADC
|
||
see: Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
|
||
|
||
Required properties:
|
||
* #address-cells: Must be 1.
|
||
* #size-cells: Must be 0.
|
||
|
||
Subnode(s) represent the external channels which are connected to the ADC.
|
||
Each subnode represents one channel and has the following properties:
|
||
Required properties:
|
||
* reg: The channel number. It can have up to 4 channels on ad7124-4
|
||
and 8 channels on ad7124-8, numbered from 0 to 15.
|
||
* diff-channels: see: Documentation/devicetree/bindings/iio/adc/adc.txt
|
||
|
||
Optional properties:
|
||
* bipolar: see: Documentation/devicetree/bindings/iio/adc/adc.txt
|
||
* adi,reference-select: Select the reference source to use when
|
||
converting on the the specific channel. Valid values are:
|
||
0: REFIN1(+)/REFIN1(−).
|
||
1: REFIN2(+)/REFIN2(−).
|
||
3: AVDD
|
||
If this field is left empty, internal reference is selected.
|
||
|
||
Optional properties:
|
||
- refin1-supply: refin1 supply can be used as reference for conversion.
|
||
- refin2-supply: refin2 supply can be used as reference for conversion.
|
||
- avdd-supply: avdd supply can be used as reference for conversion.
|
||
|
||
Example:
|
||
adc@0 {
|
||
compatible = "adi,ad7124-4";
|
||
reg = <0>;
|
||
spi-max-frequency = <5000000>;
|
||
interrupts = <25 2>;
|
||
interrupt-parent = <&gpio>;
|
||
refin1-supply = <&adc_vref>;
|
||
clocks = <&ad7124_mclk>;
|
||
clock-names = "mclk";
|
||
|
||
#address-cells = <1>;
|
||
#size-cells = <0>;
|
||
|
||
channel@0 {
|
||
reg = <0>;
|
||
diff-channels = <0 1>;
|
||
adi,reference-select = <0>;
|
||
};
|
||
|
||
channel@1 {
|
||
reg = <1>;
|
||
bipolar;
|
||
diff-channels = <2 3>;
|
||
adi,reference-select = <0>;
|
||
};
|
||
|
||
channel@2 {
|
||
reg = <2>;
|
||
diff-channels = <4 5>;
|
||
};
|
||
|
||
channel@3 {
|
||
reg = <3>;
|
||
diff-channels = <6 7>;
|
||
};
|
||
};
|