AnsweredAssumed Answered

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

Question asked by Evgeny Molchanov on Mar 25, 2016
Latest reply on Mar 25, 2016 by Evgeny Molchanov

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.

Outcomes