Because of the holidays, TI E2E™ design support forum responses will be delayed from Dec. 25 through Jan. 2. Thank you for your patience.

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.

DS90UH949-Q1: Read EDID from External EEPROM

Genius 4905 points
Part Number: DS90UH949-Q1
Other Parts Discussed in Thread: ALP

Hi, E2E members

Can DS90UH949 read EDID value from External EEPROM?

e2e.ti.com/.../2521392

> To use DDC, you must specify default address 0xA0 for I2C address.
> This address can be changed in FPD-Link register 0x51 on 949 device.
> From here, you can access over I2C what is stored on EDID through
> simple I2C writes and reads. Specify the register that you want to write/read
> and then the value that you want to write. For example:

> board.ReadI2C(0xA0, 0x00)
> board.WriteI2C(0xA0, 0x00, 0xFF)

I tried this commands on ALP but can't read EDID value.

Regards,
Nao

  • Hello Nao,

    Are you trying this on the 949 EVM? If so, please note there's only a socket for external EEPROM. You have to buy and populate it to test this. I show below the schematic from user guide

    U3 above is not populated.

    A EEPROM similar to the one in the link below should work

    www.mouser.com/.../BR24L64-W

    Thanks,

    Vishy

  • >> I tried this commands on ALP but can't read EDID value.

    You can use the following command

    # Readback EDID
    read_edid = board.EDID_Read(0x0, 256)

    This implements reading of the EDID structure using I2C interface with APB indirect register access reads and writes.

    Thanks.
  • Hi, Vishy

    Thank you for your update.

    Yes. I'm using UH949EVM and external EEPROM.
    UH949EVM is working fine with my original EDID by the external EEPROM.

    The procedure is as follows:
    1. Write my original EDID to EEPROM by using a ROM writer.
    2. Implement the EEPROM on UH949EVM. (U3)
    3. MODE_SEL0 is #5
    MODE_SEL1 is #0
    IDx is #1
    4. Connecting UH940EVM by STP cable.
    5. Turn on UH940EVM and UH949EVM.
    6. Connect the HDMI cable.

    We could understand how to use the External Local EDID (EEPROM) mode.

    Our customer wants to know how to write and read the external EEPROM
    that is not written EDID from UH949 by using ALP.
    Hence I tried the method that is on the follows E2E but could not...

    e2e.ti.com/.../2521392

    Regards,
    Nao
  • Hi, Vishy

    Thank you for your additional information.

    > board.EDID_Read(0x0, 256)

    I guess this command for reading internal SRAM.
    We would like to read external EEPROM by using ALP.

    Regards,
    Nao
  • Nao,

    To read external EEPROM by using ALP, I think you should first load the EEPROM to internal EDID SRAM and then read the EDID SRAM.

    Register 0x4F (Bridge_CTL) bit 1 allows you the capability to do this. Please set the bit and wait for the bit to clear. Then read using the board.EDID_Read command and see if it matches what you have loaded.

    thanks,
    Vishy
  • Hi, Vishy

    I tried you sequence but I can not read EDID with external EEPROM.

    board.EDID_Read(0x0, 256)
    [0, 255, 255, 255, 255, 255, 255, 0, 83, 14, 73, 9, 1, 0, 0, 0, 28, 24, 1, 3, 128, 52, 32, 120, 10, 236, 24, 163, 84, 70, 152, 37, 15, 72, 76, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 29, 0, 114, 81, 208, 30, 32, 110, 80, 85, 0, 0, 32, 33, 0, 0, 24, 0, 0, 0, 253, 0, 59, 61, 98, 100, 8, 0, 10, 32, 32, 32, 32, 32, 32, 0, 0, 0, 252, 0, 84, 73, 45, 68, 83, 57, 48, 85, 120, 57, 52, 57, 10, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 87, 2, 3, 21, 64, 65, 132, 35, 9, 127, 5, 131, 1, 0, 0, 102, 3, 12, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40]

    Regards,
    Nao
  • Nao,

    Could you please check this with the following mode configuration

    Thanks,

    Vishy

  • Hi, Vishy

    I tried you sequence but I can not read EDID with external EEPROM.
    - MODE_SEL0 is #6

    board.EDID_Read(0x0, 256)
    [0, 255, 255, 255, 255, 255, 255, 0, 83, 14, 73, 9, 1, 0, 0, 0, 28, 24, 1, 3, 128, 52, 32, 120, 10, 236, 24, 163, 84, 70, 152, 37, 15, 72, 76, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 29, 0, 114, 81, 208, 30, 32, 110, 80, 85, 0, 0, 32, 33, 0, 0, 24, 0, 0, 0, 253, 0, 59, 61, 98, 100, 8, 0, 10, 32, 32, 32, 32, 32, 32, 0, 0, 0, 252, 0, 84, 73, 45, 68, 83, 57, 48, 85, 120, 57, 52, 57, 10, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 87, 2, 3, 21, 64, 65, 132, 35, 9, 127, 5, 131, 1, 0, 0, 102, 3, 12, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40]

    Regards,
    Nao
  • Nao-san,

    I think it should be MODE_SEL1 #6, note MODE_SEL0.

    Please check.

    Thanks,
    Vishy
  • Hi, Vishy

    Thank you for pointing it out.
    MODE_SEL1 is #6 does not work well.
    HDMI source (PC) can not read EDID from external EEPROM.

    I tried you sequence but I can not read EDID with external EEPROM.
    - MODE_SEL1 is #2

    board.EDID_Read(0x0, 256)
    [0, 255, 255, 255, 255, 255, 255, 0, 83, 14, 73, 9, 1, 0, 0, 0, 28, 24, 1, 3, 128, 52, 32, 120, 10, 236, 24, 163, 84, 70, 152, 37, 15, 72, 76, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 29, 0, 114, 81, 208, 30, 32, 110, 80, 85, 0, 0, 32, 33, 0, 0, 24, 0, 0, 0, 253, 0, 59, 61, 98, 100, 8, 0, 10, 32, 32, 32, 32, 32, 32, 0, 0, 0, 252, 0, 84, 73, 45, 68, 83, 57, 48, 85, 120, 57, 52, 57, 10, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 87, 2, 3, 21, 64, 65, 132, 35, 9, 127, 5, 131, 1, 0, 0, 102, 3, 12, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40]

    Regards,
    Nao

  • Hi, Vishy

    Do you have any update?

    Regards,
    Nao
  • Nao-san,
    I checked about this. Since exernal EEPROM is on DDC I2C and DDC I2C is a separate bus, we cannot read EEPROM from ALP. You have to read it locally using DDC I2C read command only.
    Thanks,
    Vishy
  • Hi, Vishy

    Thank you for your quick reply.
    I can close this E2E.

    Regards,
    Nao