Part Number: DS90UB941AS-Q1
Hi Team,
Here is the diagram of the application:

941 addr = 0x12
928 addr = 0x2c
touch addr = 0x41
Now that the display is good, the touch chip configures the i2c pass-through mode via the 941 register, the address has been found and the touch drive can be loaded normally.

The register configuration for touch i2c transparent and interrupt transparent is as follows:
# i2c pass-through
i2cset -y -f 1 0x12 0x03 0x9a
# SlaveID_0
i2cset -y -f 1 0x12 0x07 0x82
# SlaveAlias_0
i2cset -y -f 1 0x12 0x08 0x82
# Enable port0 REM_INTB
i2cset -y -f 1 0x12 0x30 0x01
The interrupt pin of the touch IC is connected to the INTB pin of the 928 and the corresponding REM_INTB pin of the 941 is connected to the GPIO port of the SoM. With a touch of the screen, the SoM interrupt GPIO is recognized as normal.
However, when click the screen multiple times, the driver reads the information reported by the touch IC via i2c. Some clicks correctly recognize the coordinate points and respond to touch events, but some clicks check for checksum errors. coordinate information is not recognized correctly.

It appears that the transmission data is prone to errors due to the i2c's unstable transmission signal through transmission. With the same touch IC, communication is generally good when previously connected directly to the i2c of the som. You can read the coordinates and respond with a few checksum errors.
1) Could you help give some recommendations? Is it required to adjust 941 and 928 specific register configurations to improve i2c transfers?
2) I2c settings for som to 941 are 400kHz, does the i2c rate for 928 transmissive need to be set separately to match the previous?
Could you help check this case? Thanks.
Best Regards,
Cherry










