This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DS90UB941AS-Q1: DS90UB928Q

Part Number: DS90UB941AS-Q1

I used 941ASQ+928Q Left/Right 3D Format + LVDS Touch Panel

I2C Addr 941AS:8bit:0x18 ,7bit 0x0C

I2C Addr 928Q: 8bit:0x58 ,7bit 0x2C  8bit SlaveAlias:0x54 & 0x72

I2C Addr TP:     8bit:0x90 ,7bit 0x48 

TP INT->928Q GPIO3-> 941AS GPIO3->SOC GPIOA

TP RST->928Q GPIO2-> 941AS GPIO2->SOC GPIOB

941AS & 928Q register dump as blow:

1、Used logic analyzer tool test the RST Pin of touch panel,can receive the RST signel from SOC,and test the GPIOA of SOC can receive the INT signel from touch panel.

2、Hardware change the i2c of touch panel from 928Q to SOC side, the touch panel can work,but use FPDLink  I2C Passthough touch panel dons't work.

3、I find that SOC I2C speed must slower than SerDes I2C Speed, SOC I2C speed set to 25KHz or 50KHz,941AS/928Q I2C Speed set to 400KHz,SOC can read/write touch panel register correct,except one register read error. it cause the touch panel can't work.

I want to ask two question:

1、Is it must use 941AS&928Q REM_INT connect to touch panel INT?

2、how to config the registers of 941AS&928Q for REMOTE I2C Slave,can you tell me any attentions?

  • Hi Gene,

    In register 0x70, you have programmed the remote target ID, however you have not programmed an alias in register 0x77. If this value is left 0, it will disable access to the remote target. You can program the same value as the ID, but something must be programmed.

    Regards,

    Ben

  • Dear Ben,

    1、register 0x70&0x77 set 0x90 (Remote Device Slave ID)is same as before 。

    2、when the TX_AUTO_ACK bit of 941AS(0x03) is set,  928Q i2c write will loss byte.I disable the TX_AUTO_ACK bit SOC I2C speed set to 400KHz,and

    941AS&928Q I2C speed set to 400KHz, can write touch panel registers right. but I2C can't read right value  from touch panel .

  • Hi Gene,

    Are you able to capture the I2C transaction with a logic analyzer or oscilloscope? It would be helpful to understand how the transaction is failing. Also, can you try using Pass Through All instead of Pass Through? This basically passes through all I2C transactions regardless of Alias IDs.

    Regards,

    Ben

  • Hi,Ben 

    I  opened I2C PassThpough All ,Use  logic analyzer capture the i2c signal of DES & SOC not find read/write loss byte or error byte, but tatol cmd loss ,I will check the touch panel first.

  • Hello Gene,

    Thank you for the update. We will wait for your response 

    Best Regards,

    Casey 

  • Hi Casey,

    Thinks for your help !Now the touch panel can work!

    1、The Auto ACK bit of 941AS,need to be set 0. I2C PassThough can  normal work.

    2、928Q GPIO3 as RST PIN of touch panel ,the 0x1F register of 928Q need set to 0x05,but I set 0x09 before,output high level,so this pin can be pull down by touch panel driver.