Dual display LVDS and HDMI together

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

Dual display LVDS and HDMI together

1,509 Views
wangvictor
Contributor III

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.

Labels (4)
Tags (2)
0 Kudos
6 Replies

785 Views
Rita_Wang
NXP TechSupport
NXP TechSupport

Hi Victor,

Could you tell me board and BSP are you using?

Have a nice day

Rita

0 Kudos

785 Views
wangvictor
Contributor III

b45499

I'm using meta-fsl-arm layer.

imx6dlsabresd is my bsp. 

What is your meaning of board?

0 Kudos

785 Views
Rita_Wang
NXP TechSupport
NXP TechSupport

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!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

785 Views
wangvictor
Contributor III

b45499

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.

0 Kudos

785 Views
Rita_Wang
NXP TechSupport
NXP TechSupport

Is this imx6dlsabresd board you desgined yourself or you are using the NXP reference board?

0 Kudos

785 Views
wangvictor
Contributor III

b45499

I modified NXP reference board to my own board for customize.

It is based on NXP reference board.

0 Kudos