Return-Path: Received: by yocto-www.yoctoproject.org (Postfix, from userid 118) id 3E57CE00BF3; Mon, 24 Jul 2017 02:34:53 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on yocto-www.yoctoproject.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,HTML_MESSAGE, RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 X-Spam-HAM-Report: * -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no * trust * [122.147.158.238 listed in list.dnswl.org] * -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% * [score: 0.0000] * 0.0 HTML_MESSAGE BODY: HTML included in message Received: from mx.winmate.com.tw (mail.winmate.com.tw [122.147.158.238]) by yocto-www.yoctoproject.org (Postfix) with SMTP id 75AB2E00A9C for ; Mon, 24 Jul 2017 02:34:50 -0700 (PDT) Received: from winmate.com.tw([192.168.100.101]) by RaidenMAILD([192.168.1.6]); Mon, 24 Jul 2017 17:36:49 +0800 Received: from WE1441 ([192.168.8.41]) by winmate.com.tw ([220.130.150.210]); Mon, 24 Jul 2017 17:34:41 +0800 From: "victor_wang.Winmate" To: Date: Mon, 24 Jul 2017 17:33:50 +0800 Message-ID: <000601d3045f$f559bea0$e00d3be0$@winmate.com.tw> MIME-Version: 1.0 X-Mailer: Microsoft Outlook 14.0 Thread-Index: AdMEW8zeKLHjFJjsT4SaM745EnM+vw== Subject: Showing HDMI and LVDS in the same time X-BeenThere: yocto@yoctoproject.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: Discussion of all things Yocto Project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Jul 2017 09:34:53 -0000 Content-Type: multipart/alternative; boundary="----=_NextPart_000_0007_01D304A3.0382CB00" Content-Language: zh-tw ------=_NextPart_000_0007_01D304A3.0382CB00 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi All, I=E2=80=99m trying to display HDMI and LVDS In the same time recently. But now I have got three different issues here. By the way I=E2=80=99m using SABRESD IMX.6 for development. =20 First issue : I had trying to modify the ipu_id and disp_id to 0 and 1 like below. =20 &hdmi_core { ipu_id =3D <0>;/*winmate victor test*/ disp_id =3D <1>;/*winmate victor test*/ status =3D "okay"; }; =20 And my bootargs settings is like below. =20 setenv mmcargs "setenv bootargs console=3D${console},${baudrate} ${smp} = consoleblank=3D0 root=3D${mmcroot} video=3Dmxcfb0:dev=3Dldb = video=3Dmxcfb1:dev=3Dhdmi,1920x1080M@60,if=3DRGB24 video=3Dmxcfb2:off = video=3Dmxcfb3:off" =20 But HDMI can=E2=80=99t work unless I change my bootargs settings like = below and it will work. =20 setenv mmcargs "setenv bootargs console=3D${console},${baudrate} ${smp} = consoleblank=3D0 root=3D${mmcroot} = video=3Dmxcfb0:dev=3Dhdmi,1920x1080M@60,if=3DRGB24 video=3Dmxcfb2:off = video=3Dmxcfb3:off" =20 Second issue :=20 I had trying to modify the ipu_id and disp_id to 0 and 1 like below. =20 &hdmi_core { ipu_id =3D <0>;/*winmate victor test*/ disp_id =3D <1>;/*winmate victor test*/ status =3D "okay"; }; =20 And I will print ipu_id and disp_id out in the driver like below. =20 static int hdmi_core_get_of_property(struct platform_device *pdev) { struct device_node *np =3D pdev->dev.of_node; int err; int ipu_id, disp_id; =20 err =3D 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 =3D 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 =3D 0; disp_id =3D 1; =20 mxc_hdmi_ipu_id =3D ipu_id; mxc_hdmi_disp_id =3D disp_id; =20 dev_err(&pdev->dev, "winmate victor ipu: %d disp: = %d\n",mxc_hdmi_ipu_id,mxc_hdmi_disp_id); =20 return err; } =20 But it always print winmate victor ipu: 0 disp: 0 not winmate victor = ipu: 0 disp: 1. It is weird that it didn=E2=80=99t show the value that I gave it. =20 =20 Third issue : I had trying to modify the ipu_id and disp_id to 0 and 1 like below. =20 &hdmi_core { ipu_id =3D <0>;/*winmate victor test*/ disp_id =3D <1>;/*winmate victor test*/ status =3D "okay"; }; =20 And I try to set ipu_id and disp_id to 0 and 1 in the driver like below. =20 static int hdmi_core_get_of_property(struct platform_device *pdev) { struct device_node *np =3D pdev->dev.of_node; int err; int ipu_id, disp_id; =20 err =3D 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 =3D 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 =3D 0; disp_id =3D 1; =20 mxc_hdmi_ipu_id =3D 0; mxc_hdmi_disp_id =3D 1;/*winmate victor*/ =20 dev_err(&pdev->dev, "winmate victor ipu: %d disp: = %d\n",mxc_hdmi_ipu_id,mxc_hdmi_disp_id); =20 return err; } =20 In this case I will get this information in my syslog. =20 mxc_sdc_fb fb@1: registered mxc display driver hdmi mxc_sdc_fb fb@1: Winmate victor You are now using ipu0-di1 =20 It seems it have confirm the id and prepare to used. But HDMI still show nothing. =20 By the way, the bootargs setting is like below. =20 setenv mmcargs "setenv bootargs console=3D${console},${baudrate} ${smp} = consoleblank=3D0 root=3D${mmcroot} video=3Dmxcfb0:dev=3Dldb = video=3Dmxcfb1:dev=3Dhdmi,1920x1080M@60,if=3DRGB24 video=3Dmxcfb2:off = video=3Dmxcfb3:off" =20 =20 =20 =20 =20 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 is the ipu_id and = disp_id didn=E2=80=99t 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=E2=80=99t work? =20 Please Help! Thanks in advanced ! Best Regards Victor Wang =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Winmate Commuication INC. Tel:+886-2-8511-0288 ext 878; = Fax:+886-2-85110211 =E2=9C=89 = victor_wang@winmate.com.tw =20 ------=_NextPart_000_0007_01D304A3.0382CB00 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

Hi = All,

I=E2=80=99m trying to display HDMI and LVDS In the same = time recently.

But now I have got three different issues = here.

By = the way I=E2=80=99m 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 = {

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ipu_id =3D = <0>;/*winmate victor test*/

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 disp_id =3D = <1>;/*winmate victor test*/

=C2=A0=C2=A0=C2=A0 = =C2=A0=C2=A0=C2=A0=C2=A0status =3D = "okay";

};

 

And my bootargs settings is like = below.

 

setenv mmcargs "setenv bootargs = console=3D${console},${baudrate} ${smp} consoleblank=3D0 = root=3D${mmcroot} video=3Dmxcfb0:dev=3Dldb = video=3Dmxcfb1:dev=3Dhdmi,1920x1080M@60,if=3DRGB24 video=3Dmxcfb2:off = video=3Dmxcfb3:off"

 

But HDMI can=E2=80=99t work unless I change my bootargs = settings like below and it will work.

 

setenv mmcargs "setenv = bootargs console=3D${console},${baudrate} ${smp} consoleblank=3D0 = root=3D${mmcroot} video=3Dmxcfb0:dev=3Dhdmi,1920x1080M@60,if=3DRGB24 = video=3Dmxcfb2:off video=3Dmxcfb3:off"

 

Second issue : =

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

 

&hdmi_core {

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ipu_id =3D = <0>;/*winmate victor test*/

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 disp_id =3D = <1>;/*winmate victor test*/

=C2=A0=C2=A0=C2=A0 = =C2=A0=C2=A0=C2=A0=C2=A0status =3D = "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)

{

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 struct = device_node *np =3D pdev->dev.of_node;

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 int = err;

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 int ipu_id, = disp_id;

 

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 err =3D = of_property_read_u32(np, "ipu_id", = &ipu_id);

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (err) = {

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 dev_dbg(&pdev->dev, "get of = property ipu_id fail\n");

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return err;

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 = }

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 err =3D = of_property_read_u32(np, "disp_id", = &disp_id);

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (err) = {

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 dev_dbg(&pdev->dev, "get of = property disp_id fail\n");

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return err;

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 = }

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ipu_id =3D = 0;

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 disp_id =3D = 1;

 

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 mxc_hdmi_ipu_id = =3D ipu_id;

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 mxc_hdmi_disp_id = =3D disp_id;

 

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

 

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 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=E2=80=99t = 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 {

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ipu_id =3D = <0>;/*winmate victor test*/

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 disp_id =3D = <1>;/*winmate victor test*/

=C2=A0=C2=A0=C2=A0 = =C2=A0=C2=A0=C2=A0=C2=A0status =3D = "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)

{

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 struct = device_node *np =3D pdev->dev.of_node;

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 int = err;

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 int ipu_id, = disp_id;

 

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 err =3D = of_property_read_u32(np, "ipu_id", = &ipu_id);

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (err) = {

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 dev_dbg(&pdev->dev, "get of = property ipu_id fail\n");

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return err;

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 = }

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 err =3D = of_property_read_u32(np, "disp_id", = &disp_id);

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (err) = {

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 dev_dbg(&pdev->dev, "get of = property disp_id fail\n");

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return err;

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 = }

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ipu_id =3D = 0;

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 disp_id =3D = 1;

 

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 mxc_hdmi_ipu_id = =3D 0;

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 mxc_hdmi_disp_id = =3D 1;/*winmate victor*/

 

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

 

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 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=3D${console},${baudrate} ${smp} consoleblank=3D0 = root=3D${mmcroot} video=3Dmxcfb0:dev=3Dldb = video=3Dmxcfb1:dev=3Dhdmi,1920x1080M@60,if=3DRGB24 video=3Dmxcfb2:off = video=3Dmxcfb3: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 is the ipu_id and disp_id didn=E2=80=99t 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=E2=80=99t = work?

 

Please Help!

Thanks in advanced = !

B= est Regards

V= ictor Wang

=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

W= inmate Commuication INC.

<= a href=3D"tel:+886-2-8511-0288">Tel:+886-2-8511-0288 ext 878; = Fax:+886-2-85110211

=E2=9C=89 = victor_wang@winmate.com.tw

 

------=_NextPart_000_0007_01D304A3.0382CB00--