Ten4上使用了新的触摸屏novatek,中文名字叫做联咏科技吧。但是从一开始研发就有个问题,就是开机后,触摸屏无法使用,只有重启才行。
本来以为是手焊板子的问题。可是后来小批也有此问题。看来不得不解决了。
起初,怀疑触摸屏驱动有问题,但是对照其他触摸屏驱动,i2c操作部分没有什么区别。但就是一直报omap i2c timeout 。
网上搜了一下,TI的平台确实有这个问题,但是最新的上游代码,应该已经修复了这个问题。我加了一个上游提交被驳回的patch,还是会出现,概率为重启十几次就会出现一次。
触摸屏接在i2c 4上面,速率为400K,难道是速率太快?改为100K,还是会出问题。没有找到问题的根本。
再次考虑驱动的问题,暂时不能考虑硬件问题。
对比其他驱动,发现一个很大的问题。
在probe的时候
//Read and Print ChipID and test IC;
chipid = novatek_ts_ChipID(ts->client);
if(chipid < 0)
{
goto err_init_panel_fail;
}
else
client->irq = pdata->irq;
pdata->irq_init();
pdata->rst();
在没有reset设备的情况下,进行了i2c读写操作&#x