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.
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);
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!
-----------------------------------------------------------------------------------------------------------------------
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?
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
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
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
Thanks, Chip.
I'll see if we can replace the soc and see if this issue resolved or not. :smileylaugh: