Hi, I am having issue getting HDMI and LVDS work together.
Probably device tree related. Here is the related dts part:
mxcfb1: fb@0 { | ||
compatible = "fsl,mxc_sdc_fb"; | ||
disp_dev = "ldb"; | ||
interface_pix_fmt = "RGB666"; | ||
mode_str = "800x480M@60"; | ||
default_bpp = <32>; | ||
int_clk = <0>; | ||
late_init = <0>; | ||
status = "okay"; | ||
}; |
mxcfb2: fb@1 { | ||
compatible = "fsl,mxc_sdc_fb"; | ||
disp_dev = "hdmi"; | ||
interface_pix_fmt = "RGB24"; | ||
mode_str ="1920x1080M@60"; | ||
default_bpp = <24>; | ||
int_clk = <0>; | ||
late_init = <0>; | ||
status = "okay"; | ||
}; |
And i modify the ipu_id and disp_id of hdmi to 1 and 0.
&hdmi_core {
ipu_id = <1>;/*winmate victor test*/
disp_id = <0>;/*winmate victor test*/
status = "okay";
};
But when i print the value in the driver where it will call hdmi_core show ipu_id = 0 disp_id = 0.
static int hdmi_core_get_of_property(struct platform_device *pdev)
{
struct device_node *np = pdev->dev.of_node;
int err;
int ipu_id, disp_id;
err = of_property_read_u32(np, "ipu_id", &ipu_id);
if (err) {
dev_dbg(&pdev->dev, "get of property ipu_id fail\n");
return err;
}
err = of_property_read_u32(np, "disp_id", &disp_id);
if (err) {
dev_dbg(&pdev->dev, "get of property disp_id fail\n");
return err;
}
mxc_hdmi_ipu_id = ipu_id;
mxc_hdmi_disp_id = disp_id;
dev_err(&pdev->dev, "winmate victor ipu: %d disp: %d\n",ipu_id,disp_id);
return err;
}
My question is why it showed ipu_id = 0 disp_id = 0 instead of ipu_id = 1 disp_id = 0?
Please Help!
Thanks in advanced.
Hi Victor,
Could you tell me board and BSP are you using?
Have a nice day
Rita
Hi Victor,
There is some thing wrong in your IPU setting, as you can see in the follow code:
&hdmi_core {
ipu_id = <1>;/*winmate victor test*/
disp_id = <0>;/*winmate victor test*/
status = "okay";
};
I see that you are using the i.MX6DL processor, and the i.MX6DL only has one IPU, so ipu_id = <1>; is unavalible.
Here you can use
ipu_id = <0>;
disp_id = <0>;
Or
ipu_id = <0>;
disp_id = <1>;
You can try and modify and then test.
Have a great day,
Rita
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
I had try to set ipu_id to 0 and disp_id to 1 but it still showed the wrong id.
it still showed ipu_id = 0 disp_id =0.
Besides, i can't set ipu and disp to 0 because LVDS is already using ipu and disp to 0.
Is this imx6dlsabresd board you desgined yourself or you are using the NXP reference board?
I modified NXP reference board to my own board for customize.
It is based on NXP reference board.