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.
Solved! Go to Solution.
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
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)
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
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:
and dimension still 800x480.
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
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.