Is it possible to have 2 different set of EDID information (256 bytes each) inside the ADV7604, each assigned to a different HDMI input port?
By using external EDID_EEPROM (25LC040A) with ADV7604, can we store 2 different EDID values for accessing from 2 different HDMI_DDC ports simultaneously?
Say, DDCA maps to one EDID table & DDCD maps to another EDID table in the same EEPROM?
You could implement different EDIDs by connecting an individual EDID memory with I2C interface to the DDC lines on each port you want to enable with different EDIDs. If you have a number of ports with the same EDID, you could use the internal memory in the part to provide that EDID (individual checksums etc will be automatically created) and use an individual EDID memory to support the other EDID(s).
We are using only 2 ports. 1 HDMI & 1 VGA. Since 7604 doesn't support EDID for VGA, we used an external EEPROM. In our application, we may have to change the EDID contents in the field as well (post production). This requires the host controller access to the EEPROM with a possibility to isolate I2C when VGA cable is connected. So the chip count increases.
Alternatively, we want to use one of the HDMI DDC ports for VGA DDC, since 7604 provides the I2C isolation anyway, but we have to support 2 different EDID tables for different ports.
1) Is it possible to store different EDID contents for different DDC ports & change the EEPROM contents through host I2C?
2) Is is possible to use internal EDID ram for 1 port & external EDID prom for another port? Can SHARED_EDID pin be useful for us to achieve this?
It is not possible for ADV7604 to operate as a DDC bridge part as you described in question 1. I don't think there is any way to work around this issue without increasing the BoM count. You could use a I2C switch which could isolate the memory from the DDC lines when not being programmed.
It is possible to use the internal EDID RAM for any number of ports with the same EDID (from 1 up to 4). Equally, it is possible to use external discrete EDID memory devices on the DDC lines for any number of ports (from 1 up to 4). It is just necessary to disable the internal EDID on any port which has an external EDID memory attached.