Hi,
I'm using a custom board based on iMX6DL and I have some problem to "enable" hdmi video output.
I need to display pictures using HDMI port.
The HDMI port is directly connected an ADV7611 chip to convert HDMI to VGA (customer specific) and I'm in trouble with HDMI side.
I check the signals (HDMI clk, etc...) but nothing happend !
Anybody habe an idea ??
I'm using Linux 3.0.35 (from freescale)
My video Kernel command line is:
video=mxcfb0:dev=hdmi,1920x1080@60,if=RGB24
And in my board specific file I do :
static struct ipuv3_fb_platform_data hdmi_fb[] = {
{/*fb0*/
.disp_dev = "hdmi",
.interface_pix_fmt = IPU_PIX_FMT_RGB24,
.mode_str = "1920x1080@60",
.default_bpp = 32,
.int_clk = false,
},
};
static void hdmi_init(int ipu_id, int disp_id) {
if ((unsigned)ipu_id > 1) ipu_id = 0;
if ((unsigned)disp_id > 1) disp_id = 0;
mxc_iomux_set_gpr_register(3, 2, 2, 2*ipu_id + disp_id);
}
static struct fsl_mxc_hdmi_platform_data hdmi_data = {
.init = hdmi_init,
};
static struct fsl_mxc_hdmi_core_platform_data hdmi_core_data = {
.ipu_id = 0,
.disp_id = 0,
};
static struct imx_ipuv3_platform_data ipu_data[] = {
{
.rev = 4,
.csi_clk[0] = "clko_clk",
.bypass_reset = false,
}, {
.rev = 4,
.csi_clk[0] = "clko_clk",
.bypass_reset = false,
},
};
And for the hdmi init I do
imx6q_add_mxc_hdmi_core(&hdmi_core_data);
imx6q_add_ipuv3(0, &ipu_data[0]);
imx6q_add_ipuv3fb(0, &hdmi_fb[0]);
imx6q_add_vdoa();
imx6q_add_v4l2_output(0);
imx6q_add_mxc_hdmi(&hdmi_data);
imx6q_add_vpu();
imx6q_add_dma();
My kernel debug trace :
[..]
[ 2.005275] mxc_sdc_fb mxc_sdc_fb.0: register mxc display driver hdmi
[ 2.017397] mxc_hdmi mxc_hdmi: Detected HDMI controller 0x13:0x1a:0xa0:0xc1
[ 2.044756] ipu_init_sync_panel: disp=0, pixel_clk=148500000 148500000
[ 2.060485] imx-ipuv3 imx-ipuv3.0: IPU DMFC DP HIGH RESOLUTION: 1(0,1), 5B(2~5), 5F(6,7)
[ 2.094466] ipu_init_sync_panel: disp=0, pixel_clk=148500000 148500000