From 9b0ebfb030e9dcd89b391b9e60fd25e88edfdfb9 Mon Sep 17 00:00:00 2001 From: Adrian Alonso Date: Fri, 16 Dec 2011 19:22:08 -0600 Subject: [PATCH] ENGR00170523 imx6q-ard: add egalax touchscreen support * Add egalax touch screen support for sabreauto platform * Add egalax client to correct i2c channel * Fix GPIO assigned to touch screen interrupt * egalax driver depends of LED_CLASS for gpio interrupt handling and HIDRAW for X11 event notification and added to mx6q_defconfig Signed-off-by: Adrian Alonso --- arch/arm/configs/imx6_defconfig | 5 +++-- arch/arm/mach-mx6/board-mx6q_sabreauto.c | 11 ++++------- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/arch/arm/configs/imx6_defconfig b/arch/arm/configs/imx6_defconfig index 16712607b50f..c319c0143d14 100644 --- a/arch/arm/configs/imx6_defconfig +++ b/arch/arm/configs/imx6_defconfig @@ -1523,7 +1523,7 @@ CONFIG_SND_SOC_CS42888=y CONFIG_AC97_BUS=y CONFIG_HID_SUPPORT=y CONFIG_HID=y -# CONFIG_HIDRAW is not set +CONFIG_HIDRAW=y # # USB Input Devices @@ -1763,7 +1763,8 @@ CONFIG_MMC_SDHCI_ESDHC_IMX=y # CONFIG_MMC_DW is not set # CONFIG_MMC_USHC is not set # CONFIG_MEMSTICK is not set -# CONFIG_NEW_LEDS is not set +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y # CONFIG_NFC_DEVICES is not set # CONFIG_ACCESSIBILITY is not set CONFIG_RTC_LIB=y diff --git a/arch/arm/mach-mx6/board-mx6q_sabreauto.c b/arch/arm/mach-mx6/board-mx6q_sabreauto.c index 2b1a1f916f8c..8a03c09cf4e8 100644 --- a/arch/arm/mach-mx6/board-mx6q_sabreauto.c +++ b/arch/arm/mach-mx6/board-mx6q_sabreauto.c @@ -88,7 +88,7 @@ #define MX6Q_SABREAUTO_USB_OTG_PWR IMX_GPIO_NR(3, 22) #define MX6Q_SABREAUTO_MAX7310_1_BASE_ADDR IMX_GPIO_NR(8, 0) #define MX6Q_SABREAUTO_MAX7310_2_BASE_ADDR IMX_GPIO_NR(8, 8) -#define MX6Q_SABREAUTO_CAP_TCH_INT IMX_GPIO_NR(3, 31) +#define MX6Q_SABREAUTO_CAP_TCH_INT IMX_GPIO_NR(2, 28) #define MX6Q_SABREAUTO_IO_EXP_GPIO1(x) \ (MX6Q_SABREAUTO_MAX7310_1_BASE_ADDR + (x)) @@ -291,6 +291,8 @@ static iomux_v3_cfg_t mx6q_sabreauto_pads[] = { MX6Q_PAD_GPIO_1__USBOTG_ID, /* SPDIF */ MX6Q_PAD_KEY_COL3__SPDIF_IN1, + /* Touchscreen interrupt */ + MX6Q_PAD_EIM_EB0__GPIO_2_28, }; static iomux_v3_cfg_t mx6q_sabreauto_i2c3_pads[] = { @@ -688,16 +690,11 @@ static struct i2c_board_info mxc_i2c2_board_info[] __initdata = { .platform_data = &sabr_ddc_dvi_data, .irq = gpio_to_irq(MX6Q_SABREAUTO_DISP0_DET_INT), }, - { - I2C_BOARD_INFO("egalax_ts", 0x4), - .irq = gpio_to_irq(MX6Q_SABREAUTO_CAP_TCH_INT), - }, - }; static struct i2c_board_info mxc_i2c1_board_info[] __initdata = { { - I2C_BOARD_INFO("egalax_ts", 0x4), + I2C_BOARD_INFO("egalax_ts", 0x04), .irq = gpio_to_irq(MX6Q_SABREAUTO_CAP_TCH_INT), }, { -- 2.39.2