diff mbox series

[v4,4/4] dt-bindings: iio: adc: Add docs for ad7124

Message ID 1541778180-7862-1-git-send-email-stefan.popa@analog.com (mailing list archive)
State New, archived
Headers show
Series [v4,1/4] iio: ad_sigma_delta: Allow to provide custom data register address | expand

Commit Message

Stefan Popa Nov. 9, 2018, 3:43 p.m. UTC
Add support for Analog Devices AD7124 4-channels and 8-channels ADC.

Signed-off-by: Stefan Popa <stefan.popa@analog.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.
Changes in v4:
	- Used the bipolar and diff-channels properties defined in the new adc.txt doc.

 .../devicetree/bindings/iio/adc/adi,ad7124.txt     | 81 ++++++++++++++++++++++
 MAINTAINERS                                        |  1 +
 2 files changed, 82 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ad7124.txt

Comments

Jonathan Cameron Nov. 11, 2018, 12:19 p.m. UTC | #1
On Fri, 9 Nov 2018 17:43:00 +0200
Stefan Popa <stefan.popa@analog.com> wrote:

> Add support for Analog Devices AD7124 4-channels and 8-channels ADC.
> 
> Signed-off-by: Stefan Popa <stefan.popa@analog.com>

Your example still includes the other things that I think you have now dropped.
gain and odr.

> ---
> 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.
> Changes in v4:
> 	- Used the bipolar and diff-channels properties defined in the new adc.txt doc.
> 
>  .../devicetree/bindings/iio/adc/adi,ad7124.txt     | 81 ++++++++++++++++++++++
>  MAINTAINERS                                        |  1 +
>  2 files changed, 82 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..fa0c43b
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7124.txt
> @@ -0,0 +1,81 @@
> +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

Given the driver doesn't currently use it, should perhaps be optional?

> +
> +	  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>;
> +			adi,diff-channels = <0 1>;
> +			adi,reference-select = <0>;
> +			adi,gain = <2>;
> +			adi,odr-hz = <10>;
I think you have dropped these two..

> +		};
> +
> +		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@vger.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@cisco.com>
Popa, Stefan Serban Nov. 12, 2018, 9:30 a.m. UTC | #2
On Du, 2018-11-11 at 12:19 +0000, Jonathan Cameron wrote:
> 
> On Fri, 9 Nov 2018 17:43:00 +0200
> Stefan Popa <stefan.popa@analog.com> wrote:
> 
> > 
> > 
> > Add support for Analog Devices AD7124 4-channels and 8-channels ADC.
> > 
> > Signed-off-by: Stefan Popa <stefan.popa@analog.com>
> Your example still includes the other things that I think you have now
> dropped.
> gain and odr.
> 
You are right! I am sorry about this.
> 
> > 
> > 
> > ---
> > 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.
> > Changes in v4:
> > 	- Used the bipolar and diff-channels properties defined in the new
> > adc.txt doc.
> > 
> >  .../devicetree/bindings/iio/adc/adi,ad7124.txt     | 81
> > ++++++++++++++++++++++
> >  MAINTAINERS                                        |  1 +
> >  2 files changed, 82 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..fa0c43b
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7124.txt
> > @@ -0,0 +1,81 @@
> > +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
> Given the driver doesn't currently use it, should perhaps be optional?
> 
The interrupt is actually required by ad_sigma_delta.
> 
> > 
> > 
> > +
> > +	  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>;
> > +			adi,diff-channels = <0 1>;
> > +			adi,reference-select = <0>;
> > +			adi,gain = <2>;
> > +			adi,odr-hz = <10>;
> I think you have dropped these two..
> 
> > 
> > 
> > +		};
> > +
> > +		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@vger.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@cisco.com>
diff mbox series

Patch

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..fa0c43b
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7124.txt
@@ -0,0 +1,81 @@ 
+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>;
+			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@vger.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@cisco.com>