AnsweredAssumed Answered

[ADV7611]Default I2C addresses and updating different blocks registers

Question asked by ravi1 on Mar 31, 2015
Latest reply on Mar 31, 2015 by rgetz
I am going through ADV7604 driver, I could see following code snippet where i2c addresses are hard coded in adv7604_parse_dt() function. I want to use the driver for ADV7611, do I need to change these addresses. I was checking ADV7611 software manual, but I couldn't find these default addresses. Can you please tell me where I can find these default i2c addresses.

 

state->pdata.i2c_addresses[ADV7604_PAGE_AVLINK] = 0x42;
state->pdata.i2c_addresses[ADV7604_PAGE_CEC] = 0x40;
state->pdata.i2c_addresses[ADV7604_PAGE_INFOFRAME] = 0x3e;
state->pdata.i2c_addresses[ADV7604_PAGE_ESDP] = 0x38;
state->pdata.i2c_addresses[ADV7604_PAGE_DPP] = 0x3c;
state->pdata.i2c_addresses[ADV7604_PAGE_AFE] = 0x26;
state->pdata.i2c_addresses[ADV7604_PAGE_REP] = 0x32;
state->pdata.i2c_addresses[ADV7604_PAGE_EDID] = 0x36;
state->pdata.i2c_addresses[ADV7604_PAGE_HDMI] = 0x34;
state->pdata.i2c_addresses[ADV7604_PAGE_TEST] = 0x30;
state->pdata.i2c_addresses[ADV7604_PAGE_CP] = 0x22;
state->pdata.i2c_addresses[ADV7604_PAGE_VDP] = 0x24;

 

In ADV7611 software manual, few blocks have registers staring with 0x00(say IO and HDMI blocks having register with address 0x00).

If I want to update 0x00 register of HDMI block with i2cset command in linux command line then I have to update default address(0x34) of HDMI block(say i2cset -f-y 1 0x4d 0x34 0x1e) or update 0x00 register address(i2cset -f -y 1 0x4d 0x00 0x14) . Please let me know how to update a specific register for certain block.

 

 

If I assume there is one 0x00 register, few bits represents one block and remaining bits represents other block then bit 0 of HDMI block(HDMI_REGISTER_00H[0]) will overlap with bit 0 of IO block(VIDEO STANDARD[0]).

Outcomes