Kernel driver max197 ==================== 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 ============== ==============================================================