Hi, This patch has the fix for the Touch Screen issue on OMAP3 ES2.0.The IRQ for the TS has been defined as 3 and 2 for ES1 and ES2 and the IRQ assignment is done at run time. Regards, Teerth Fix for the Touch Screen issue on OMAP3 ES2.0.The IRQ for the TS has been defined as 3 and 2 for ES1 and ES2 and the IRQ assignment is done at run time. Signed-off-by: Teerth Reddy <teerth@xxxxxx> --- arch/arm/mach-omap2/board-3430sdp.c | 21 +++++++++++++++------ include/asm-arm/arch-omap/board-3430sdp.h | 3 ++- 2 files changed, 17 insertions(+), 7 deletions(-) Index: linux-omap-2.6/include/asm-arm/arch-omap/board-3430sdp.h =================================================================== --- linux-omap-2.6.orig/include/asm-arm/arch-omap/board-3430sdp.h 2007-12-24 17:37:58.582784993 +0530 +++ linux-omap-2.6/include/asm-arm/arch-omap/board-3430sdp.h 2007-12-24 18:10:45.195145786 +0530 @@ -42,7 +42,8 @@ /* * GPIO used for TSC2046, TI's Touchscreen controller */ -#define TS_GPIO 3 +#define OMAP34XX_TS_GPIO_IRQ_SDPV1 3 +#define OMAP34XX_TS_GPIO_IRQ_SDPV2 2 /* NAND */ /* IMPORTANT NOTE ON MAPPING Index: linux-omap-2.6/arch/arm/mach-omap2/board-3430sdp.c =================================================================== --- linux-omap-2.6.orig/arch/arm/mach-omap2/board-3430sdp.c 2007-12-24 18:09:06.124302962 +0530 +++ linux-omap-2.6/arch/arm/mach-omap2/board-3430sdp.c 2007-12-24 18:10:45.196145755 +0530 @@ -121,6 +121,8 @@ }, }; +static int ts_gpio; + #ifdef CONFIG_RTC_DRV_TWL4030 static int twl4030_rtc_init(void) { @@ -182,20 +184,20 @@ */ static void ads7846_dev_init(void) { - if (omap_request_gpio(TS_GPIO) < 0) { + if (omap_request_gpio(ts_gpio) < 0) { printk(KERN_ERR "can't get ads746 pen down GPIO\n"); return; } - omap_set_gpio_direction(TS_GPIO, 1); + omap_set_gpio_direction(ts_gpio, 1); - omap_set_gpio_debounce(TS_GPIO, 1); - omap_set_gpio_debounce_time(TS_GPIO, 0xa); + omap_set_gpio_debounce(ts_gpio, 1); + omap_set_gpio_debounce_time(ts_gpio, 0xa); } static int ads7846_get_pendown_state(void) { - return !omap_get_gpio_datain(TS_GPIO); + return !omap_get_gpio_datain(ts_gpio); } /* @@ -251,7 +253,7 @@ .chip_select = 0, .max_speed_hz = 1500000, .controller_data = &tsc2046_mcspi_config, - .irq = OMAP_GPIO_IRQ(TS_GPIO), + .irq = 0, .platform_data = &tsc2046_config, }, }; @@ -338,6 +340,13 @@ platform_add_devices(sdp3430_devices, ARRAY_SIZE(sdp3430_devices)); omap_board_config = sdp3430_config; omap_board_config_size = ARRAY_SIZE(sdp3430_config); + + if (is_sil_rev_greater_than(OMAP3430_REV_ES1_0)) + ts_gpio = OMAP34XX_TS_GPIO_IRQ_SDPV2; + else + ts_gpio = OMAP34XX_TS_GPIO_IRQ_SDPV1; + + sdp3430_spi_board_info[0].irq = OMAP_GPIO_IRQ(ts_gpio); spi_register_board_info(sdp3430_spi_board_info, ARRAY_SIZE(sdp3430_spi_board_info)); sdp3430_flash_init(); - To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html