[PATCH v2 0/3] iio: Add Cosmic Circuits ADC support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Hi,

Thanks everyone for the good feedback. I've tried to address all your comments
on this round but if you spot anything worth of mention (or I forgot
something), please speak out.

Regarding the invalid sample handling, I tried to keep things simple. This
should happen only in the event of hardware failure, so the driver spits a
warning and errors out, as suggested by Jonathan.

The CC10001 ADC IP block will be present on the Pistachio SoC. Upstream
support for this SoC is on the way and will be submitted soon.

As I mentioned in the commit log for the binding, the ADC channels are shared
between the Pistachio SoC and another processor (RPU). To specify which
channels are available to Linux, the binding includes a property
"cosmic,adc-available-channels".

Each CPU gets its own view of the ADC register set, but both act on the
same hardware block. Concurrency is handled by the hardware and is completely
transparent to the OS. This means that if both CPUs make a request
simultaneously, the conversion time would be twice the expected time.
 
The series is based on v3.18-rc2.

Changes from v1:

  * Removed unneeded header includes.

  * Changed all the names and macros prefix: s/CC_10001_/CC10001_.

  * Used .update_scan_mode callback to preallocate the buffer.

  * Used indio_dev for the struct iio_dev.

  * Only read the regulator voltage when needed.

  * Fixed probe() error handling.

  * Used for_each_set_bit() instead of open-coding it.

  * Name the power-down register as _POWER_UP, to make the code
    less silly.

  * Error out when no valid sample can be read (i.e. when end-of-conversion
    poll times out).

  * ... plus some assorted code cleaning based on the feedback.

Ezequiel Garcia (1):
  DT: Add a vendor prefix for Cosmic Circuits

Phani Movva (2):
  iio: adc: Cosmic Circuits 10001 ADC driver
  DT: iio: adc: Add CC_10001 binding documentation

 .../devicetree/bindings/iio/adc/cc_10001_adc.txt   |  19 +
 .../devicetree/bindings/vendor-prefixes.txt        |   1 +
 drivers/iio/adc/Kconfig                            |  10 +
 drivers/iio/adc/Makefile                           |   1 +
 drivers/iio/adc/cc_10001_adc.c                     | 425 +++++++++++++++++++++
 5 files changed, 456 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/iio/adc/cc_10001_adc.txt
 create mode 100644 drivers/iio/adc/cc_10001_adc.c

-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux