From d2bd416cbc0b3dce2dd36cbe67024e023041d6bb Mon Sep 17 00:00:00 2001 From: Bhuvanchandra DV Date: Wed, 6 Sep 2017 14:24:56 +0530 Subject: 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 Acked-by: Marcel Ziswiler --- arch/arm/configs/colibri_t20_defconfig | 1 + arch/arm/mach-tegra/board-colibri_t20.c | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/arch/arm/configs/colibri_t20_defconfig b/arch/arm/configs/colibri_t20_defconfig index 847ee2903abb..f5648c8f8c33 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 5e74974561b9..d55867883ada 100644 --- a/arch/arm/mach-tegra/board-colibri_t20.c +++ b/arch/arm/mach-tegra/board-colibri_t20.c @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -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 = { -- cgit v1.2.3