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