| 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 |