AnsweredAssumed Answered

display HDMI and LVDS in the same time

Question asked by victor Wang on Jul 24, 2017
Latest reply on Jul 27, 2017 by Joan Xie

Hi All,

I’m trying to display HDMI and LVDS In the same time recently.

But now I have got three different issues here.

By the way I’m using SABRESD IMX.6 for development.

 

First issue :

I had trying to modify the ipu_id and disp_id to 0 and 1 like below.

 

&hdmi_core {

        ipu_id = <0>;/*winmate victor test*/

        disp_id = <1>;/*winmate victor test*/

        status = "okay";

};

 

 

And my bootargs settings is like below.

 

setenv mmcargs "setenv bootargs console=${console},${baudrate} ${smp} consoleblank=0 root=${mmcroot} video=mxcfb0:dev=ldb video=mxcfb1:dev=hdmi,1920x1080M@60,if=RGB24 video=mxcfb2:off video=mxcfb3:off"

 

But HDMI can’t work unless I change my bootargs settings like below and it will work.

 

setenv mmcargs "setenv bootargs console=${console},${baudrate} ${smp} consoleblank=0 root=${mmcroot} video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24 video=mxcfb2:off video=mxcfb3:off"

 

Second issue :

I had trying to modify the ipu_id and disp_id to 0 and 1 like below.

 

&hdmi_core {

        ipu_id = <0>;/*winmate victor test*/

        disp_id = <1>;/*winmate victor test*/

        status = "okay";

}; 

 

And I will print ipu_id and disp_id out in the driver like below.

 

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;

        }

        ipu_id = 0;

        disp_id = 1;

 

        mxc_hdmi_ipu_id = ipu_id;

        mxc_hdmi_disp_id = disp_id;

 

        dev_err(&pdev->dev, "winmate victor ipu: %d disp: %d\n",mxc_hdmi_ipu_id,mxc_hdmi_disp_id);

 

        return err;

}

 

But it always print winmate victor ipu: 0 disp: 0 not winmate victor ipu: 0 disp: 1.

It is weird that it didn’t show the value that I gave it.

 

 

Third issue :

I had trying to modify the ipu_id and disp_id to 0 and 1 like below.

 

&hdmi_core {

        ipu_id = <0>;/*winmate victor test*/

        disp_id = <1>;/*winmate victor test*/

        status = "okay";

};

 

 

And I try to set ipu_id and disp_id to 0 and 1 in the driver like below.

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;

        }

        ipu_id = 0;

        disp_id = 1;

 

        mxc_hdmi_ipu_id = 0;

        mxc_hdmi_disp_id = 1;/*winmate victor*/

 

        dev_err(&pdev->dev, "winmate victor ipu: %d disp: %d\n",mxc_hdmi_ipu_id,mxc_hdmi_disp_id);

 

        return err;

}

 

 

In this case I will get this information in my syslog.

 

mxc_sdc_fb fb@1: registered mxc display driver hdmi

mxc_sdc_fb fb@1: Winmate victor You are now using ipu0-di1

 

 

It seems it have confirm the id and prepare to used.

But HDMI still show nothing.

 

By the way, the bootargs setting is like below.

 

setenv mmcargs "setenv bootargs console=${console},${baudrate} ${smp} consoleblank=0 root=${mmcroot} video=mxcfb0:dev=ldb video=mxcfb1:dev=hdmi,1920x1080M@60,if=RGB24 video=mxcfb2:off video=mxcfb3:off"

 

 

First question : Is that possible that Yocto can display HDMI and LVDS in the same time?

Second question : According to the first issue. Why HDMI just can work on mxcfb0 ?

Third question : According to the second issue. Why does the ipu_id and disp_id didn’t show the value that I gave them ?

Fourth question : According to the third issue. I had set the id into 0 and 1 but why HDMI still can’t work?

 

Please Help!

Thanks in advanced !

Outcomes