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.

DS90UB948-Q1: DS90UB948-Q1, DS90UB941AS-Q1

Part Number: DS90UB948-Q1
Other Parts Discussed in Thread: DS90UB941AS-Q1,

Hi TI

    We used the serializer is DS90UB941AS-Q1 and the deserializer is DS90UB948-Q1 and a touch panel over I2C of the deserializer(DS90UB948-Q1). The touch panel I2C address is 0x38 and we initializated 941/948 by following command(1. Set Passthrough 2. Set SlaveID, SlaveAlias) but we can't find any I2C signal over the deserializer I2C bus. would you help us to check our initialization is correctly and what do we miss?

[DS90UB941AS]
adb shell "echo 0x01 0x08 > %fullcmd%"
adb shell "echo 0x1E 0x01 > %fullcmd%"
adb shell "echo 0x03 0x9A > %fullcmd%"
adb shell "echo 0x1E 0x01 > %fullcmd%"
adb shell "echo 0x40 0x04 > %fullcmd%"
adb shell "echo 0x41 0x21 > %fullcmd%"
adb shell "echo 0x42 0x60 > %fullcmd%"
adb shell "echo 0x1E 0x01 > %fullcmd%"
adb shell "echo 0x5B 0x00 > %fullcmd%"
adb shell "echo 0x4F 0x8C > %fullcmd%"
adb shell "echo 0x1E 0x01 > %fullcmd%"
adb shell "echo 0x40 0x04 > %fullcmd%"
adb shell "echo 0x41 0x05 > %fullcmd%"
adb shell "echo 0x42 0x18 > %fullcmd%"
adb shell "echo 0x0E 0x33 > %fullcmd%"
adb shell "echo 0x0F 0x03 > %fullcmd%"
adb shell "echo 0x10 0x33 > %fullcmd%"
adb shell "echo 0x01 0x00 > %fullcmd%"
adb shell "echo 0x07 0x38 > %fullcmd%"
adb shell "echo 0x08 0x38 > %fullcmd%"

[DS90UB948]
adb shell "echo 0x1D 0x05 > %fullcmd%"
adb shell "echo 0x1E 0x55 > %fullcmd%"
adb shell "echo 0x1F 0x05 > %fullcmd%"
adb shell "echo 0x20 0x55 > %fullcmd%"
adb shell "echo 0x49 0xe0 > %fullcmd%"
adb shell "echo 0x03 0xF8 > %fullcmd%"

Sincerely Yours

Fred Yu

  • Hi,

    If you just need visit 948's register, pls make sure:

    1.pixel  clock is stable, pls check d/s on code initializaiton

    2 pass-through enabled: set reg. 0x03 = 0x9a

    3. set channel0 0x1e= 0x01, and visiting the de-ser ID with reg. 0x06 value.

    If you can't use this I2C function, pls check the link robust, such as link CRC/Parity bit error.

    bet regards,

    Steven

  • Hi Steven

          We can access 948's register but we need to access touch panel register.  After set Step 2,3, we still can't see any I2C signal over 948's I2C_SCL and I2C_SDA. The I2C_SCL is 0V, I2C_SDA is 3.3V

          Following is our connection description, We want to Host is able to access Touch Panel I2C's register. 

    [Connection]

    Host<-I2C->941<-twisted-pair(STP)->948<-I2C>Touch Panel

    1.pixel  clock is stable, pls check d/s on code initializaiton

    =>  We used DSI clock as our pixel reference clock but we can't directly measure them because no appropriate equipment. But we are able to access 948's register without problem. So I assume twisted-pair (STP) cables and 948 chip has function. If we can check them by r/w register, just let me know.

    2 pass-through enabled: set reg. 0x03 = 0x9a

    => Done.

    => WriteI2C(0x03, 0x9a);

    3. set channel0 0x1e= 0x01, and visiting the de-ser ID with reg. 0x06 value.

    => Done,

    => WriteI2C(0x1e, 0x01);

    => WriteI2C(0x06, 0x70);

    Sincerely Yours

    Fred Yu

  • Fred,

    to visit the remote slave, you need set the reg. of salve ID0 with touch control I2C addr.(pls note this is 8bitsI2C Addr. pls check the d/s), and set the slave Alias ID0 as well with one alias ID. then, you can use this alias ID to visit the remote touch control chip.

    below is one app. note on: I2C over FPD-Link for your reference.

    I2C Communication Over FPD-Link III With Bidirectional Control Channel (SNLA131a)

    best regards,

    Steven