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]).