devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Stefan Popa <stefan.popa@analog.com>
Cc: jic23@kernel.org, mark.rutland@arm.com, knaack.h@gmx.de,
	lars@metafoo.de, pmeerw@pmeerw.net, Michael.Hennerich@analog.com,
	gregkh@linuxfoundation.org, linux-iio@vger.kernel.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 3/3] dt-bindings: iio: adc: Add docs for ad7124
Date: Mon, 22 Oct 2018 19:39:49 -0500	[thread overview]
Message-ID: <20181023003949.GA24213@bogus> (raw)
In-Reply-To: <1539935265-8904-1-git-send-email-stefan.popa@analog.com>

On Fri, Oct 19, 2018 at 10:47:45AM +0300, Stefan Popa wrote:
> 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.
> 
>  .../devicetree/bindings/iio/adc/adi,ad7124.txt     | 96 ++++++++++++++++++++++
>  MAINTAINERS                                        |  1 +
>  2 files changed, 97 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..77a7b92
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7124.txt
> @@ -0,0 +1,96 @@
> +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
> +
> +	- adi,channels: List of external channels connected to the ADC:

It's not clear here that this is a node, not a property. However, I 
think you can just get rid of this extra level unless you anticipate 
having other child nodes that aren't channels.

> +	  Required properties:
> +		* #address-cells: Must be 2.
> +		* #size-cells: Must be 0.
> +
> +	  The child nodes of this node represent the external channels which are
> +	  connected to the ADC.
> +
> +	  Each child node represents one channel and has the following
> +	  properties:
> +		Required properties:
> +			* reg: Pins the channel is connected to. The first value specifies
> +			  the positive input pin, the second value the negative input pin.

That sounds more like 2 entries than a 2 cell address.

> +			* adi,channel-number: It can have up to 4 channels on ad7124-4 and
> +			  8 channels on ad7124-8, numbered from 0 to 15.

Humm, I think the channel number would be more typically what 'reg' 
defines and then have a custom property to list the pins. There's 
probably some other multi-channel ADC examples in the tree.

> +
> +		Optional properties:
> +			* adi,bipolar: If set the channel is used in bipolar mode.

So boolean type?

> +			* 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";
> +
> +		adi,channels {
> +			#address-cells = <2>;
> +			#size-cells = <0>;
> +
> +			channel@0 {
> +				reg = <0 1>;
> +				adi,channel-number = <0>;
> +				adi,reference-select = <0>;
> +				adi,gain = <2>;
> +				adi,odr-hz = <10>;
> +			};
> +
> +			channel@1 {
> +				reg = <2 3>;
> +				adi,bipolar;
> +				adi,channel-number = <1>;
> +				adi,reference-select = <0>;
> +				adi,gain = <4>;
> +				adi,odr-hz = <50>;
> +			};
> +
> +			channel@2 {
> +				reg = <4 5>;
> +				adi,channel-number = <2>;
> +				adi,gain = <128>;
> +				adi,odr-hz = <19200>;
> +			};
> +
> +			channel@3 {
> +				reg = <6 7>;
> +				adi,channel-number = <3>;
> +			};
> +		};
> +	};
> 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>
> -- 
> 2.7.4
> 

      parent reply	other threads:[~2018-10-23  0:39 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-19  7:47 [PATCH v2 3/3] dt-bindings: iio: adc: Add docs for ad7124 Stefan Popa
2018-10-21 14:01 ` Jonathan Cameron
2018-10-23  0:39 ` Rob Herring [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181023003949.GA24213@bogus \
    --to=robh@kernel.org \
    --cc=Michael.Hennerich@analog.com \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=jic23@kernel.org \
    --cc=knaack.h@gmx.de \
    --cc=lars@metafoo.de \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=pmeerw@pmeerw.net \
    --cc=stefan.popa@analog.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).