summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBhuvanchandra DV <bhuvanchandra.dv@toradex.com>2017-09-06 14:24:56 +0530
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>2017-09-26 17:35:44 +0200
commitd2bd416cbc0b3dce2dd36cbe67024e023041d6bb (patch)
treea1e797ff7c3664da2b2ff13941144a873574334e
parent0cba15864f7a7011852472a6ff175ff420ec40d6 (diff)
ARM: mach-tegra: colibri_t20: integrate atmel mxt multitouch controller
Integrate Atmel MXT multitouch controller driver which is interfaced over I2C bus. The driver supports the 7" multitouch variant available from Logic Technologies. Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
-rw-r--r--arch/arm/configs/colibri_t20_defconfig1
-rw-r--r--arch/arm/mach-tegra/board-colibri_t20.c18
2 files changed, 19 insertions, 0 deletions
diff --git a/arch/arm/configs/colibri_t20_defconfig b/arch/arm/configs/colibri_t20_defconfig
index 847ee29..f5648c8 100644
--- a/arch/arm/configs/colibri_t20_defconfig
+++ b/arch/arm/configs/colibri_t20_defconfig
@@ -189,6 +189,7 @@ CONFIG_INPUT_KEYRESET=y
CONFIG_KEYBOARD_GPIO=y
# CONFIG_INPUT_MOUSE is not set
CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ATMEL_MXT=m
CONFIG_TOUCHSCREEN_WM97XX=y
# CONFIG_TOUCHSCREEN_WM9705 is not set
# CONFIG_TOUCHSCREEN_WM9713 is not set
diff --git a/arch/arm/mach-tegra/board-colibri_t20.c b/arch/arm/mach-tegra/board-colibri_t20.c
index 5e74974..d558678 100644
--- a/arch/arm/mach-tegra/board-colibri_t20.c
+++ b/arch/arm/mach-tegra/board-colibri_t20.c
@@ -21,6 +21,7 @@
#include <linux/i2c-tegra.h>
#include <linux/input.h>
#include <linux/input/fusion_F0710A.h>
+#include <linux/platform_data/atmel_mxt_ts.h>
#include <linux/io.h>
#include <linux/leds_pwm.h>
#include <linux/lm95245.h>
@@ -636,6 +637,17 @@ static struct fusion_f0710a_init_data colibri_fusion_pdata = {
.gpio_reset = TEGRA_GPIO_PA6, /* SO-DIMM 30: Reset interrupt */
};
+/*
+ * Atmel touch screen GPIOs (using Toradex display/touch adapter)
+ * Aster X3-4, SODIMM pin 107 , pen down interrupt
+ * gpio_request muxes the GPIO function automatically, we only have to make
+ * sure input/output muxing is done and the GPIO is freed here.
+ */
+static struct mxt_platform_data colibri_atmel_pdata = {
+ .suspend_mode = MXT_SUSPEND_T9_CTRL,
+ .irqflags = IRQF_TRIGGER_FALLING,
+};
+
/* I2C */
/* GEN1_I2C: I2C_SDA/SCL on SODIMM pin 194/196 (e.g. RTC on carrier board) */
@@ -650,6 +662,12 @@ static struct i2c_board_info colibri_t20_i2c_bus1_board_info[] __initdata = {
I2C_BOARD_INFO("fusion_F0710A", 0x10),
.platform_data = &colibri_fusion_pdata,
},
+ {
+ /* Atmel MAX TS 7 multi-touch controller */
+ I2C_BOARD_INFO("atmel_mxt_ts", 0x4a),
+ .platform_data = &colibri_atmel_pdata,
+ .irq = TEGRA_GPIO_TO_IRQ( TEGRA_GPIO_PK3 ),
+ },
};
static struct tegra_i2c_platform_data colibri_t20_i2c1_platform_data = {