AnsweredAssumed Answered

Dual display LVDS and HDMI together

Question asked by victor Wang on Jul 23, 2017
Latest reply on Jul 24, 2017 by victor Wang

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.

Outcomes