i.mx6Q custom board, keep interrupt and hang.

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

i.mx6Q custom board, keep interrupt and hang.

1,521 Views
wallyyeh
Contributor V

Hi, all:

    our product using i.mx6Q custom board. SDK_3.0.35_4.1.0_GA

recently some board boot without HDMI monitor attached will cause a endless loop of interruption.

I add some printk in kernel/driver/video/mxc_hdmi.c

    static irqreturn_t mxc_hdmi_hotplug( )

the kernel will enter this function, when it check (intr_stat & HDMI_IH_PHY_STAT0_HPD) will not matched (sometimes intr_stat is 0x2 or 0x0)

so it just leave interrupt function, and trigger by GIC again. and never stop.

I read reference manual chapter 3, there are 159 interruption in i.mx6Q , does all these trigger all interruption function in kernel?

the weird thing is if I booting with HDMI attached, I won't get this problem.

Labels (1)
Tags (1)
7 Replies

792 Views
wallyyeh
Contributor V

It's been a long time,  and we find a workarround to this weird interrupt issue, initialize first before mxc_hdmi_disp_init() call request_irq().

following is what we add in mxc_hdmi_disp_init() in kernel/driver/video/mxc_hdmi.c:

/* initialize first, workarround for boot without DVI attached hang up*/

  mxc_hdmi_setup(hdmi, 0);

  mxc_hdmi_enable_video_path(hdmi);

  mxc_hdmi_cable_connected(hdmi);

#ifdef CONFIG_MXC_HDMI_CEC

  mxc_hdmi_cec_handle(0x80);

#endif

  hdmi_set_cable_state(1);

792 Views
igorpadykov
NXP Employee
NXP Employee

Hi Wally

without HDMI monitor attached, signal

HDMI_HPD - HPD input analog comparator

is floating, so it can endlessly send erratic signal (

as connect/disconnect). You should fix it to static level.

Best regards

chip

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

792 Views
wallyyeh
Contributor V

Hi, chip! old friend, glad to see you again. :smileyhappy:

our HDMI_HPD is attached with a output from a OPA(operator amplifier), and value is 0.04v(HDMI not attached) and 3.3v(HDMI attached).

you mention there's a analog comparator inside the HDMI_HPD pin. so maybe 0.04v caused erratic signal?

0 Kudos

792 Views
igorpadykov
NXP Employee
NXP Employee

Hi Wally

probably OPA(operator amplifier) is broken,

since this is sensitive device. Just for test one

can repalce it on bad boards.

Best regards

chip

0 Kudos

792 Views
AllenLai
Contributor I

Hi Chp,

We sure the OPA(operator amplifier) is OK,

becaue we measure the voltage of HDMI_HPD is alaways low (<0.04V) without (HDMI not attached) by oscilloscope.

Even if we short HDMI_HPD to GND forcibly, the system also will cause a endless loop of interruption.

The failure rate is 11pcs/240pcs.

Thanks.

Allen

0 Kudos

792 Views
igorpadykov
NXP Employee
NXP Employee

Hi Wally

it may be the case that OPA (operator amplifier) is broken

and somehow damaged i.MX6 HDMI_HPD input.

Suggest to replace for test.

Best regards

chip

0 Kudos

792 Views
wallyyeh
Contributor V

Thanks, Chip.

I'll see if we can replace the soc and see if this issue resolved or not. :smileylaugh:

0 Kudos