Commit | Line | Data |
---|---|---|
8c22a8f5 DE |
1 | Kernel driver ads1015 |
2 | ===================== | |
3 | ||
4 | Supported chips: | |
5 | * Texas Instruments ADS1015 | |
6 | Prefix: 'ads1015' | |
7 | Datasheet: Publicly available at the Texas Instruments website : | |
8 | http://focus.ti.com/lit/ds/symlink/ads1015.pdf | |
60c1f31f ED |
9 | * Texas Instruments ADS1115 |
10 | Prefix: 'ads1115' | |
11 | Datasheet: Publicly available at the Texas Instruments website : | |
12 | http://focus.ti.com/lit/ds/symlink/ads1115.pdf | |
8c22a8f5 DE |
13 | |
14 | Authors: | |
15 | Dirk Eibach, Guntermann & Drunck GmbH <eibach@gdsys.de> | |
16 | ||
17 | Description | |
18 | ----------- | |
19 | ||
60c1f31f | 20 | This driver implements support for the Texas Instruments ADS1015/ADS1115. |
8c22a8f5 | 21 | |
60c1f31f | 22 | This device is a 12/16-bit A-D converter with 4 inputs. |
8c22a8f5 DE |
23 | |
24 | The inputs can be used single ended or in certain differential combinations. | |
25 | ||
c0046867 | 26 | The inputs can be made available by 8 sysfs input files in0_input - in7_input: |
8c22a8f5 DE |
27 | in0: Voltage over AIN0 and AIN1. |
28 | in1: Voltage over AIN0 and AIN3. | |
29 | in2: Voltage over AIN1 and AIN3. | |
30 | in3: Voltage over AIN2 and AIN3. | |
31 | in4: Voltage over AIN0 and GND. | |
32 | in5: Voltage over AIN1 and GND. | |
33 | in6: Voltage over AIN2 and GND. | |
34 | in7: Voltage over AIN3 and GND. | |
35 | ||
c0046867 | 36 | Which inputs are available can be configured using platform data or devicetree. |
8c22a8f5 DE |
37 | |
38 | By default all inputs are exported. | |
39 | ||
40 | Platform Data | |
41 | ------------- | |
42 | ||
c0046867 DE |
43 | In linux/i2c/ads1015.h platform data is defined, channel_data contains |
44 | configuration data for the used input combinations: | |
45 | - pga is the programmable gain amplifier (values are full scale) | |
46 | 0: +/- 6.144 V | |
47 | 1: +/- 4.096 V | |
48 | 2: +/- 2.048 V | |
49 | 3: +/- 1.024 V | |
50 | 4: +/- 0.512 V | |
51 | 5: +/- 0.256 V | |
52 | - data_rate in samples per second | |
53 | 0: 128 | |
54 | 1: 250 | |
55 | 2: 490 | |
56 | 3: 920 | |
57 | 4: 1600 | |
58 | 5: 2400 | |
59 | 6: 3300 | |
8c22a8f5 DE |
60 | |
61 | Example: | |
62 | struct ads1015_platform_data data = { | |
c0046867 DE |
63 | .channel_data = { |
64 | [2] = { .enabled = true, .pga = 1, .data_rate = 0 }, | |
65 | [4] = { .enabled = true, .pga = 4, .data_rate = 5 }, | |
66 | } | |
8c22a8f5 DE |
67 | }; |
68 | ||
c0046867 DE |
69 | In this case only in2_input (FS +/- 4.096 V, 128 SPS) and in4_input |
70 | (FS +/- 0.512 V, 2400 SPS) would be created. | |
8c22a8f5 DE |
71 | |
72 | Devicetree | |
73 | ---------- | |
74 | ||
c0046867 DE |
75 | Configuration is also possible via devicetree: |
76 | Documentation/devicetree/bindings/hwmon/ads1015.txt |