i.MX6Q HDMI can't trigger interrupt

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

i.MX6Q HDMI can't trigger interrupt

Jump to solution
2,226 Views
3401848300
Contributor III

1) Motherboard is my own design and layout, I tested the HDMI HDP pin can receive 3.3V high signal. The screen is no problem, I have tested the screen on the Raspberry Pi and the computer.
2) source code from Yocto (https://source.codeaurora.org/external/imx/linux-imx.git version: c27010d99a3d91703ea2d1a3f9630a9dedc3f86f From:./meta-fsl-bsp-release/imx/meta-bsp/recipes-kernel/linux/linux-imx_4.9.11.bb fsl-arm-yocto-bsp.git - i.MX Linux BSP Release Yocto Project manifests ), LCD can display, HDMI is temporarily not working properly.check /proc/interrupts tell me zero interrupt trigger times.
3) When I check /sys/devices/soc0/soc/20e0000.hdmi_video/cable_state, always show plugout
4) HDMI.PHY_STAT0.HPD check, found to be 1 when plugin screen, 0 when plugout.
5) HDMI.IH_PHY_STAT0.HDP check, always 0.
6) HDMI.IH_MUTE_PHY_STAT0.HDP check is always 1, write 0 can't trigger the interrupt.
7) HDMI.IH_MUTE is always 0x00
8) HDMI.PHY_MASK0.HPD is always 1, write 0 is not useful.

My design:

HDMI_SCH.png

My Kernel Log:

[ 0.550486] mxc_hdmi 20e0000.hdmi_video: hdcp disable
[ 0.550709] 20e0000.hdmi_video supply HDMI not found, using dummy regulator
[ 0.690810] mxc_hdmi 20e0000.hdmi_video: mxc_hdmi_disp_init
[ 0.690828] mxc_hdmi 20e0000.hdmi_video: mxc_hdmi_disp_init - default mode (null) bpp=24
[ 0.690894] mxc_hdmi 20e0000.hdmi_video: Enabled HDMI clocks
[ 0.690907] mxc_hdmi 20e0000.hdmi_video: Detected HDMI controller 0x13:0xa:0xa0:0xc1
[ 0.691039] mxc_hdmi 20e0000.hdmi_video: mxc_hdmi_disp_init exit
[ 0.691049] mxc_sdc_fb fb@1: registered mxc display driver hdmi
[ 2.225238] mxc_hdmi_cec soc:hdmi_cec@00120000: HDMI CEC initialized
[ 3.888591] fsl-hdmi-dai soc:hdmi_audio@00120000: failed to probe. Load HDMI-video first.
[ 3.895505] fsl-hdmi-dai: probe of soc:hdmi_audio@00120000 failed with error -12
[ 3.904789] imx-audio-hdmi sound-hdmi: initialize HDMI-audio failed. load HDMI-video first!

My dts Configure:

aliases {
mxcfb0 = &mxcfb1;
mxcfb1 = &mxcfb2;
};

mxcfb2: fb@1 {
compatible = "fsl,mxc_sdc_fb";
disp_dev = "hdmi";
interface_pix_fmt = "RGB24";
default_bpp = <24>;
int_clk = <0>;
late_init = <0>;
status = "okay";

};

&dcic1 {
dcic_id = <0>;
dcic_mux = "dcic-hdmi";
status = "okay";
};

&hdmi_cec {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_hdmi_cec>;
status = "okay";
};

&hdmi_core {
ipu_id = <0>;
disp_id = <0>;
status = "okay";
};

&hdmi_video {
fsl,phy_reg_vlev = <0x0294>;
fsl,phy_reg_cksymtx = <0x800d>;
status = "okay";
};

&i2c2 {
clock-frequency = <100000>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c2>;
status = "okay";

hdmi_edid: edid@50 {
compatible = "fsl,imx6-hdmi-i2c";
reg = <0x50>;
};
};

pinctrl_hdmi_cec: hdmicecgrp {
fsl,pins = <
MX6QDL_PAD_KEY_ROW2__HDMI_TX_CEC_LINE 0x108b0
>;
};

pinctrl_hdmi_hdcp: hdmihdcpgrp {
fsl,pins = <
MX6QDL_PAD_KEY_COL3__HDMI_TX_DDC_SCL 0x4001b8b1
MX6QDL_PAD_KEY_ROW3__HDMI_TX_DDC_SDA 0x4001b8b1
>;
};

Labels (1)
0 Kudos
Reply
1 Solution
1,690 Views
3401848300
Contributor III

Oh ! My screen resolution is not in the support list, but I can fix it like this, it looks like the work is fine.

View solution in original post

0 Kudos
Reply
5 Replies
1,690 Views
igorpadykov
NXP Employee
NXP Employee

Hi Li

so was lcd was correctly detected and hdmi driver reported its resolution based

on EDID information.  Please try with Demo Images on

i.MX Software|NXP 

It may be debugged using driver sources described in attached Linux Manual.

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

0 Kudos
Reply
1,690 Views
3401848300
Contributor III

Since I don't have a sabresd, but my HDMI screen is correct, I can recognize the EDID on my computer and read EDID on my board via i2cdump.

 

In order to confirm that there is no problem, I also changed the monitor.(Sony Monitor also not OK!)

I compared the latested HDMI driver source, that is the same.

0 Kudos
Reply
1,690 Views
igorpadykov
NXP Employee
NXP Employee

had linux correctly recognized lcd model through edid and reported model and used resolution.

0 Kudos
Reply
1,691 Views
3401848300
Contributor III

Oh ! My screen resolution is not in the support list, but I can fix it like this, it looks like the work is fine.

0 Kudos
Reply
1,690 Views
3401848300
Contributor III

I try to set different U-Boot parameters:

video=mxcfb0:dev=hdmi,640x480@60,if=RGB24,bpp=24 => HDMI Display 640*480,But My HDMI Display 1024*768.

ideo=mxcfb1:dev=hdmi,640x480@60,if=RGB24,bpp=24 => HDMI Not Display anything,LCD Display 800*480 correct ,verify by fbset.

video=mxcfb0:dev=hdmi,640x480@60,if=RGB24,bpp=24 video=mxcfb1:dev=hdmi,640x480@60,if=RGB24,bpp=24 => HDMI Display 640*480,same as the first.

0 Kudos
Reply