If your HDMI TV or monitor is too sensitive and doesn't display correctly, it is worth to adjust the HDMI PHY on the XU3/XU4.
To use this feature, the Kernel version must be be 3.10.82-47 or higher.
This is a portion of the default boot.ini file comes with the 3.10.82-47 update.
#------------------------------------------------------------------------------ # # HDMI-PHY Parameter Control # #------------------------------------------------------------------------------ #------------------------------------------------------------------------------ # # TMDS data amplitude control. # #------------------------------------------------------------------------------ # # 1LSB corresponds to 20 mVdiff amplitude level. # tx_amp_lvl : 0 = 760 mVdiff(Min), 31 = 1380 mVdiff(Max) # # Hardkernel default hdmi_tx_amp_lvl = 31(1380 mVdiff); #------------------------------------------------------------------------------ setenv hdmi_tx_amp_lvl "31" #------------------------------------------------------------------------------ # # TMDS data amplitude fine control for each channel. # #------------------------------------------------------------------------------ # # 1LSB corresponds to 20 mVdiff amplitude level. # tx_lvl : 0 = 0 mVdiff(Min), 3 = 60 mVdiff(Max) # # Hardkernel default # hdmi_tx_lvl_ch0 = 3, hdmi_tx_lvl_ch1 = 3, hdmi_tx_lvl_ch2 = 3, #------------------------------------------------------------------------------ setenv hdmi_tx_lvl_ch0 "3" setenv hdmi_tx_lvl_ch1 "3" setenv hdmi_tx_lvl_ch2 "3" #------------------------------------------------------------------------------ # # TMDS data pre-emphasis level control. # #------------------------------------------------------------------------------ # # 1LSB corresponds to -0.45dB emphasis level except for 1 # tx_emp_lvl : 0 = 0 db(Min), 1 = -0.25 db, 2 = 0.7 db, 15 = -7.45 db(Max) # # Hardkernel default hdmi_tx_emp_lvl = 6 (-2.50 db); #------------------------------------------------------------------------------ setenv hdmi_tx_emp_lvl "6" #------------------------------------------------------------------------------ # # TMDS clock amplitude control. # #------------------------------------------------------------------------------ # # 1LSB corresponds to 20 mVdiff amplitude level. # clk_amp_lvl : 0 = 790 mVdiff(Min), 31 = 1410 mVdiff(Max) # # Hardkernel default hdmi_clk_amp_lvl = 31 (1410 mVdiff) #------------------------------------------------------------------------------ setenv hdmi_clk_amp_lvl "31" #------------------------------------------------------------------------------ # # TMDS data source termination resistor control. # #------------------------------------------------------------------------------ # # tx_res : # 0 = Source Termination OFF(Min), 1 = 200 ohm, 2 = 300 ohm, 3 = 120 ohm(Max) # # Hardkernrel default hdmi_tx_res = 0 (Source Termination OFF) #------------------------------------------------------------------------------ setenv hdmi_tx_res "0"
If you have a display compatibility issue by HDMI signal strength, try this parameters.
#------------------------------------------------------------------------------ # # HDMI-PHY Parameter Control # #------------------------------------------------------------------------------ #------------------------------------------------------------------------------ # # TMDS data amplitude control. # #------------------------------------------------------------------------------ # # 1LSB corresponds to 20 mVdiff amplitude level. # tx_amp_lvl : 0 = 760 mVdiff(Min), 31 = 1380 mVdiff(Max) # # Hardkernel default hdmi_tx_amp_lvl = 31(1380 mVdiff); #------------------------------------------------------------------------------ # trial hdmi_tx_amp_lvl = 13(1020 mVdiff); setenv hdmi_tx_amp_lvl "13" #------------------------------------------------------------------------------ # # TMDS data amplitude fine control for each channel. # #------------------------------------------------------------------------------ # # 1LSB corresponds to 20 mVdiff amplitude level. # tx_lvl : 0 = 0 mVdiff(Min), 3 = 60 mVdiff(Max) # # Hardkernel default # hdmi_tx_lvl_ch0 = 3, hdmi_tx_lvl_ch1 = 3, hdmi_tx_lvl_ch2 = 3, #------------------------------------------------------------------------------ setenv hdmi_tx_lvl_ch0 "0" setenv hdmi_tx_lvl_ch1 "0" setenv hdmi_tx_lvl_ch2 "0" #or try below parameters #setenv hdmi_tx_lvl_ch0 "1" #setenv hdmi_tx_lvl_ch1 "1" #setenv hdmi_tx_lvl_ch2 "1" #------------------------------------------------------------------------------ # # TMDS data pre-emphasis level control. # #------------------------------------------------------------------------------ # # 1LSB corresponds to -0.45dB emphasis level except for 1 # tx_emp_lvl : 0 = 0 db(Min), 1 = -0.25 db, 2 = 0.7 db, 15 = -7.45 db(Max) # # Hardkernel default hdmi_tx_emp_lvl = 6 (-2.50 db); #------------------------------------------------------------------------------ setenv hdmi_tx_emp_lvl "6" #------------------------------------------------------------------------------ # # TMDS clock amplitude control. # #------------------------------------------------------------------------------ # # 1LSB corresponds to 20 mVdiff amplitude level. # clk_amp_lvl : 0 = 790 mVdiff(Min), 31 = 1410 mVdiff(Max) # # Hardkernel default hdmi_clk_amp_lvl = 31 (1410 mVdiff) #------------------------------------------------------------------------------ # hdmi_clk_amp_lvl = 16 (1110 mVdiff) setenv hdmi_clk_amp_lvl "16" #------------------------------------------------------------------------------ # # TMDS data source termination resistor control. # #------------------------------------------------------------------------------ # # tx_res : # 0 = Source Termination OFF(Min), 1 = 200 ohm, 2 = 300 ohm, 3 = 120 ohm(Max) # # Hardkernrel default hdmi_tx_res = 0 (Source Termination OFF) #------------------------------------------------------------------------------ # 200ohm termination setenv hdmi_tx_res "1" #------------------------------------------------------------------------------