Kernel driver max197¶
Author:
- Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Supported chips:
Maxim MAX197
Prefix: ‘max197’
Maxim MAX199
Prefix: ‘max199’
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