hi,
i want to driver four-screen on MX6Q SabreSD board.
Requirements are as follows :
output resolution
Disp0(LCD) CLAA_WVGA(800x480)
Disp1(LVDS0) LDB_XGA(1024x768)
Disp2(HDMI) 720p(1280x720)
Disp3(LVDS1) LDB_XGA(1024x768)
1. Hardware :
i.MX6Q Sabresd board.
One LCD Panel
TWO LVDS Panel
One HDMI port
2. Linux Release Package :
L3.0.35-4.0.0 GA
3. Software configure:
Video and UI will be blended on lcd and lvds0, it is processed in DP. For lvds1 and hdmi, the data goes through DC.
command line : bootargs_base=setenv bootargs console=ttymxc0,115200 arm_freq=800 video=mxcfb0:dev=lcd,
CLAA-WXGA,if=RGB24,fbpix=BGR32 video=mxcfb1:dev=ldb,LDB-XGA,if=RGB666,ldb=sep0
video=mxcfb2:dev=hdmi,1280x720M@60,if=RGB24
Configuration in arch/arm/mach-mx6q_sabresd.c
static struct ipuv3_fb_platform_data sabresd_fb_data[] = {
{
.disp_dev = "lcd",
.interface_pix_fmt = IPU_PIX_FMT_RGB565,
.mode_str = "CLAA-WVGA",
.default_bpp = 16,
.int_clk = false,
.late_init = false,
},
{
.disp_dev = "ldb",
.interface_pix_fmt = IPU_PIX_FMT_RGB666,
.mode_str = "LDB-XGA",
.default_bpp = 16,
.int_clk = false,
.late_init = false,
},
{
.disp_dev = "hdmi",
.interface_pix_fmt = IPU_PIX_FMT_RGB24,
.mode_str = "1280x720M@60",
.default_bpp = 32,
.int_clk = false,
.late_init = false,
},
{
.disp_dev = "ldb",
.interface_pix_fmt = IPU_PIX_FMT_RGB666,
.mode_str = "LDB-XGA",
.default_bpp = 16,
.int_clk = false,
.late_init = false,
},
};
//--------------------------------------------------
static struct fsl_mxc_hdmi_core_platform_data hdmi_core_data = {
.ipu_id = 0,
.disp_id = 1,
};
static struct fsl_mxc_lcd_platform_data lcdif_data = {
.ipu_id = 0,
.disp_id = 0,
.default_ifmt = IPU_PIX_FMT_RGB565,
};
static struct fsl_mxc_ldb_platform_data ldb_data = {
.ipu_id = 1,
.disp_id =0,
.ext_ref = 1,
.mode = LDB_SEP0,
.sec_ipu_id = 1,
.sec_disp_id = 1,
};
It results in frame buffer allocation as below:
+--------> IPU1 DP-BG : /dev/fb0 <----> /dev/video16
LCD -------+
+--------> IPU1 DP-FG : /dev/fb1 <-----> /dev/video17
+--------> IPU0 DP-BG : /dev/fb2 <----> /dev/video18
LVDS0 -------+
+--------> IPU0 DP-FG : /dev/fb3 <-----> /dev/video19
HDMI --------> IPU1 DC : /dev/fb4 <-----> /dev/video20
LVDS1 --------> IPU0 DC : /dev/fb5 <-----> /dev/video21
4. test :
4.1 play a video on HDMI ,
gst-launch videotestsrc ! mfw_v4lsink device=/dev/video20&
4.2 play a video on LCD ,
gst-launch videotestsrc ! mfw_v4lsink device=/dev/video16&
4.3 only LCD playing , HDMI is blank.
hi,
can you tell me how to do it with Yocto device tree?
best reagard!
Jenwei
This discussion is closed since no activity. If you still need help, please feel free to reply with an update to this discussion, or create another discussion.
Thanks,
Yixing
Jenwei
We have not got your response yet and will close the discussion in 3 days. If you still need help, please feel free to reply with an update to this discussion.
Thanks,
Yixing
Jenwei
We are sorry for getting back to you so late. Are you still stuck with the issue? If you have somehow resolved the issue, can we close the discussion? If you still need help, please feel free to reply with an update to this discussion.
Thanks,
Yixing