How to enable HDMI+LCD on iMX6Q with different dimensions?

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

How to enable HDMI+LCD on iMX6Q with different dimensions?

Jump to solution
2,048 Views
evgenymolchanov
Contributor III

Hello all.

I want to use both displays (HDMI and LCD) with different dimensions on my custom board based on sabresd.

I have both displays work with different dimensions on Android, but can't get it on Yocto and Debian.

I have both displays work only if i set for lcd and hdmi the same ipu_id and disp_id in dtsi. In this case they both have 800x480 dimension. What should I do to get different dimension on HDMi and LCD?

here is my dtsi:

mxcfb1: fb@0 {
   compatible = "fsl,mxc_sdc_fb";
   disp_dev = "lcd";
   interface_pix_fmt = "RGB24";
   mode_str ="CLAA-WVGA";
   default_bpp = <24>;
   int_clk = <0>;
   late_init = <0>;
   status = "disabled";

    };

    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 = "disabled";

    };

    mxcfb3: fb@2 {

   compatible = "fsl,mxc_sdc_fb";
   disp_dev = "ldb";
   interface_pix_fmt = "RGB666";
   default_bpp = <16>;
   int_clk = <0>;
   late_init = <0>;
   status = "disabled";

    };

    mxcfb4: fb@3 {

   compatible = "fsl,mxc_sdc_fb";
   disp_dev = "ldb";
   interface_pix_fmt = "RGB666";
   default_bpp = <16>;
   int_clk = <0>;
   late_init = <0>;
   status = "disabled";

    };

    lcd@0 {

   compatible = "fsl,lcd";
   ipu_id = <0>;
   disp_id = <0>;
   default_ifmt = "RGB24";
   pinctrl-names = "default";
   pinctrl-0 = <&pinctrl_ipu1_1>;
   status = "okay";

    };

...

&hdmi_audio {

    status = "okay";

};

&hdmi_cec {

    pinctrl-names = "default";

    pinctrl-0 = <&pinctrl_hdmi_cec_2>;

    status = "okay";

};

&hdmi_core {

    ipu_id = <0>;

    disp_id = <0>;

    status = "okay";

};

&hdmi_video {

    fsl,phy_reg_vlev = <0x0294>;

    fsl,phy_reg_cksymtx = <0x800d>;

    status = "okay";

};

my video u-boot environment:

video=mxcfb0:dev=lcd,bpp=16,CLAA-WVGA,if=RGB24 video=mxcfb1:dev=hdmi,1920x1080M@60,if=RGB24

If i change envinronment to:

video=mxcfb1:dev=lcd,bpp=16,CLAA-WVGA,if=RGB24 video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24

then HDMI sets to 1920x1080, but LCD at this time shows garbage.

I have read this post How to add HDMI and LCD both(Dual display) on latest devicetree supported kernel

and compared dts files with my own and didn't found any differences.

I use 3.10.53 kernel.

Thanks.

Labels (4)
0 Kudos
1 Solution
757 Views
igorpadykov
NXP Employee
NXP Employee

Hi Evgeny

you can test demo image in that BSP using Sabre SD board and

verify that it is working. Then modify BSP for own board with custom

LCDs using for example link below

https://community.freescale.com/thread/355690

~igor

View solution in original post

0 Kudos
4 Replies
757 Views
igorpadykov
NXP Employee
NXP Employee

Hi Evgeny

for hdmi+lcd configuration example one can look at latest BSP, refer to attached Linux Guide

p.25 "Specifying displays".

Board Support Packages (29)

L3.14.52_1.1.0_MX6QDLSOLO (REV L3.14.52_1.1.0)

http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/i.mx-applications-process...

Best regards

igor

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

0 Kudos
757 Views
evgenymolchanov
Contributor III

Thank you Igor. You give this answer on all such questions.

What I need to compare in latest BSP or I just should use latest BSP?

I thought what I need to correct my dts files and u-boot environments...

I tried to use environments from p.25:

U-Boot > setenv displayinfo 'video=mxcfb0:mxcfb0:dev=lcd,if=RGB565

video=mxcfb1:dev=hdmi,1920x1080M@60,if=RGB24' for LCD and HDMI dual displays

and as result colors on hdmi looks very bad:

DSC_0406.JPG

and dimension still 800x480.

0 Kudos
758 Views
igorpadykov
NXP Employee
NXP Employee

Hi Evgeny

you can test demo image in that BSP using Sabre SD board and

verify that it is working. Then modify BSP for own board with custom

LCDs using for example link below

https://community.freescale.com/thread/355690

~igor

0 Kudos
757 Views
evgenymolchanov
Contributor III

Hi Igor,

It is a pity that there is no ready-made solution.

In Android 4.4.3 this problem solved and it has 3.10.53 kernel and the same dts files.

I am really confused that it is so hard issue.

Thank you.

0 Kudos