HDMI seems to hang when screen is plugged

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

HDMI seems to hang when screen is plugged

1,110 次查看
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

标记 (1)
0 项奖励
回复
2 回复数

741 次查看
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 项奖励
回复

741 次查看
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 项奖励
回复