Skip to content

Commit

Permalink
hwmon: Add support for Texas Instruments ADS1015
Browse files Browse the repository at this point in the history
Signed-off-by: Dirk Eibach <eibach@gdsys.de>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
  • Loading branch information
Dirk Eibach authored and Jean Delvare committed Mar 21, 2011
1 parent a98d506 commit 8c22a8f
Show file tree
Hide file tree
Showing 7 changed files with 425 additions and 0 deletions.
29 changes: 29 additions & 0 deletions Documentation/devicetree/bindings/hwmon/ads1015.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
ADS1015 (I2C)

This device is a 12-bit A-D converter with 4 inputs.

The inputs can be used single ended or in certain differential combinations.

For configuration all possible combinations are mapped to 8 channels:
0: Voltage over AIN0 and AIN1.
1: Voltage over AIN0 and AIN3.
2: Voltage over AIN1 and AIN3.
3: Voltage over AIN2 and AIN3.
4: Voltage over AIN0 and GND.
5: Voltage over AIN1 and GND.
6: Voltage over AIN2 and GND.
7: Voltage over AIN3 and GND.

Optional properties:

- exported-channels : exported_channels is a bitmask that specifies which
channels should be accessable by the user.

Example:
ads1015@49 {
compatible = "ti,ads1015";
reg = <0x49>;
exported-channels = <0x14>;
};

In this example only channel 2 and 4 would be accessable by the user.
67 changes: 67 additions & 0 deletions Documentation/hwmon/ads1015
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
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

Authors:
Dirk Eibach, Guntermann & Drunck GmbH <eibach@gdsys.de>

Description
-----------

This driver implements support for the Texas Instruments ADS1015.

This device is a 12-bit A-D converter with 4 inputs.

The inputs can be used single ended or in certain differential combinations.

The inputs can be exported to 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 exported can be configured using platform data or devicetree.

By default all inputs are exported.

Platform Data
-------------

In linux/i2c/ads1015.h platform data is defined as:

struct ads1015_platform_data {
unsigned int exported_channels;
};

exported_channels is a bitmask that specifies which inputs should be exported.

Example:
struct ads1015_platform_data data = {
.exported_channels = (1 << 2) | (1 << 4)
};

In this case only in2_input and in4_input would be created.

Devicetree
----------

The ads1015 node may have an "exported-channels" property.
exported_channels is a bitmask that specifies which inputs should be exported.

Example:
ads1015@49 {
compatible = "ti,ads1015";
reg = <0x49>;
exported-channels = < 0x14 >;
};

In this case only in2_input and in4_input would be created.
8 changes: 8 additions & 0 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -365,6 +365,14 @@ W: http://wiki-analog.com/ADP8860
S: Supported
F: drivers/video/backlight/adp8860_bl.c

ADS1015 HARDWARE MONITOR DRIVER
M: Dirk Eibach <eibach@gdsys.de>
L: lm-sensors@lm-sensors.org
S: Maintained
F: Documentation/hwmon/ads1015
F: drivers/hwmon/ads1015.c
F: include/linux/i2c/ads1015.h

ADT746X FAN DRIVER
M: Colin Leroy <colin@colino.net>
S: Maintained
Expand Down
10 changes: 10 additions & 0 deletions drivers/hwmon/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -968,6 +968,16 @@ config SENSORS_SCH5627
This driver can also be built as a module. If so, the module
will be called sch5627.

config SENSORS_ADS1015
tristate "Texas Instruments ADS1015"
depends on I2C
help
If you say yes here you get support for Texas Instruments ADS1015
12-bit 4-input ADC device.

This driver can also be built as a module. If so, the module
will be called ads1015.

config SENSORS_ADS7828
tristate "Texas Instruments ADS7828"
depends on I2C
Expand Down
1 change: 1 addition & 0 deletions drivers/hwmon/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ obj-$(CONFIG_SENSORS_ADM1026) += adm1026.o
obj-$(CONFIG_SENSORS_ADM1029) += adm1029.o
obj-$(CONFIG_SENSORS_ADM1031) += adm1031.o
obj-$(CONFIG_SENSORS_ADM9240) += adm9240.o
obj-$(CONFIG_SENSORS_ADS1015) += ads1015.o
obj-$(CONFIG_SENSORS_ADS7828) += ads7828.o
obj-$(CONFIG_SENSORS_ADS7871) += ads7871.o
obj-$(CONFIG_SENSORS_ADT7411) += adt7411.o
Expand Down
Loading

0 comments on commit 8c22a8f

Please sign in to comment.