AnsweredAssumed Answered

ADV7611 (HDMI receiver) I2C config. to drive RGB888/800x600@56MHz dumb-display

Question asked by fpirou on Jul 26, 2016
Latest reply on Jul 28, 2016 by GuenterL

Hi All,

I have build adv7611 HDMI receiver to drive a 800x600@56MHz display (RGB888 24-bits - DE strobe) from an Intel NUC/i915 HDMI port (https://wiki.archlinux.org/index.php/intel_graphics) running Yocto Linux (kernel 4.4).

. i2c addressing is working OK but I face several problems:

 

#1 - on Intel Arch HDMI endpoint is NOT managed as v4l2 media/video device but i915 video. How could I control adv7611 v4l2 i2csubdev from userspace? similar to following:

$> media-ctl --set-dv '"adv7611 1-004c":1 [fmt:RGB/800x600]' &&

media-ctl --set-v4l2 '"adv7611 1-004c":1 [fmt:RGB/800x600]'

$> v4l2-compliance -v -s

 

#2 - I have build & load the following modules, am I missing something?

insmod /lib/modules/4.4.13-yocto-standard/kernel/drivers/media/media.ko

insmod /lib/modules/4.4.13-yocto-standard/kernel/drivers/media/v4l2-core/videodev.ko

insmod /lib/modules/4.4.13-yocto-standard/kernel/drivers/media/v4l2-core/v4l2-common.ko

insmod /lib/modules/4.4.13-yocto-standard/kernel/drivers/media/v4l2-core/v4l2-dv-timings.ko

insmod /lib/modules/4.4.13-yocto-standard/kernel/drivers/base/regmap/regmap-i2c.ko

echo adv7604 0x4c > /sys/bus/i2c/devices/i2c-0/new_device

insmod adv7604.ko debug=2

 

#3 -  As NUC does not detect/enumerate HDMI configuration I tried adv7611 bitbanging unsuccessfully using i2cset, could you help setup registers for VESA compliant HDMI receiver and RGB888 800x600@56MHz display?

I2C_BUS=0

I2C_ADV7611=0x4c

I2C_CEC_MAP=0x40

I2C_INFOFRAME_MAP=0x38

I2C_DPLL_MAP=0x26

I2C_KSV_MAP=0x32

I2C_EDID_MAP=0x36

I2C_HDMI_MAP=0x34

I2C_CP_MAP=0x22

./i2cset -f -y $I2C_BUS $I2C_ADV7611 0xFF 0x80 # I2C reset

./i2cset -f -y $I2C_BUS $I2C_ADV7611 0xF4 0x80 # CEC 0x40

./i2cset -f -y $I2C_BUS $I2C_ADV7611 0xF5 0x7C # INFOFRAME 0x38

./i2cset -f -y $I2C_BUS $I2C_ADV7611 0xF8 0x4C # DPLL 0x26

./i2cset -f -y $I2C_BUS $I2C_ADV7611 0xF9 0x64 # KSV 0x32

./i2cset -f -y $I2C_BUS $I2C_ADV7611 0xFA 0x6C # EDID 0x36

./i2cset -f -y $I2C_BUS $I2C_ADV7611 0xFB 0x68 # HDMI 0x34

./i2cset -f -y $I2C_BUS $I2C_ADV7611 0xFD 0x44 # CP 0x22

./i2cset -f -y $I2C_BUS $I2C_ADV7611 0x01 0x06 # Prim_Mode =110b HDMI-GR

./i2cset -f -y $I2C_BUS $I2C_ADV7611 0x02 0xF5 # Auto CSC, YCrCb out, Set op_656 bit

./i2cset -f -y $I2C_BUS $I2C_ADV7611 0x03 0x40 # 24 bit SDR 444 Mode 0

./i2cset -f -y $I2C_BUS $I2C_ADV7611 0x05 0x28 # AV Codes Off

./i2cset -f -y $I2C_BUS $I2C_ADV7611 0x0B 0x44 # Power up part

./i2cset -f -y $I2C_BUS $I2C_ADV7611 0x0C 0x42 # Power up part

./i2cset -f -y $I2C_BUS $I2C_ADV7611 0x14 0x7F # Max Drive Strength

./i2cset -f -y $I2C_BUS $I2C_ADV7611 0x15 0x80 # Disable Tristate of Pins

./i2cset -f -y $I2C_BUS $I2C_ADV7611 0x19 0x83 # LLC DLL phase

./i2cset -f -y $I2C_BUS $I2C_ADV7611 0x33 0x40 # LLC DLL enable

./i2cset -f -y $I2C_BUS $I2C_CP_MAP 0xBA 0x01 # Set HDMI FreeRun

./i2cset -f -y $I2C_BUS $I2C_KSV_MAP 0x40 0x81 # Disable HDCP 1.1 features

./i2cset -f -y $I2C_BUS $I2C_HDMI_MAP 0x9B 0x03 # ADI recommended setting

./i2cset -f -y $I2C_BUS $I2C_HDMI_MAP 0xC1 01 ; ADI recommended setting

./i2cset -f -y $I2C_BUS $I2C_HDMI_MAP 0xC2 0x01 # ADI recommended setting

./i2cset -f -y $I2C_BUS $I2C_HDMI_MAP 0xC3 0x01 # ADI recommended setting

./i2cset -f -y $I2C_BUS $I2C_HDMI_MAP 0xC4 0x01 # ADI recommended setting

./i2cset -f -y $I2C_BUS $I2C_HDMI_MAP 0xC5 0x01 # ADI recommended setting

./i2cset -f -y $I2C_BUS $I2C_HDMI_MAP 0xC6 0x01 # ADI recommended setting

./i2cset -f -y $I2C_BUS $I2C_HDMI_MAP 0xC7 0x01 # ADI recommended setting

./i2cset -f -y $I2C_BUS $I2C_HDMI_MAP 0xC8 0x01 # ADI recommended setting

./i2cset -f -y $I2C_BUS $I2C_HDMI_MAP 0xC9 0x01 # ADI recommended setting

./i2cset -f -y $I2C_BUS $I2C_HDMI_MAP 0xCA 0x01 # ADI recommended setting

./i2cset -f -y $I2C_BUS $I2C_HDMI_MAP 0xCB 0x01 # ADI recommended setting

./i2cset -f -y $I2C_BUS $I2C_HDMI_MAP 0xCC 0x01 # ADI recommended setting

./i2cset -f -y $I2C_BUS $I2C_HDMI_MAP 0x00 0x00 # Set HDMI Input Port A

./i2cset -f -y $I2C_BUS $I2C_HDMI_MAP 0x83 0xFE # Enable clock terminator for port A

./i2cset -f -y $I2C_BUS $I2C_HDMI_MAP 0x6F 0x0C # ADI recommended setting

./i2cset -f -y $I2C_BUS $I2C_HDMI_MAP 0x85 0x1F # ADI recommended setting

./i2cset -f -y $I2C_BUS $I2C_HDMI_MAP 0x87 0x70 # ADI recommended setting

./i2cset -f -y $I2C_BUS $I2C_HDMI_MAP 0x8D 0x04 # LFG

./i2cset -f -y $I2C_BUS $I2C_HDMI_MAP 0x8E 0x1E # HFG

./i2cset -f -y $I2C_BUS $I2C_HDMI_MAP 0x1A 0x8A # unmute audio

./i2cset -f -y $I2C_BUS $I2C_HDMI_MAP 0x57 0xDA # ADI recommended setting

./i2cset -f -y $I2C_BUS $I2C_HDMI_MAP 0x58 0x01 # ADI recommended setting

./i2cset -f -y $I2C_BUS $I2C_HDMI_MAP 0x03 0x98 # DIS_I2C_ZERO_COMPR

./i2cset -f -y $I2C_BUS $I2C_HDMI_MAP 0x75 0x10 # DDC drive strength

 

 

./i2cset -f -y $I2C_BUS 0x39 0x01 0x00 # Set N Value(6144)

./i2cset -f -y $I2C_BUS 0x39 0x02 0x18 # Set N Value(6144)

./i2cset -f -y $I2C_BUS 0x39 0x03 0x00 # Set N Value(6144)

./i2cset -f -y $I2C_BUS 0x39 0x15 0x00 # Input 444 (RGB or YCrCb) with Separate Syncs, 44.1kHz fs

./i2cset -f -y $I2C_BUS 0x39 0x16 0x70 # Output format 444, 24-bit input

./i2cset -f -y $I2C_BUS 0x39 0x18 0x46 # CSC disabled

./i2cset -f -y $I2C_BUS 0x39 0x40 0x80 # General Control packet enable

./i2cset -f -y $I2C_BUS 0x39 0x41 0x10 # Power down control

./i2cset -f -y $I2C_BUS 0x39 0x48 0x08 # Data right justified

./i2cset -f -y $I2C_BUS 0x39 0x49 0xA8 # Set Dither_mode - 12-to-10 bit

./i2cset -f -y $I2C_BUS 0x39 0x4C 0x00 # 8 bit Output

./i2cset -f -y $I2C_BUS 0x39 0x55 0x40 # Set YCrCb 444 in AVinfo Frame

./i2cset -f -y $I2C_BUS 0x39 0x56 0x08 # Set active format Aspect

./i2cset -f -y $I2C_BUS 0x39 0x96 0x20 # HPD Interrupt clear

./i2cset -f -y $I2C_BUS 0x39 0x98 0x03 # ADI Recommended Write

./i2cset -f -y $I2C_BUS 0x39 0x99 0x02 # ADI Recommended Write

./i2cset -f -y $I2C_BUS 0x39 0x9C 0x30 # PLL Filter R1 Value

./i2cset -f -y $I2C_BUS 0x39 0x9D 0x61 # Set clock divide

./i2cset -f -y $I2C_BUS 0x39 0xA2 0xA4 # ADI Recommended Write

./i2cset -f -y $I2C_BUS 0x39 0xA3 0xA4 # ADI Recommended Write

./i2cset -f -y $I2C_BUS 0x39 0xA5 0x04 # ADI Recommended Write

./i2cset -f -y $I2C_BUS 0x39 0xAB 0x40 # ADI Recommended Write

./i2cset -f -y $I2C_BUS 0x39 0xAF 0x16 # Set HDMI Mode

./i2cset -f -y $I2C_BUS 0x39 0xBA 0x60 # No clock delay

./i2cset -f -y $I2C_BUS 0x39 0xD1 0xFF # ADI Recommended Write

./i2cset -f -y $I2C_BUS 0x39 0xDE 0xD8 # ADI Recommended Write

./i2cset -f -y $I2C_BUS 0x39 0xE4 0x60 # VCO_Swing_Reference_Voltage

./i2cset -f -y $I2C_BUS 0x39 0xFA 0x7D # Nbr of times to search for good phase

 

#3 -  Shall I use Internal EDID or Do I need to set an specific EDID ?

./i2cset -f -y $I2C_BUS $I2C_KSV_MAP 0x77 0x00 # Disable the Internal EDID

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x00 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x01 0xFF #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x02 0xFF #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x03 0xFF #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x04 0xFF #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x05 0xFF #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x06 0xFF #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x07 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x08 0x06 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x09 0x8F #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x0A 0x07 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x0B 0x11 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x0C 0x01 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x0D 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x0E 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x0F 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x10 0x17 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x11 0x11 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x12 0x01 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x13 0x03 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x14 0x80 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x15 0x0C #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x16 0x09 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x17 0x78 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x18 0x0A #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x19 0x1E #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x1A 0xAC #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x1B 0x98 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x1C 0x59 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x1D 0x56 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x1E 0x85 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x1F 0x28 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x20 0x29 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x21 0x52 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x22 0x57 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x23 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x24 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x25 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x26 0x01 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x27 0x01 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x28 0x01 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x29 0x01 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x2A 0x01 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x2B 0x01 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x2C 0x01 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x2D 0x01 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x2E 0x01 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x2F 0x01 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x30 0x01 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x31 0x01 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x32 0x01 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x33 0x01 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x34 0x01 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x35 0x01 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x36 0x8C #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x37 0x0A #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x38 0xD0 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x39 0x8A #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x3A 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x3B 0xE0 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x3C 0x2D #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x3D 0x10 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x3E 0x10 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x3F 0x3E #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x40 0x96 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x41 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x42 0x81 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x43 0x60 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x44 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x45 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x46 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x47 0x18 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x48 0x01 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x49 0x1D #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x4A 0x80 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x4B 0x18 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x4C 0x71 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x4D 0x1C #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x4E 0x16 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x4F 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x50 0x58 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x51 0x2C #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x52 0x25 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x53 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x54 0x81 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x55 0x49 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x56 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x57 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x58 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x59 0x9E #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x5A 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x5B 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x5C 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x5D 0xFC #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x5E 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x5F 0x56 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x60 0x41 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x61 0x2D #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x62 0x31 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x63 0x38 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x64 0x30 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x65 0x39 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x66 0x41 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x67 0x0A #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x68 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x69 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x6A 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x6B 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x6C 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x6D 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x6E 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x6F 0xFD #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x70 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x71 0x17 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x72 0x3D #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x73 0x0D #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x74 0x2E #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x75 0x11 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x76 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x77 0x0A #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x78 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x79 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x7A 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x7B 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x7C 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x7D 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x7E 0x01 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x7F 0x1C #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x80 0x02 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x81 0x03 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x82 0x34 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x83 0x71 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x84 0x4D #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x85 0x82 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x86 0x05 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x87 0x04 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x88 0x01 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x89 0x10 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x8A 0x11 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x8B 0x14 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x8C 0x13 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x8D 0x1F #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x8E 0x06 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x8F 0x15 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x90 0x03 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x91 0x12 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x92 0x35 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x93 0x0F #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x94 0x7F #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x95 0x07 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x96 0x17 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x97 0x1F #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x98 0x38 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x99 0x1F #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x9A 0x07 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x9B 0x30 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x9C 0x2F #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x9D 0x07 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x9E 0x72 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0x9F 0x3F #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xA0 0x7F #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xA1 0x72 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xA2 0x57 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xA3 0x7F #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xA4 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xA5 0x37 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xA6 0x7F #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xA7 0x72 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xA8 0x83 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xA9 0x4F #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xAA 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xAB 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xAC 0x67 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xAD 0x03 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xAE 0x0C #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xAF 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xB0 0x10 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xB1 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xB2 0x88 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xB3 0x2D #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xB4 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xB5 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xB6 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xB7 0xFF #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xB8 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xB9 0x0A #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xBA 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xBB 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xBC 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xBD 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xBE 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xBF 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xC0 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xC1 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xC2 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xC3 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xC4 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xC5 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xC6 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xC7 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xC8 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xC9 0xFF #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xCA 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xCB 0x0A #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xCC 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xCD 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xCE 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xCF 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xD0 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xD1 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xD2 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xD3 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xD4 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xD5 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xD6 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xD7 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xD8 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xD9 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xDA 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xDB 0xFF #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xDC 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xDD 0x0A #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xDE 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xDF 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xE0 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xE1 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xE2 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xE3 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xE4 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xE5 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xE6 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xE7 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xE8 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xE9 0x20 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xEA 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xEB 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xEC 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xED 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xEE 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xEF 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xF0 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xF1 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xF2 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xF3 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xF4 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xF5 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xF6 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xF7 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xF8 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xF9 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xFA 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xFB 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xFC 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xFD 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xFE 0x00 #

./i2cset -f -y $I2C_BUS $I2C_EDID_MAP 0xFF 0xDA #

./i2cset -f -y $I2C_BUS $I2C_KSV_MAP 0x77 0x00 # Set the Most Significant Bit of the SPA location to 0

./i2cset -f -y $I2C_BUS $I2C_KSV_MAP 0x52 0x20 # Set the SPA for port B.

./i2cset -f -y $I2C_BUS $I2C_KSV_MAP 0x53 0x00 # Set the SPA for port B.

./i2cset -f -y $I2C_BUS $I2C_KSV_MAP 0x70 0x9E # Set the Least Significant Byte of the SPA location

./i2cset -f -y $I2C_BUS $I2C_KSV_MAP 0x74 0x03 # Enable the Internal EDID for Ports

 

Please help to respond to the query urgently.

 

Thanks in advance.

Outcomes