61 lines
		
	
	
	
		
			1.9 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			61 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 |