Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 188053
b: refs/heads/master
c: 06a0912
h: refs/heads/master
i:
  188051: 1da46d9
v: v3
  • Loading branch information
Michael Hennerich authored and Dmitry Torokhov committed Mar 10, 2010
1 parent 67f8ac6 commit cb7ce7b
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 6 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 9e49f6c1339a7972e23a335c4c71a289b4c6f65b
refs/heads/master: 06a09124b5ec65f81df66c56695d9a9ae04a0114
9 changes: 5 additions & 4 deletions trunk/drivers/input/touchscreen/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -24,17 +24,18 @@ config TOUCHSCREEN_88PM860X
module will be called 88pm860x-ts.

config TOUCHSCREEN_ADS7846
tristate "ADS7846/TSC2046 and ADS7843 based touchscreens"
tristate "ADS7846/TSC2046/AD7873 and AD(S)7843 based touchscreens"
depends on SPI_MASTER
depends on HWMON = n || HWMON
help
Say Y here if you have a touchscreen interface using the
ADS7846/TSC2046 or ADS7843 controller, and your board-specific
setup code includes that in its table of SPI devices.
ADS7846/TSC2046/AD7873 or ADS7843/AD7843 controller,
and your board-specific setup code includes that in its
table of SPI devices.

If HWMON is selected, and the driver is told the reference voltage
on your board, you will also get hwmon interfaces for the voltage
(and on ads7846/tsc2046, temperature) sensors of this chip.
(and on ads7846/tsc2046/ad7873, temperature) sensors of this chip.

If unsure, say N (but it's safe to say "Y").

Expand Down
10 changes: 10 additions & 0 deletions trunk/drivers/input/touchscreen/ads7846.c
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
* TSC2046 is just newer ads7846 silicon.
* Support for ads7843 tested on Atmel at91sam926x-EK.
* Support for ads7845 has only been stubbed in.
* Support for Analog Devices AD7873 and AD7843 tested.
*
* IRQ handling needs a workaround because of a shortcoming in handling
* edge triggered IRQs on some platforms like the OMAP1/2. These
Expand Down Expand Up @@ -984,6 +985,15 @@ static int __devinit ads7846_probe(struct spi_device *spi)

vref = pdata->keep_vref_on;

if (ts->model == 7873) {
/* The AD7873 is almost identical to the ADS7846
* keep VREF off during differential/ratiometric
* conversion modes
*/
ts->model = 7846;
vref = 0;
}

/* set up the transfers to read touchscreen state; this assumes we
* use formula #2 for pressure, not #3.
*/
Expand Down
2 changes: 1 addition & 1 deletion trunk/include/linux/spi/ads7846.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ enum ads7846_filter {
};

struct ads7846_platform_data {
u16 model; /* 7843, 7845, 7846. */
u16 model; /* 7843, 7845, 7846, 7873. */
u16 vref_delay_usecs; /* 0 for external vref; etc */
u16 vref_mv; /* external vref value, milliVolts */
bool keep_vref_on; /* set to keep vref on for differential
Expand Down

0 comments on commit cb7ce7b

Please sign in to comment.