HDMI seems to hang when screen is plugged

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

HDMI seems to hang when screen is plugged

1,042 Views
pinkpr
Contributor II

Hi guys,

I'm currently trying to implement the support for a  MIPI screen connected to the IMX6DL through a Toshiba HDMI --> MIPI 4 lanes converter

I'm pretty sure I properly initialized the MIPI converter + the screen as the screen lights up and the HDMI converter is well detected as hotplugged by the iMX HDMI driver.

But, as soon as the HDMI gets plugged, the driver seems to hang. Then I actually can't output anything on the HDMI.

I also receive a lot of "Overflow interrupt detected" messages by the HDMI driver.

Is it a known problem, on mxc_hdmi driver, that it could crash when an HDMI cable is hotplugged ? If yes, what could be the fix ?

Thanks a lot

PinkPR

Tags (1)
0 Kudos
Reply
2 Replies

673 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hi Pierre-olivier,

1) try following configuration:

mxcfb2: fb@1

{

...

int_clk = <1>;    // to use internal clock as pixel clock

late_init = <1>;  // to avoid display channel being re-initialized as we've probably setup the channel in bootloader

...

}

in imx6qdl-sabresd.dtsi

2)there is a comment in mxc_hdmi_phy_init, may be HDMI PHY  is in such messed up state after reboot though we don't do phy init.

===========================

static void mxc_hdmi_phy_init(struct mxc_hdmi *hdmi)
{
int i;
bool cscon = false;

dev_dbg(&hdmi->pdev->dev, "%s\n", __func__);

/* Never do phy init if pixel clock is gated.
  * Otherwise HDMI PHY will get messed up and generate an overflow
  * interrupt that can't be cleared or detected by accessing the
  * status register. */
if (!hdmi->fb_reg || !hdmi->cable_plugin
  || (hdmi->blank != FB_BLANK_UNBLANK))
  return;

3) are you playing with latest BSP?

Hope it helps

0 Kudos
Reply

673 Views
pinkpr
Contributor II

Hi Bio_TICFSL,

Thanks to the device tree parameters you provided, the "overflow interrupt received" now shows up only once.

I enabled debug prints in the framebuffer driver, and it's generating some stacktraces in kernel log.

Stacktraces come from drivers/clk/clk.c:594, and drivers/tty/vt/vt.c when I enable the screen (and then it hotplugs).

I'm using the Buildroot 2017.02.5 BSP, derivating the imx6dl-sabresd config. I also updated the kernel to use the freescale kernel 4.9 (instead of the 4.1 initially configured).

0 Kudos
Reply