工具/软件:Linux
大家好、
我们基于 AM3354 处理器设计了定制板,其中使用了 AM335x-EVM 和 Beagle Bone 作为参考设计。我们通过 i2c 总线连接了 FT5x06 (FT5406)电容式触摸屏。为启动触摸屏驱动程序进行了以下更改。
处理器侧 触摸屏
I2C2_SDA <--- > TOUCH SDA
I2C2_SCL <--- > TOUCH SCL
GPIO3_18 -------------- > touch _WAK
GPIO3_20 <--- touch
1.修改 了触摸屏和 i2c 相关的器件树、然后构建"DTB"并加载到电路板上
i2c2_pins:pinmux_i2c2_pins{
pinctrl-single、pins =<
0x17c (PIN_INPUT_PULLUP | MUX_MODE3)/*(D17) uart1_rts.I2C2_SCL *
0x178 (PIN_INPUT_PULLUP | MUX_MODE3)/*(D18) uart1_CTSN.I2C2_SDA *
>;
};
EDT_ft5406_ts_pins:EDT_ft5406_ts_pins{
pinctrl-single、pins =<
0x1a8 (PIN_INPUT | MUX_MODE7)/*(D13) McASP0_axr1.GPIO3[20]*/
0x1a0 (PIN_OUTPUT | MUX_MODE7)/*(B12) McASP0_aclkr.GPIO3[18]*/
>;
};
i2c2{(&I)
状态="正常";
pinctrl-names ="default";
pinctrl-0 =<&i2c2_PINs>;
时钟频率=<400000>;
EDT-ft5406@38{
状态="正常";
兼容="EDT、EDT-ft5406"、"EDT、EDT-ft5x06";
pinctrl-names ="default";
pinctrl-0 =<&EDT_ft5406_ts_PINs>;
reg =<0x38>;
interrupt-parent =<&GPIO3>;
中断=<20 IRQ_TYPE_EDGE_FALLING>;
/* RESET-GPIO =<&GPIO3 18 GPIO_ACTIVE_LOW>;*/
WAKE-GPIO =<&GPIO3 18 GPIO_ACTIVE_LOW>;
触摸屏大小-x =<800>;
触摸屏大小-y =<480>;
};
};
2.添加了 EDT-FT5x06驱动程序作为内置驱动程序并将"zImage"加载到电路板。
但在探测过程中触摸屏驱动程序出现问题、同时也未检测到 i2c-2设备地址。以下是触摸屏的左侧
1.以下引导消息用于 引导期间的 touch 和 i2c
[2.029642] EDT_ft5x06 2-0038:触摸屏探头失败
[2.034956] EDT_ft5x06:2-0038探头失败、错误-121
[2.049657] OMAP_i2c 4819c000.i2c:总线2 rev0.11、频率为400kHz
2. dmesg 打印 以下日志:
[2.007054] EDT_ft5x06 2-0038:GPIO 查找以进行使用者复位
[2.007080] EDT_ft5x06 2-0038:使用器件树进行 GPIO 查找
[2.007100] of _get_named_gpio_FLAGS:无法解析节点'/ocp/i2c@4819c000/EDT-ft5406@38[0]'的'set-gpio'属性
[2.007115] of_get_named_gpio_FLAGS:无法解析节点'/ocp/i2c@4819c000/EDT-ft5406@38[0]'的'set-GPIO'属性
[2.007128] EDT_ft5x06 2-0038:使用查找表进行 GPIO 查找
[2.007142] EDT_ft5x06 2-0038:查找 GPIO 复位失败
[2.007155] EDT_ft5x06 2-0038:用于消费者唤醒的 GPIO 查找
[2.007166] EDT_ft5x06 2-0038:使用器件树进行 GPIO 查找
[2.007200] of _get_named_gpio_FLAGS:已解析节点'/ocp/i2c@4819c000/EDT-ft5406@38[0]'的'WAKE-GPIO'属性-状态(0)
[2.029642] EDT_ft5x06 2-0038:触摸屏探头失败
[2.034956] EDT_ft5x06:2-0038探头失败、错误-121
[2.049657] OMAP_i2c 4819c000.i2c:总线2 rev0.11、频率为400kHz
i2cdetect 命令未检测到 I2C 地址
root@AM335x-EVM:~# i2cdetect -r 2.
警告! 该程序会使您的 I2C 总线混淆、导致数据丢失和更糟糕的情况!
我将使用读取字节命令探测文件/dev/i2c-2。
我将探测地址范围0x03-0x77。
继续? [是/否]
0 1 2 3 4 5 6 7 8 9 A b c d e f
00: ------------ ------------ ------
10:------------ ------------ ------------ --
20:------------ ------------ ------------ --
30:------------ ------------ ------------ --
40:------------ ------------ ------------ --
50:---------- ------------ ------------ --
60:------------ ------------ ------------ --
70:------------ ------
4."Cat /proc/bus/input/devices "命令未列出任何与触摸屏相关的设备。
5.触摸 LCD 面板时,“Cat /proc/interrupt”命令未显示触摸屏的递增计数。
请说明问题的可能原因和解决方法。
谢谢、
Anil