6c1fe725fd
The MAX197 is an A/D converter, made by Maxim. This driver currently supports the MAX197, and MAX199. They 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. Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
60 lines
1.9 KiB
Text
60 lines
1.9 KiB
Text
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
|