All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Cameron <jic23@kernel.org>
To: Rob Herring <robh@kernel.org>
Cc: Stefan Popa <stefan.popa@analog.com>,
	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 2/2] dt-bindings: iio: adc: Add docs for AD7606 ADC
Date: Sun, 28 Oct 2018 12:07:58 +0000	[thread overview]
Message-ID: <20181028120758.376da9aa@archlinux> (raw)
In-Reply-To: <20181025184326.GA9995@bogus>

On Thu, 25 Oct 2018 13:43:26 -0500
Rob Herring <robh@kernel.org> wrote:

> On Thu, Oct 18, 2018 at 12:12:36PM +0300, Stefan Popa wrote:
> > Document support for AD7606 Analog to Digital Converter.
> > 
> > Signed-off-by: Stefan Popa <stefan.popa@analog.com>
> > ---
> >  .../devicetree/bindings/iio/adc/adi,ad7606.txt     | 51 ++++++++++++++++++++++
> >  MAINTAINERS                                        |  1 +
> >  2 files changed, 52 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ad7606.txt
> > 
> > diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7606.txt b/Documentation/devicetree/bindings/iio/adc/adi,ad7606.txt
> > new file mode 100644
> > index 0000000..dede581
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7606.txt
> > @@ -0,0 +1,51 @@
> > +Analog Devices AD7606 Simultaneous Sampling ADC
> > +
> > +Required properties for the AD7606:
> > +
> > + - compatible: Must be one of "adi,ad7605-4", "adi,ad7606-8", "adi,ad7606-6" or
> > + 	       "adi,ad7606-4".  
> 
> Format as one per line please.
> 
> > + - reg: SPI chip select number for the device
> > + - spi-max-frequency: Max SPI frequency to use
> > + 	see: Documentation/devicetree/bindings/spi/spi-bus.txt
> > + - spi-cpha: See Documentation/devicetree/bindings/spi/spi-bus.txt
> > + - avcc-supply: phandle to the Avcc power supply
> > + - interrupts: IRQ line for the ADC
> > + 	see: Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
> > + - conversion-start-gpio: must be the device tree identifier of the CONVST pin.
> > +			  This logic input is used to initiate conversions on
> > +			  the analog input channels.  
> 
> Doesn't IIO have trigger GPIOs?

Wrong way around.  Those are for when you want to use a GPIO to tell the OS
to grab data now.  This one is a 'capture now' pin used to cause the hardware
to start capturing.  We might be able to do something a little generic around
this type, but I don't think we would gain much doing it.

The more interesting point is that the real reason devices have these is either:
1) To capture synchronized data cross a bank of ADCs
2) To capture data under control of device not visible to the OS (some sort
of external controller).

Neither of these cases is terribly well handled at the moment. However, no
one has yet really expressed a desire to do so, hence maybe it's not actually
done...

The first option would need a 'hardware' trigger path which isn't something
we really do as yet in general.  We have individual drivers doing it but normally
only when it's routing a pulse signal to cause the hardware to fill a fifo and
the OS only gets involved occasionally.

Ah well, if anyone cares we'll figure out how to do it ;) 

> 
> > +
> > +Optional properties:
> > +
> > + - reset-gpio: must be the device tree identifier of the RESET pin. If specified,
> > + 	       it will be asserted during driver probe.  
> 
> -gpios is the preferred form: reset-gpios
> 
> And state the active state
> 
> > + - first-data-gpio: must be the device tree identifier of the FRSTDATA pin.
> > + 		    The FRSTDATA output indicates when the first channel, V1, is
> > +		    being read back on either the parallel, byte or serial interface.
> > +- standby-gpio: must be the device tree identifier of the STBY pin. This pin is used
> > +		to place the AD7606 into one of two power-down modes, Standby mode or
> > +		Shutdown mode.
> > +- range-gpio: must be the device tree identifier of the RANGE pin. The polarity on
> > +	      this pin determines the input range of the analog input channels. If
> > +	      this pin is tied to a logic high, the analog input range is ±10V for
> > +	      allchannels. If this pin is tied to a logic low, the analog input range  
> 
> s/allchannels/all channels/
> 
> > +	      is ±5V for all channels.  
> 
> conversion-start-gpio, first-data-gpio, and range-gpio should all have 
> vendor prefix (in addition to -gpios).
Gah, I should have spotted all of that.  Thanks Rob!

Jonathan
> 
> > +
> > +Example:
> > +
> > +	adc@0 {
> > +		compatible = "adi,ad7606-8";
> > +		reg = <0>;
> > +		spi-max-frequency = <1000000>;
> > +		spi-cpol;
> > +
> > +		avcc-supply = <&adc_vref>;
> > +
> > +		interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
> > +		interrupt-parent = <&gpio>;
> > +
> > +		conversion-start-gpio = <&gpio 17 0>;
> > +		reset-gpio = <&gpio 27 0>;
> > +		first-data-gpio = <&gpio 22 0>;
> > +		standby-gpio = <&gpio 24 0>;
> > +	};
> > diff --git a/MAINTAINERS b/MAINTAINERS
> > index 843545d..6d63db4 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/ad7606.c
> > +F:	Documentation/devicetree/bindings/iio/adc/ad7606.txt
> >  
> >  ANALOG DEVICES INC AD9389B DRIVER
> >  M:	Hans Verkuil <hans.verkuil@cisco.com>
> > -- 
> > 2.7.4
> >   


WARNING: multiple messages have this Message-ID (diff)
From: Jonathan Cameron <jic23@kernel.org>
To: Rob Herring <robh@kernel.org>
Cc: Stefan Popa <stefan.popa@analog.com>,
	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 2/2] dt-bindings: iio: adc: Add docs for AD7606 ADC
Date: Sun, 28 Oct 2018 12:07:58 +0000	[thread overview]
Message-ID: <20181028120758.376da9aa@archlinux> (raw)
In-Reply-To: <20181025184326.GA9995@bogus>

On Thu, 25 Oct 2018 13:43:26 -0500
Rob Herring <robh@kernel.org> wrote:

> On Thu, Oct 18, 2018 at 12:12:36PM +0300, Stefan Popa wrote:
> > Document support for AD7606 Analog to Digital Converter.
> >=20
> > Signed-off-by: Stefan Popa <stefan.popa@analog.com>
> > ---
> >  .../devicetree/bindings/iio/adc/adi,ad7606.txt     | 51 ++++++++++++++=
++++++++
> >  MAINTAINERS                                        |  1 +
> >  2 files changed, 52 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ad760=
6.txt
> >=20
> > diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7606.txt b=
/Documentation/devicetree/bindings/iio/adc/adi,ad7606.txt
> > new file mode 100644
> > index 0000000..dede581
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7606.txt
> > @@ -0,0 +1,51 @@
> > +Analog Devices AD7606 Simultaneous Sampling ADC
> > +
> > +Required properties for the AD7606:
> > +
> > + - compatible: Must be one of "adi,ad7605-4", "adi,ad7606-8", "adi,ad7=
606-6" or
> > + 	       "adi,ad7606-4". =20
>=20
> Format as one per line please.
>=20
> > + - reg: SPI chip select number for the device
> > + - spi-max-frequency: Max SPI frequency to use
> > + 	see: Documentation/devicetree/bindings/spi/spi-bus.txt
> > + - spi-cpha: See Documentation/devicetree/bindings/spi/spi-bus.txt
> > + - avcc-supply: phandle to the Avcc power supply
> > + - interrupts: IRQ line for the ADC
> > + 	see: Documentation/devicetree/bindings/interrupt-controller/interrup=
ts.txt
> > + - conversion-start-gpio: must be the device tree identifier of the CO=
NVST pin.
> > +			  This logic input is used to initiate conversions on
> > +			  the analog input channels. =20
>=20
> Doesn't IIO have trigger GPIOs?

Wrong way around.  Those are for when you want to use a GPIO to tell the OS
to grab data now.  This one is a 'capture now' pin used to cause the hardwa=
re
to start capturing.  We might be able to do something a little generic arou=
nd
this type, but I don't think we would gain much doing it.

The more interesting point is that the real reason devices have these is ei=
ther:
1) To capture synchronized data cross a bank of ADCs
2) To capture data under control of device not visible to the OS (some sort
of external controller).

Neither of these cases is terribly well handled at the moment. However, no
one has yet really expressed a desire to do so, hence maybe it's not actual=
ly
done...

The first option would need a 'hardware' trigger path which isn't something
we really do as yet in general.  We have individual drivers doing it but no=
rmally
only when it's routing a pulse signal to cause the hardware to fill a fifo =
and
the OS only gets involved occasionally.

Ah well, if anyone cares we'll figure out how to do it ;)=20

>=20
> > +
> > +Optional properties:
> > +
> > + - reset-gpio: must be the device tree identifier of the RESET pin. If=
 specified,
> > + 	       it will be asserted during driver probe. =20
>=20
> -gpios is the preferred form: reset-gpios
>=20
> And state the active state
>=20
> > + - first-data-gpio: must be the device tree identifier of the FRSTDATA=
 pin.
> > + 		    The FRSTDATA output indicates when the first channel, V1, is
> > +		    being read back on either the parallel, byte or serial interface.
> > +- standby-gpio: must be the device tree identifier of the STBY pin. Th=
is pin is used
> > +		to place the AD7606 into one of two power-down modes, Standby mode or
> > +		Shutdown mode.
> > +- range-gpio: must be the device tree identifier of the RANGE pin. The=
 polarity on
> > +	      this pin determines the input range of the analog input channel=
s. If
> > +	      this pin is tied to a logic high, the analog input range is =C2=
=B110V for
> > +	      allchannels. If this pin is tied to a logic low, the analog inp=
ut range =20
>=20
> s/allchannels/all channels/
>=20
> > +	      is =C2=B15V for all channels. =20
>=20
> conversion-start-gpio, first-data-gpio, and range-gpio should all have=20
> vendor prefix (in addition to -gpios).
Gah, I should have spotted all of that.  Thanks Rob!

Jonathan
>=20
> > +
> > +Example:
> > +
> > +	adc@0 {
> > +		compatible =3D "adi,ad7606-8";
> > +		reg =3D <0>;
> > +		spi-max-frequency =3D <1000000>;
> > +		spi-cpol;
> > +
> > +		avcc-supply =3D <&adc_vref>;
> > +
> > +		interrupts =3D <25 IRQ_TYPE_EDGE_FALLING>;
> > +		interrupt-parent =3D <&gpio>;
> > +
> > +		conversion-start-gpio =3D <&gpio 17 0>;
> > +		reset-gpio =3D <&gpio 27 0>;
> > +		first-data-gpio =3D <&gpio 22 0>;
> > +		standby-gpio =3D <&gpio 24 0>;
> > +	};
> > diff --git a/MAINTAINERS b/MAINTAINERS
> > index 843545d..6d63db4 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/ad7606.c
> > +F:	Documentation/devicetree/bindings/iio/adc/ad7606.txt
> > =20
> >  ANALOG DEVICES INC AD9389B DRIVER
> >  M:	Hans Verkuil <hans.verkuil@cisco.com>
> > --=20
> > 2.7.4
> >  =20

  reply	other threads:[~2018-10-28 12:08 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-18  9:12 [PATCH 2/2] dt-bindings: iio: adc: Add docs for AD7606 ADC Stefan Popa
2018-10-18  9:12 ` Stefan Popa
2018-10-18 10:35 ` Ardelean, Alexandru
2018-10-18 10:35   ` Ardelean, Alexandru
2018-10-25 18:43 ` Rob Herring
2018-10-28 12:07   ` Jonathan Cameron [this message]
2018-10-28 12:07     ` Jonathan Cameron

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=20181028120758.376da9aa@archlinux \
    --to=jic23@kernel.org \
    --cc=Michael.Hennerich@analog.com \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.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=robh@kernel.org \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.