[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1540831170-3150-1-git-send-email-stefan.popa@analog.com>
Date: Mon, 29 Oct 2018 18:39:30 +0200
From: Stefan Popa <stefan.popa@...log.com>
To: <jic23@...nel.org>, <robh+dt@...nel.org>, <mark.rutland@....com>
CC: <knaack.h@....de>, <lars@...afoo.de>, <pmeerw@...erw.net>,
<Michael.Hennerich@...log.com>, <gregkh@...uxfoundation.org>,
<linux-iio@...r.kernel.org>, <devicetree@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <stefan.popa@...log.com>
Subject: [PATCH v3 3/3] dt-bindings: iio: adc: Add docs for ad7124
Add support for Analog Devices AD7124 4-channels and 8-channels ADC.
Signed-off-by: Stefan Popa <stefan.popa@...log.com>
---
Changes in v2:
- Nothing changed.
Changes in v3:
- Removed the "adi,channels" property.
- Used the "reg" property to get the channel number and "adi,diff-channels"
for the differential pins. The "adi,channel-number" property was removed.
- adi,bipolar is of boolean type.
.../devicetree/bindings/iio/adc/adi,ad7124.txt | 90 ++++++++++++++++++++++
MAINTAINERS | 1 +
2 files changed, 91 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ad7124.txt
diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7124.txt b/Documentation/devicetree/bindings/iio/adc/adi,ad7124.txt
new file mode 100644
index 0000000..46a9b71
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7124.txt
@@ -0,0 +1,90 @@
+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.
+ * adi,diff-channels: Pins the channel is connected to. The first value
+ specifies the positive input pin, the second value the negative input pin.
+
+ Optional properties:
+ * adi,bipolar: Boolean, if set the channel is used in bipolar mode.
+ * 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.
+ * adi,gain: Select the gain when converting on the specific channel.
+ Valid values are: 1, 2, 4, 8, 16, 32, 64, 128.
+ If this field is left empty, gain of 1 is selected.
+ * adi,odr-hz: The output data rate can be programmed from:
+ 9 to 19200 for full power mode (when the master clock is 614.4 kHz)
+ 2 to 4800 for mid power mode (when the master clock is 153.6 kHz)
+ 1 to 2400 for low power mode (when the master clock is 76.8 kHz)
+ If this field is left empty, odr of 9 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>;
+ adi,diff-channels = <0 1>;
+ adi,reference-select = <0>;
+ adi,gain = <2>;
+ adi,odr-hz = <10>;
+ };
+
+ channel@1 {
+ reg = <1>;
+ adi,bipolar;
+ adi,diff-channels = <2 3>;
+ adi,reference-select = <0>;
+ adi,gain = <4>;
+ adi,odr-hz = <50>;
+ };
+
+ channel@2 {
+ reg = <2>;
+ adi,diff-channels = <4 5>;
+ adi,gain = <128>;
+ adi,odr-hz = <19200>;
+ };
+
+ channel@3 {
+ reg = <3>;
+ adi,diff-channels = <6 7>;
+ };
+ };
diff --git a/MAINTAINERS b/MAINTAINERS
index 3a1bfcb..f2fa508 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -845,6 +845,7 @@ L: linux-iio@...r.kernel.org
W: http://ez.analog.com/community/linux-device-drivers
S: Supported
F: drivers/iio/adc/ad7124.c
+F: Documentation/devicetree/bindings/iio/adc/adi,ad7124.txt
ANALOG DEVICES INC AD9389B DRIVER
M: Hans Verkuil <hans.verkuil@...co.com>
--
2.7.4
Powered by blists - more mailing lists