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: I2C write remote deserializer UB948 return NACK

Part Number: DS90UB941AS-Q1

serializer ub941 settting:

ds90ub941_init_setting{
	0x01,0x08,
	0x4F,0x8C,	//Set DSI_CONTINUOUS_CLOCK, 4 lanes, DSI Port 0
	0x32,0x80,	//Set the line size to 1920(LSB)
	0x33,0x07,	//Set the line size to 1920 (MSB)
	0x1E,0x01,	//Select FPD-Link III Port 1
	0x36,0x00,	//Set crop start X position to 0 (LSB)
	0x37,0x80,	//Set crop start X position to 0 (MSB) and enable cropping
	0x38,0x7F,	//Set crop stop X position to 1919 (LSB)
	0x39,0x07,	//Set crop stop X position to 1919 (MSB)
	0x3A,0x00,	//Set crop start Y position to 0 (LSB)
	0x3B,0x00,	//Set crop start Y position to 0 (MSB)
	0x3C,0xCF,	//Set crop stop Y position to 719 (LSB)
	0x3D,0x02,	//Set crop stop Y position to 719 (MSB)
	0x1E,0x02,	//Select FPD-Link III Port 1
	0x36,0x00,	//Set crop start X position to 0 (LSB)
	0x37,0x80,	//Set crop start X position to 0 (MSB) and enable cropping
	0x38,0x7F,	//Set crop stop X position to 1919 (LSB)
	0x39,0x07,	//Set crop stop X position to 1919 (MSB)
	0x3A,0x00,	//Set crop start Y position to 0 (LSB)
	0x3B,0x00,	//Set crop start Y position to 0 (MSB)
	0x3C,0xCF,	//Set crop stop Y position to 719 (LSB)
	0x3D,0x02,	//Set crop stop Y position to 719 (MSB)
	0x40,0x04,	//Select DSI Port 0 digital registers
	0x41,0x05,	//Select DPHY_SKIP_TIMING register
	0x42,0x1E,	//Write TSKIP_CNT value for 300 MHz DSI clock frequency
	0x40,0x10,	// Init DSI clock settings (section 10.2 of the datasheet)
	0x41,0x86,
	0x42,0x0A,
	0x41,0x94,
	0x42,0x0A,

	0x1e,0x01,	//port0 i2c passthrough
	0x03,0x9a,
	0x1e,0x02,	//port1 i2c passthrough
	0x03,0x9a,
	0x1e,0x01,
	0x07,0x30,  // map port1 remote slave(backlight1)0x15 to 0x15
	0x08,0x30, 
	0x1e,0x02,
	0x07,0xD6,  // map port2 remote slave(backlight2)0x6b to 0x6b
	0x08,0xD6,
	0x70,0x68,  // map DES1 0x34
	0x77,0x68,
	0x71,0x58,  // map DES2 0x2C
	0x78,0x58,

    0x1e,0x01,  //passthrough i2c dev to soc side
    0x17,0x9e,
    0x0d,0x37,  //config for gpio0
    0x1e,0x02,
    0x17,0x9e,
    0x0d,0x37,  //config for dgpio0
    0x1e,0x04,
    0x17,0x9e,
};

Curret Status:

1. i2c wrtie/read serializer ub941 is ok.

2. ub941's reg 0x06 could readback DES1 addr 0x68, DES2 addr 0x58; 

3. host write remote device "DES1(0x34), DES1(0x2c), BL1(0x15), BL2(0x6b)" return error code "I2C_ERROR_ADDR_NACK";

DES1 setting = {

0x01 0xff
0x1d 0x13
0x26 0x15
0x27 0x15
0x41 0x1f
0x4b 0x0a

}

DES2 setting = {

0x01 0xff
0x1d 0x13
0x26 0x15
0x27 0x15
0x41 0x1f
0x4b 0x0a

}

What's the trouble? and how to config ub941?