
最近在调试全志T527的触摸功能时发现GT911触摸芯片的I2C地址有时是0x5d有时又识别成0x14不知道大家有没有遇到过类似这个情况。虽然最后使用0x5d地址调通了触摸功能但是一直还是很困惑为什么会出现0x14和0x5d两个i2c地址呢于是开始在GT911芯片规格书寻找答案…查阅规格书发现原来GT911会根据RTS和INT的开机时序来决定I2C地址是0x14还是0x5d。在通信中GT911始终作为从设备其I2C设备地址由7位设备地址加1位读写控制位组成高7位为地址bit0为读写控制位。GT911有两个从设备地址可供选择 如下表每次上电或复位时需要使用 INT 脚进行I2C地址设置如下是设定不同I2C地址的时序图。设定地址为 0x28/0x29 的时序设定地址为 0xBA/0xBB 的时序在实际应用中Linux内核提供的gt9xx.c触摸驱动默认时序设定的I2C地址为0x5d调试中偶尔出现0x14地址多数情况是由于dts的RTS或INT引脚配置不正确导致。至于GT911为什么要有两个I2C地址下回分解。