blob: 8d89b9009df868e90c3dd6aba287dd28d4f8d251 [file] [log] [blame]
Vivien Didelot6c1fe722012-08-30 21:42:57 -04001Maxim MAX197 driver
2===================
3
4Author:
5 * Vivien Didelot <vivien.didelot@savoirfairelinux.com>
6
7Supported chips:
8 * Maxim MAX197
9 Prefix: 'max197'
10 Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX197.pdf
11
12 * Maxim MAX199
13 Prefix: 'max199'
14 Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX199.pdf
15
16Description
17-----------
18
19The A/D converters MAX197, and MAX199 are both 8-Channel, Multi-Range, 5V,
2012-Bit DAS with 8+4 Bus Interface and Fault Protection.
21
22The available ranges for the MAX197 are {0,-5V} to 5V, and {0,-10V} to 10V,
23while they are {0,-2V} to 2V, and {0,-4V} to 4V on the MAX199.
24
25Platform data
26-------------
27
28The MAX197 platform data (defined in linux/platform_data/max197.h) should be
29filled with a pointer to a conversion function, defined like:
30
31 int convert(u8 ctrl);
32
33ctrl is the control byte to write to start a new conversion.
34On success, the function must return the 12-bit raw value read from the chip,
35or a negative error code otherwise.
36
37Control byte format:
38
39Bit Name Description
407,6 PD1,PD0 Clock and Power-Down modes
415 ACQMOD Internal or External Controlled Acquisition
424 RNG Full-scale voltage magnitude at the input
433 BIP Unipolar or Bipolar conversion mode
442,1,0 A2,A1,A0 Channel
45
46Sysfs interface
47---------------
48
49* in[0-7]_input: The conversion value for the corresponding channel.
50 RO
51
52* in[0-7]_min: The lower limit (in mV) for the corresponding channel.
53 For the MAX197, it will be adjusted to -10000, -5000, or 0.
54 For the MAX199, it will be adjusted to -4000, -2000, or 0.
55 RW
56
57* in[0-7]_max: The higher limit (in mV) for the corresponding channel.
58 For the MAX197, it will be adjusted to 0, 5000, or 10000.
59 For the MAX199, it will be adjusted to 0, 2000, or 4000.
60 RW