summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorAlexandre Belloni <alexandre.belloni@free-electrons.com>2014-04-15 12:28:00 +0200
committerNicolas Ferre <nicolas.ferre@atmel.com>2014-05-07 18:28:40 +0200
commitcab915947466112c6c5139ba132ea8d19ac06c6d (patch)
tree964d9b7943b26054fb87df998b85ab546fcd9588 /arch
parentiio: adc: at91_adc: Add support for touchscreens without TSMR (diff)
downloadlinux-cab915947466112c6c5139ba132ea8d19ac06c6d.tar.xz
linux-cab915947466112c6c5139ba132ea8d19ac06c6d.zip
ARM: at91: sam9m10g45ek: Add touchscreen support through at91_adc
at91_adc now supports reading a touchscreen for ADCs without a TSMR register. Enable touchscreen support through at91_adc. This allows to use both a touchscreen and the remaining ADC channel at the same time. Also, lower the clock for the ADC as it allows to have more stable reads and this is the speed used by atmel_tsadcc. It lowers the maximum throughput rate from 440000 samples per second to 12958 samples per second. It shouldn't be an issue as the CPU is not able to keep up reading samples at that frequency. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: Jonathan Cameron <jic23@kernel.org> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-at91/at91sam9g45.c2
-rw-r--r--arch/arm/mach-at91/board-sam9m10g45ek.c1
2 files changed, 2 insertions, 1 deletions
diff --git a/arch/arm/mach-at91/at91sam9g45.c b/arch/arm/mach-at91/at91sam9g45.c
index 5e6f498db0a8..9d3d544ac19c 100644
--- a/arch/arm/mach-at91/at91sam9g45.c
+++ b/arch/arm/mach-at91/at91sam9g45.c
@@ -182,7 +182,7 @@ static struct clk vdec_clk = {
static struct clk adc_op_clk = {
.name = "adc_op_clk",
.type = CLK_TYPE_PERIPHERAL,
- .rate_hz = 13200000,
+ .rate_hz = 300000,
};
/* AES/TDES/SHA clock - Only for sam9m11/sam9g56 */
diff --git a/arch/arm/mach-at91/board-sam9m10g45ek.c b/arch/arm/mach-at91/board-sam9m10g45ek.c
index 5cd95ede623e..ffef9698d2c1 100644
--- a/arch/arm/mach-at91/board-sam9m10g45ek.c
+++ b/arch/arm/mach-at91/board-sam9m10g45ek.c
@@ -316,6 +316,7 @@ static struct at91_adc_data ek_adc_data = {
.channels_used = BIT(0) | BIT(1) | BIT(2) | BIT(3) | BIT(4) | BIT(5) | BIT(6) | BIT(7),
.use_external_triggers = true,
.vref = 3300,
+ .touchscreen_type = ATMEL_ADC_TOUCHSCREEN_4WIRE,
};
/*