Commit cab91594 authored by Alexandre Belloni's avatar Alexandre Belloni Committed by Nicolas Ferre

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: default avatarAlexandre Belloni <alexandre.belloni@free-electrons.com>
Acked-by: default avatarJonathan Cameron <jic23@kernel.org>
Signed-off-by: default avatarNicolas Ferre <nicolas.ferre@atmel.com>
parent 84882b06
...@@ -182,7 +182,7 @@ static struct clk vdec_clk = { ...@@ -182,7 +182,7 @@ static struct clk vdec_clk = {
static struct clk adc_op_clk = { static struct clk adc_op_clk = {
.name = "adc_op_clk", .name = "adc_op_clk",
.type = CLK_TYPE_PERIPHERAL, .type = CLK_TYPE_PERIPHERAL,
.rate_hz = 13200000, .rate_hz = 300000,
}; };
/* AES/TDES/SHA clock - Only for sam9m11/sam9g56 */ /* AES/TDES/SHA clock - Only for sam9m11/sam9g56 */
......
...@@ -316,6 +316,7 @@ static struct at91_adc_data ek_adc_data = { ...@@ -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), .channels_used = BIT(0) | BIT(1) | BIT(2) | BIT(3) | BIT(4) | BIT(5) | BIT(6) | BIT(7),
.use_external_triggers = true, .use_external_triggers = true,
.vref = 3300, .vref = 3300,
.touchscreen_type = ATMEL_ADC_TOUCHSCREEN_4WIRE,
}; };
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment