I have a created a custom EDID that appears to have the right checksums (per the status register) . But the it continues to use the default.
I tried clearing the SRAM, but when I read it, I get this:
Read internal SRAM
0x00: 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x10: 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x20: 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x30: 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x40: 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x50: 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28,
0x60: 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x53, 0x0e, 0x49, 0x09, 0x01, 0x00, 0x00, 0x00,
0x70: 0x1c, 0x18, 0x01, 0x03, 0x80, 0x34, 0x20, 0x78, 0x0a, 0xec, 0x18, 0xa3, 0x54, 0x46, 0x98, 0x25,
0x80: 0x0f, 0x48, 0x4c, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x90: 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x1d, 0x00, 0x72, 0x51, 0xd0, 0x1e, 0x20, 0x6e, 0x50,
0xa0: 0x55, 0x00, 0x00, 0x20, 0x21, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x3b, 0x3d, 0x62,
0xb0: 0x64, 0x08, 0x00, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x54,
0xc0: 0x49, 0x2d, 0x44, 0x53, 0x39, 0x30, 0x55, 0x78, 0x39, 0x34, 0x39, 0x0a, 0x00, 0x00, 0x00, 0x10,
0xd0: 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x57,
0xe0: 0x02, 0x03, 0x15, 0x40, 0x41, 0x84, 0x23, 0x09, 0x7f, 0x05, 0x83, 0x01, 0x00, 0x00, 0x66, 0x03,
0xf0: 0x0c, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
Then I read it for the HDMI space:
Read HDMI interface
0x00: 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x10: 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x20: 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x30: 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x40: 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x50: 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28,
0x60: 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x53, 0x0e, 0x49, 0x09, 0x01, 0x00, 0x00, 0x00,
0x70: 0x1c, 0x18, 0x01, 0x03, 0x80, 0x34, 0x20, 0x78, 0x0a, 0xec, 0x18, 0xa3, 0x54, 0x46, 0x98, 0x25,
0x80: 0x0f, 0x48, 0x4c, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x90: 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x1d, 0x00, 0x72, 0x51, 0xd0, 0x1e, 0x20, 0x6e, 0x50,
0xa0: 0x55, 0x00, 0x00, 0x20, 0x21, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x3b, 0x3d, 0x62,
0xb0: 0x64, 0x08, 0x00, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x54,
0xc0: 0x49, 0x2d, 0x44, 0x53, 0x39, 0x30, 0x55, 0x78, 0x39, 0x34, 0x39, 0x0a, 0x00, 0x00, 0x00, 0x10,
0xd0: 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x57,
0xe0: 0x02, 0x03, 0x15, 0x40, 0x41, 0x84, 0x23, 0x09, 0x7f, 0x05, 0x83, 0x01, 0x00, 0x00, 0x66, 0x03,
0xf0: 0x0c, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
I then wrote my own. I had to change the offset to get it to show up in the same addresses as what was read previously:
Write EDID data to 929
Read internal SRAM
0x00: 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x10: 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x20: 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x30: 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x40: 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x50: 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38,
0x60: 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x53, 0x0e, 0x49, 0x09, 0x01, 0x00, 0x00, 0x00,
0x70: 0x01, 0x1d, 0x01, 0x03, 0x80, 0x34, 0x20, 0x78, 0x1a, 0xec, 0x18, 0xa3, 0x54, 0x46, 0x98, 0x25,
0x80: 0x0f, 0x48, 0x4c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,
0x90: 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x90, 0x1a, 0x80, 0xa0, 0x70, 0x38, 0x10, 0x40, 0x30, 0x20,
0xa0: 0x35, 0x00, 0x40, 0x44, 0x21, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
0xb0: 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
0xc0: 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
0xd0: 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xec,
0xe0: 0x02, 0x03, 0x12, 0x00, 0x41, 0xca, 0x23, 0x09, 0x7f, 0x05, 0x83, 0x01, 0x00, 0x00, 0x63, 0x03,
0xf0: 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
Then I dumped the registers:
Read registers
0x00: 0x18, 0x00, 0x00, 0xd2, 0x80, 0x00, 0x58, 0x00, 0x00, 0x00, 0x31, 0x3a, 0x03, 0x20, 0x00, 0x00,
0x10: 0x00, 0x00, 0x00, 0xa8, 0x00, 0x00, 0xfe, 0x1e, 0x7f, 0x7f, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x00,
0x20: 0x03, 0x00, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x20, 0x20, 0xe0, 0x00, 0x00, 0xa5, 0x5a,
0x30: 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x40: 0x14, 0x55, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x0d, 0xa0, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
0x50: 0x17, 0xa1, 0x1e, 0x00, 0x20, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x92, 0xa0, 0x02, 0x06, 0x44, 0x00,
0x60: 0x22, 0x02, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x70: 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x80: 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x90: 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xa0: 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xb0: 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xc0: 0x00, 0x00, 0xa8, 0x00, 0x28, 0x00, 0x00, 0x60, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00,
0xd0: 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xe0: 0x00, 0x00, 0xa8, 0x00, 0x28, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0: 0x5f, 0x55, 0x42, 0x39, 0x32, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
I am using a micro to program these registers.
Any reason the device is not using my EDID values?