Maxim MAX197 driver
===================

Author:
  * Vivien Didelot <vivien.didelot@savoirfairelinux.com>

Supported chips:
  * Maxim MAX197
    Prefix: 'max197'
    Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX197.pdf

  * Maxim MAX199
    Prefix: 'max199'
    Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX199.pdf

Description
-----------

The A/D converters MAX197, and MAX199 are both 8-Channel, Multi-Range, 5V,
12-Bit DAS with 8+4 Bus Interface and Fault Protection.

The available ranges for the MAX197 are {0,-5V} to 5V, and {0,-10V} to 10V,
while they are {0,-2V} to 2V, and {0,-4V} to 4V on the MAX199.

Platform data
-------------

The MAX197 platform data (defined in linux/platform_data/max197.h) should be
filled with a pointer to a conversion function, defined like:

    int convert(u8 ctrl);

ctrl is the control byte to write to start a new conversion.
On success, the function must return the 12-bit raw value read from the chip,
or a negative error code otherwise.

Control byte format:

Bit     Name       Description
7,6     PD1,PD0    Clock and Power-Down modes
5       ACQMOD     Internal or External Controlled Acquisition
4       RNG        Full-scale voltage magnitude at the input
3       BIP        Unipolar or Bipolar conversion mode
2,1,0   A2,A1,A0   Channel

Sysfs interface
---------------

* in[0-7]_input: The conversion value for the corresponding channel.
                 RO

* in[0-7]_min:   The lower limit (in mV) for the corresponding channel.
                 For the MAX197, it will be adjusted to -10000, -5000, or 0.
                 For the MAX199, it will be adjusted to -4000, -2000, or 0.
                 RW

* in[0-7]_max:   The higher limit (in mV) for the corresponding channel.
                 For the MAX197, it will be adjusted to 0, 5000, or 10000.
                 For the MAX199, it will be adjusted to 0, 2000, or 4000.
                 RW
