linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/4] iio: adc: sama5d2_adc hw triggers and buffers
@ 2017-06-09  7:07 Eugen Hristev
  2017-06-09  7:07 ` [PATCH v4 1/4] ARM: dts: at91: sama5d2_xplained: enable ADTRG pin Eugen Hristev
                   ` (4 more replies)
  0 siblings, 5 replies; 10+ messages in thread
From: Eugen Hristev @ 2017-06-09  7:07 UTC (permalink / raw)
  To: nicolas.ferre, alexandre.belloni, linux-iio, lars,
	linux-arm-kernel, devicetree, linux-kernel, ludovic.desroches,
	jic23
  Cc: eugen.hristev

This patch implements the hardware triggers support and buffer management
for sama5d2.
The DT modifications ( [PATCH v4 1/4] ARM: dts: at91: sama5d2_xplained:
enable ADTRG pin) are for demonstration purposes of the feature,
setting the pinctrl for the ADC hw trigger pin,should go through
at91 maintainers.
As discussed on the mailing list, since we have a single external trigger
namely the ADTRG, but three different possible edges that can trigger it,
will have a single trigger in the IIO subsystem and three possible edges
which can be selected from the device tree.
Thus I created new bindings in the device tree for having the possible
edge types for the ADTRG pin.
The documentation for the bindings is in the patch
[PATCH v4 2/4] Documentation: dt: iio: at91-sama5d2_adc: add adtrg
 trigger binding
The modifications in the DT are in the patch
[PATCH v4 3/4] ARM: dts: at91: sama5d2: add ADC hw trigger
The new property must be set with the values from interrupt edge types, as this
pin is effectively an internal interrupt.

  Changes in v4:
 - Modified bindings to be similar with interrupts
 - Used iio claim direct to make sure buffer is not enabled when someone might
   try to use a software triggered conversion

  Changes in v3:
 - No longer have all three possible triggers registered in the subsystem and
   available in the sysfs. Only registering one trigger, and the possible edge
   is being read from the device tree. In the device tree, any possible edge
   can be set. There are three already made nodes for each possible edge which
   can be selected.
 - Fixed a bug where software triggered conversion could be started even if
   the hardware trigger was enabled.
 - Preallocate enough space for the buffer, considering all the channels
   and timestamp



  Changes in v2:
 - Moved buffer allocation and freeing into the preenable and postdisable
   callbacks.
   We have a total of scan bytes that can vary a lot depending on each channel
   enabled at a certain point.
 - made the at91 trigger list part of state structure
 - made the iio trigger list preallocated in state structure
 - moved irq enabling/disabling into the try_reenable callback
 - on trigger disable must write disable registries as well
 - Modified trigger name length to 64


Eugen Hristev (4):
  ARM: dts: at91: sama5d2_xplained: enable ADTRG pin
  Documentation: dt: iio: at91-sama5d2_adc: add hw trigger edge binding
  ARM: dts: at91: sama5d2: add ADC hw trigger edge type
  iio: adc: at91-sama5d2_adc: add hw trigger and buffer support

 .../bindings/iio/adc/at91-sama5d2_adc.txt          |   6 +
 arch/arm/boot/dts/at91-sama5d2_xplained.dts        |  16 +-
 arch/arm/boot/dts/sama5d2.dtsi                     |   1 +
 drivers/iio/adc/at91-sama5d2_adc.c                 | 236 ++++++++++++++++++++-
 4 files changed, 253 insertions(+), 6 deletions(-)

-- 
2.7.4

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2017-06-14 15:30 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-06-09  7:07 [PATCH v4 0/4] iio: adc: sama5d2_adc hw triggers and buffers Eugen Hristev
2017-06-09  7:07 ` [PATCH v4 1/4] ARM: dts: at91: sama5d2_xplained: enable ADTRG pin Eugen Hristev
2017-06-09  7:07 ` [PATCH v4 2/4] Documentation: dt: iio: at91-sama5d2_adc: add hw trigger edge binding Eugen Hristev
2017-06-11 11:24   ` Jonathan Cameron
2017-06-11 11:25     ` Jonathan Cameron
2017-06-14 15:30   ` Rob Herring
2017-06-09  7:07 ` [PATCH v4 3/4] ARM: dts: at91: sama5d2: add ADC hw trigger edge type Eugen Hristev
2017-06-09  7:07 ` [PATCH v4 4/4] iio: adc: at91-sama5d2_adc: add hw trigger and buffer support Eugen Hristev
2017-06-11 11:34   ` Jonathan Cameron
2017-06-14  6:57 ` [PATCH v4 0/4] iio: adc: sama5d2_adc hw triggers and buffers Ludovic Desroches

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).