HDMI seems to hang when screen is plugged

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

HDMI seems to hang when screen is plugged

1,109件の閲覧回数
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 返答(返信)

740件の閲覧回数
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 件の賞賛
返信

740件の閲覧回数
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 件の賞賛
返信