首先要非常感謝各位同事的幫忙
然而我覺得本次成功的關鍵在硬體
需要依照規格書上的System Hardware Configuration設置硬體
硬體環境設置好以後就需要搭配程式碼了
這次更動的是 kernel/arch/arm/mach-omap2/board-44xx-tablet-touch.c這裡
我們需要增加一組I2C Driver並透過struct存放腳位資訊
static struct gt9xx_platform_data gt9xx_info = {
.GTP_RST_PORT= OMAP_GPIO_IRQ(23),
.GTP_INT_PORT= OMAP_GPIO_IRQ(35),
.GTP_INT_IRQ= OMAP_GPIO_IRQ(35),
// .GTP_INT_CFG= ; //S3C_GPIO_SFN(0xF)
};
static struct i2c_board_info __initdata omap4xx_i2c_bus4_touch_info[] = {
{
I2C_BOARD_INFO("Goodix-TS", 0x14),
.irq = OMAP_GPIO_IRQ(OMAP4_TOUCH_IRQ_2),
.platform_data = >9xx_info,
},
{
I2C_BOARD_INFO(QTOUCH_TS_NAME, 0x4b),
.platform_data = &atmel_mxt224_ts_platform_data,
.irq = OMAP_GPIO_IRQ(OMAP4_TOUCH_IRQ_1),
},
#ifdef CONFIG_TOUCHSCREEN_CYPRESS_TTSP
{
I2C_BOARD_INFO(CY_I2C_NAME, CY_I2C_TCH_ADR),
.platform_data = &cyttsp4_i2c_touch_platform_data,
.irq = OMAP_GPIO_IRQ(OMAP4_TOUCH_IRQ_1),
},
#endif
};
除此以外我們需要知道INT腳與RES腳
須注意在driver中的Driver Name(在h檔中)必須與註冊時(Goodix-TS)的名字相呼應
最後再將程式碼放入kernel/drivers/input/touchscreen/裡編譯
在這裡最重要的是INT腳要傳對(軟體硬體需要互相搭配)
這幾天也辛苦處理硬體的同事了(多虧了他量波型, 測電壓, 確認腳位, 跳腺等)
經過這次我發現硬體真的很重要!不管程式怎麼改,如果硬體兜不攏那也就別想成功!