1. 前言
使用一个941连接2 948显示: 941的GPIO0/1/2/3到前948的GPIO0/1/2/3和941的D_GPIO0/1/2/3到948的GPIO0/1/2/3。 设置gpio3输出,则941的D_GPIO3设置高,而948的gpio3设置不高; 但设置gpio3输入后,看到941的D_GPIO3跟随948的gpio3变化。
2. 原理图连接<
log:
[ 1.498605] Semidrive DS941 DS948 Goodix-TS 5-0014: goodix_ts_probe(): get_gpio error=0 [ 1.506790] Semidrive DS941 DS948 Goodix-TS 5-0014: ts->addr_ds941=0xd, ts->addr_ds948=0x3c [ 1.515252] Semidrive DS941 DS948 Goodix-TS 5-0014: ts->irq_channel=3, ts->reset_channel=2 [ 1.543934] Semidrive DS941 DS948 Goodix-TS 5-0014: 941[4] reg=0x1e, val=0x4 [ 1.553453] Semidrive DS941 DS948 Goodix-TS 5-0014: 941 reg=0x17, val=0x9e [ 1.560793] Semidrive DS941 DS948 Goodix-TS 5-0014: 941 reg=0x7, val=0xba [ 1.568074] Semidrive DS941 DS948 Goodix-TS 5-0014: 941 reg=0x8, val=0xba [ 1.575323] Semidrive DS941 DS948 Goodix-TS 5-0014: 941 reg=0x70, val=0x28 [ 1.582664] Semidrive DS941 DS948 Goodix-TS 5-0014: 941 reg=0x77, val=0x28 [ 1.590005] Semidrive DS941 DS948 Goodix-TS 5-0014: 941 before out reg=0xf, val=0x0 [ 1.601109] Semidrive DS941 DS948 Goodix-TS 5-0014: 941 after out reg=0xf, val=0x3 // [ 1.609183] Semidrive DS941 DS948 Goodix-TS 5-0014: 948 before out reg=0x1f, val=0x3 [ 1.617677] Semidrive DS941 DS948 Goodix-TS 5-0014: 948 after out reg=0x1f, val=0x5 //output [ 1.644092] Semidrive DS941 DS948 Goodix-TS 5-0014: goodix_ts_probe(): call reset [ 1.652122] Semidrive DS941 DS948 Goodix-TS 5-0014: 948 before reg=0x1e, val=0x90 [ 1.660449] Semidrive DS941 DS948 Goodix-TS 5-0014: 948 after reg=0x1e, val=0x10 [ 1.752086] Semidrive DS941 DS948 Goodix-TS 5-0014: ts->client->addr == 0x14 1 [ 1.761469] Semidrive DS941 DS948 Goodix-TS 5-0014: goodix_reset(): reset high [ 1.769163] Semidrive DS941 DS948 Goodix-TS 5-0014: 948 before reg=0x1e, val=0x10 [ 1.777396] Semidrive DS941 DS948 Goodix-TS 5-0014: 948 after reg=0x1e, val=0x90 [ 1.852568] Semidrive DS941 DS948 Goodix-TS 5-0014: 941 in reg=0xf, val=0x3 [ 1.860261] Semidrive DS941 DS948 Goodix-TS 5-0014: 948 in reg=0x1f, val=0x5 4. 检测解串串行锁定状态检测948是否都已锁定并正在接收视频数据 检测两个948的端口0是否都连接到941AS了
连接941和2个948,锁定状态正常,连接正常 (941的GPIO和第一个948的GPIO, 941的D_GPIO和第二个948的GPIO)
<
似乎在948上,已经将寄存器0x34设置为0x01 这意味着将写入948的端口1,而不是端口0 将寄存器0x34设置为0x00,然后在948上写入0x05来注册0x1F
在948侧将寄存器0x34设置为0x0后,无法读取948的GPIO状态
6. 尝试如下配置执行如下程序配置
•Write( 941, 0x1E, 0x01) •Write( 941, 0x0F,0x03) •Write( 941, 0x1E, 0x02) •Write( 941, 0x0F,0x03) •Write( 948_port0, 0x34, 0x01) •Write(948_port0, 0x1F,0x05) •Write(948_port1, 0x34, 0x01) •Write(948_port1, 0x1F,0x05)可解决上述问题