1)首先第一个问题是gt911的从机地址每次上电都会随机在5d和14之间随机变化,不受我设备树所填的属性影响。我在内核中添加了几处打印,我自己编写的设备树节点属性是通过i2c_probe匹配到了,没有动其他的代码,不知道为什么gt911的从机地址会每次上电都自动随机变化,打印信息如下:
·下图是设备树中GT911节点reg属性修改为0x15后内核打印,可以看到是匹配成功了:

但是在arm平台通过i2c-tools扫描到的却是5d,感觉好像和我设备树没有关联一样;

2)第二个问题是i2c_transfer发送信息函数执行失败;内核打印开看报错提示是-6;通过查询得知是没有这个设备或地址;但可以通过i2c-tools的i2cdetect扫描到i2c的设备地址,很奇怪。又因为gt911的寄存器地址是16位的,暂时没有搞明白i2c-tools的i2ctransfer可执行程序的命令行用法,所以判断不了这个i2c-tools扫描到的从机地址是否可以读写:打印信息如下:
下图中good开头是我添加的打印信息;Goodix是系统打印:

下图是goodix部分驱动代码:

下图是通过i2c-tools扫描到的gt911从机地址(0x5d或者0x14):

求有经验或者明白问题可能出在哪儿的牛人解惑;