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.