HDMI phy_int_stat value when cable is plugged

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

HDMI phy_int_stat value when cable is plugged

Jump to solution
716 Views
TKayO
Contributor III

Hello, 

my previous question about HDMI of i.MX6

It's about the HDMI working status is different,

1) when my board boot up with HDMI monitor connected (hdmi is work with no problem)

2) HDMI monitor connected after boot up  (not working)

https://community.nxp.com/t5/i-MX-Processors/imx6-HDMI-working-status-differed-by-cable-plugging/m-p...

 

And I enabled mxc_hdmi debug messages, and found differences.

 

Log of nicely working hdmi (cable plugged when powered up)

[ 93.136869] mxc_hdmi 20e0000.hdmi_video: Hotplug interrupt received
[ 93.157514] mxc_hdmi 20e0000.hdmi_video: phy_int_stat=0x3d, phy_int_pol=0x2
[ 93.157522] mxc_hdmi 20e0000.hdmi_video: EVENT=plugin
[ 93.157532] mxc_hdmi 20e0000.hdmi_video: mxc_hdmi_cable_connected
[ 93.157540] mxc_hdmi 20e0000.hdmi_video: mxc_hdmi_read_edid
[ 93.157760] mxc_hdmi 20e0000.hdmi_video: read failed
[ 93.157768] mxc_hdmi 20e0000.hdmi_video: Read EDID again
[ 93.377540] mxc_hdmi 20e0000.hdmi_video: mxc_hdmi_read_edid
[ 93.377763] mxc_hdmi 20e0000.hdmi_video: read failed
[ 93.377772] mxc_hdmi 20e0000.hdmi_video: mxc_hdmi_default_modelist
[ 93.377779] mxc_hdmi 20e0000.hdmi_video: create default modelist
[ 93.382527] mxc_hdmi 20e0000.hdmi_video: mxc_hdmi_set_mode
[ 93.382550] mxc_hdmi 20e0000.hdmi_video: mxc_hdmi_set_mode: Video mode same as previous
[ 93.382557] mxc_hdmi 20e0000.hdmi_video: mxc_hdmi_setup
[ 93.382576] mxc_hdmi 20e0000.hdmi_video: mxc_hdmi_setup - video mode changed
[ 93.382596] hdmi_disable_overflow_interrupts
[ 93.382604] mxc_hdmi 20e0000.hdmi_video: CEA mode used vic=16
[ 93.382611] mxc_hdmi 20e0000.hdmi_video: hdmi_av_composer
[ 93.382619] mxc_hdmi 20e0000.hdmi_video: final pixclk = 148500000
[ 93.382626] mxc_hdmi 20e0000.hdmi_video: hdmi_av_composer exit
[ 93.382633] mxc_hdmi 20e0000.hdmi_video: mxc_hdmi_phy_init
[ 93.382638] hdmi_enable_overflow_interrupts
[ 93.382647] mxc_hdmi 20e0000.hdmi_video: hdmi_phy_configure
[ 93.394689] mxc_hdmi 20e0000.hdmi_video: hdmi_phy_configure
[ 93.406728] mxc_hdmi 20e0000.hdmi_video: mxc_hdmi_enable_video_path
[ 93.406738] mxc_hdmi 20e0000.hdmi_video: mxc_hdmi_setup CEA mode
[ 93.406751] mxc_hdmi 20e0000.hdmi_video: hdmi_enable_audio_clk
[ 93.406758] mxc_hdmi 20e0000.hdmi_video: set up AVI frame
[ 93.406781] mxc_hdmi 20e0000.hdmi_video: mxc_hdmi_setup exit\x0a
[ 93.406789] mxc_hdmi 20e0000.hdmi_video: mxc_hdmi_cable_connected exit

 

Log of no display on hdmi monitor (power up without cable, after boot, cable plugged)

 

[ 86.152376] mxc_hdmi 20e0000.hdmi_video: Hotplug interrupt received
[ 86.177489] mxc_hdmi 20e0000.hdmi_video: phy_int_stat=0x1, phy_int_pol=0x2
[ 86.177498] mxc_hdmi 20e0000.hdmi_video: EVENT=plugin
[ 86.177509] mxc_hdmi 20e0000.hdmi_video: mxc_hdmi_cable_connected
[ 86.177518] mxc_hdmi 20e0000.hdmi_video: mxc_hdmi_read_edid
[ 86.177939] mxc_hdmi 20e0000.hdmi_video: read failed
[ 86.177949] mxc_hdmi 20e0000.hdmi_video: Read EDID again
[ 86.397465] mxc_hdmi 20e0000.hdmi_video: mxc_hdmi_read_edid
[ 86.397675] mxc_hdmi 20e0000.hdmi_video: read failed
[ 86.397684] mxc_hdmi 20e0000.hdmi_video: mxc_hdmi_default_modelist
[ 86.397692] mxc_hdmi 20e0000.hdmi_video: create default modelist
[ 86.402446] mxc_hdmi 20e0000.hdmi_video: mxc_hdmi_set_mode
[ 86.402469] mxc_hdmi 20e0000.hdmi_video: mxc_hdmi_set_mode: New video mode
[ 86.402477] mxc_hdmi 20e0000.hdmi_video: mxc_hdmi_set_mode_to_vga_dvi
[ 86.402482] hdmi_disable_overflow_interrupts
[ 86.402493] mxc_hdmi 20e0000.hdmi_video: mxc_hdmi_notify_fb
[ 86.402500] mxc_hdmi 20e0000.hdmi_video: mxc_hdmi_phy_disable
[ 86.402548] mxc_hdmi 20e0000.hdmi_video: event=FB_EVENT_MODE_CHANGE
[ 86.402558] mxc_hdmi 20e0000.hdmi_video: mxc_hdmi_setup
[ 86.402574] mxc_hdmi 20e0000.hdmi_video: mxc_hdmi_setup - video mode changed
[ 86.402578] hdmi_disable_overflow_interrupts
[ 86.402584] mxc_hdmi 20e0000.hdmi_video: CEA mode used vic=0
[ 86.402591] mxc_hdmi 20e0000.hdmi_video: hdmi_av_composer
[ 86.402597] mxc_hdmi 20e0000.hdmi_video: final pixclk = 24780000
[ 86.402603] mxc_hdmi 20e0000.hdmi_video: hdmi_av_composer exit
[ 86.402613] mxc_hdmi 20e0000.hdmi_video: mxc_hdmi_phy_init
[ 86.402618] mxc_hdmi 20e0000.hdmi_video: mxc_hdmi_enable_video_path
[ 86.402626] mxc_hdmi 20e0000.hdmi_video: mxc_hdmi_setup CEA mode
[ 86.402634] mxc_hdmi 20e0000.hdmi_video: hdmi_enable_audio_clk
[ 86.402640] mxc_hdmi 20e0000.hdmi_video: set up AVI frame
[ 86.402662] mxc_hdmi 20e0000.hdmi_video: mxc_hdmi_setup exit\x0a
[ 86.402670] mxc_hdmi 20e0000.hdmi_video: mxc_hdmi_notify_fb exit
[ 86.402686] mxc_hdmi 20e0000.hdmi_video: mxc_hdmi_notify_fb
[ 86.402692] mxc_hdmi 20e0000.hdmi_video: mxc_hdmi_phy_disable
[ 86.402727] mxc_hdmi 20e0000.hdmi_video: event=FB_EVENT_MODE_CHANGE
[ 86.402733] mxc_hdmi 20e0000.hdmi_video: mxc_hdmi_setup
[ 86.402747] mxc_hdmi 20e0000.hdmi_video: mxc_hdmi_setup - video mode changed
[ 86.402764] hdmi_disable_overflow_interrupts
[ 86.402770] mxc_hdmi 20e0000.hdmi_video: CEA mode used vic=16
[ 86.402776] mxc_hdmi 20e0000.hdmi_video: hdmi_av_composer
[ 86.402784] mxc_hdmi 20e0000.hdmi_video: final pixclk = 148500000
[ 86.402790] mxc_hdmi 20e0000.hdmi_video: hdmi_av_composer exit
[ 86.402795] mxc_hdmi 20e0000.hdmi_video: mxc_hdmi_phy_init
[ 86.402801] mxc_hdmi 20e0000.hdmi_video: mxc_hdmi_enable_video_path
[ 86.402809] mxc_hdmi 20e0000.hdmi_video: mxc_hdmi_setup CEA mode
[ 86.402820] mxc_hdmi 20e0000.hdmi_video: hdmi_enable_audio_clk
[ 86.402827] mxc_hdmi 20e0000.hdmi_video: set up AVI frame
[ 86.402850] mxc_hdmi 20e0000.hdmi_video: mxc_hdmi_setup exit\x0a
[ 86.402858] mxc_hdmi 20e0000.hdmi_video: mxc_hdmi_notify_fb exit
[ 86.402865] mxc_hdmi 20e0000.hdmi_video: mxc_hdmi_cable_connected exit

 

Any idea of what cause these differences?

Thank you.

 

ps.

mxc_hdmi_phy_init() function in module "KERNEL/drivers/video/fbdev/mxc/mxc_hdmi.c"

seems the cause of this situation.

 

    if (!hdmi->fb_reg || !hdmi->cable_plugin
            || (hdmi->blank != FB_BLANK_UNBLANK))
        return;

 

above condition returned with "hdmi->blank != FB_BLANK_UNBLANK" is true.

Labels (1)
0 Kudos
1 Solution
701 Views
igorpadykov
NXP Employee
NXP Employee

Hi WOOSEOK

 

please try to reproduce issue on NXP Sabre SD reference board with linux releases described on

https://www.nxp.com/design/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applicat...

 

Best regards
igor

View solution in original post

0 Kudos
2 Replies
702 Views
igorpadykov
NXP Employee
NXP Employee

Hi WOOSEOK

 

please try to reproduce issue on NXP Sabre SD reference board with linux releases described on

https://www.nxp.com/design/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applicat...

 

Best regards
igor

0 Kudos
690 Views
TKayO
Contributor III

Thank you for your concern

and sorry for my frequent questions.

it was a hardware problem.  there was no pull-up register for the HPD pin.

 

0 Kudos