mirror of https://gitee.com/openkylin/linux.git
91 lines
2.1 KiB
ReStructuredText
91 lines
2.1 KiB
ReStructuredText
|
Kernel driver ads1015
|
||
|
=====================
|
||
|
|
||
|
Supported chips:
|
||
|
|
||
|
* Texas Instruments ADS1015
|
||
|
|
||
|
Prefix: 'ads1015'
|
||
|
|
||
|
Datasheet: Publicly available at the Texas Instruments website:
|
||
|
|
||
|
http://focus.ti.com/lit/ds/symlink/ads1015.pdf
|
||
|
|
||
|
* Texas Instruments ADS1115
|
||
|
|
||
|
Prefix: 'ads1115'
|
||
|
|
||
|
Datasheet: Publicly available at the Texas Instruments website:
|
||
|
|
||
|
http://focus.ti.com/lit/ds/symlink/ads1115.pdf
|
||
|
|
||
|
Authors:
|
||
|
Dirk Eibach, Guntermann & Drunck GmbH <eibach@gdsys.de>
|
||
|
|
||
|
Description
|
||
|
-----------
|
||
|
|
||
|
This driver implements support for the Texas Instruments ADS1015/ADS1115.
|
||
|
|
||
|
This device is a 12/16-bit A-D converter with 4 inputs.
|
||
|
|
||
|
The inputs can be used single ended or in certain differential combinations.
|
||
|
|
||
|
The inputs can be made available by 8 sysfs input files in0_input - in7_input:
|
||
|
|
||
|
- in0: Voltage over AIN0 and AIN1.
|
||
|
- in1: Voltage over AIN0 and AIN3.
|
||
|
- in2: Voltage over AIN1 and AIN3.
|
||
|
- in3: Voltage over AIN2 and AIN3.
|
||
|
- in4: Voltage over AIN0 and GND.
|
||
|
- in5: Voltage over AIN1 and GND.
|
||
|
- in6: Voltage over AIN2 and GND.
|
||
|
- in7: Voltage over AIN3 and GND.
|
||
|
|
||
|
Which inputs are available can be configured using platform data or devicetree.
|
||
|
|
||
|
By default all inputs are exported.
|
||
|
|
||
|
Platform Data
|
||
|
-------------
|
||
|
|
||
|
In linux/platform_data/ads1015.h platform data is defined, channel_data contains
|
||
|
configuration data for the used input combinations:
|
||
|
|
||
|
- pga is the programmable gain amplifier (values are full scale)
|
||
|
|
||
|
- 0: +/- 6.144 V
|
||
|
- 1: +/- 4.096 V
|
||
|
- 2: +/- 2.048 V
|
||
|
- 3: +/- 1.024 V
|
||
|
- 4: +/- 0.512 V
|
||
|
- 5: +/- 0.256 V
|
||
|
|
||
|
- data_rate in samples per second
|
||
|
|
||
|
- 0: 128
|
||
|
- 1: 250
|
||
|
- 2: 490
|
||
|
- 3: 920
|
||
|
- 4: 1600
|
||
|
- 5: 2400
|
||
|
- 6: 3300
|
||
|
|
||
|
Example::
|
||
|
|
||
|
struct ads1015_platform_data data = {
|
||
|
.channel_data = {
|
||
|
[2] = { .enabled = true, .pga = 1, .data_rate = 0 },
|
||
|
[4] = { .enabled = true, .pga = 4, .data_rate = 5 },
|
||
|
}
|
||
|
};
|
||
|
|
||
|
In this case only in2_input (FS +/- 4.096 V, 128 SPS) and in4_input
|
||
|
(FS +/- 0.512 V, 2400 SPS) would be created.
|
||
|
|
||
|
Devicetree
|
||
|
----------
|
||
|
|
||
|
Configuration is also possible via devicetree:
|
||
|
Documentation/devicetree/bindings/hwmon/ads1015.txt
|