HI,
all,how to debug the LVDS on imx6 sabresd platform.
I am ready to lighting the LVDS on imx6 sabresd platform
I modified the main UBOOT args such as:
set displayArgs video=mxcfb0:dev=ldb,LDB-T35,if=RGB24,bpp=32 ldb=dul1 video=mxcfb1:off video=mxcfb2:off fbmem=48M
At the same time,i modified the drivers/video/mxc/ldb.c file as follows:
"LDB-T35", 60, 1280, 720, 15699,
16, 44,
5,67,
2,2,
0,
FB_VMODE_NONINTERLACED,
FB_MODE_IS_DETAILED
I also modife arch/arm/mach-mx6/board-mx6q_sabresd.c as follows:
static struct ipuv3_fb_platform_data sabresd_fb_data[]={
{
.disp_dev="ldb",
.interface_pix_fmt=IPU_PIX_FMT_RGB24,
.mode_str="LDB-T35",
.default_bpp=32,
.int_clk=false,
.late_init=false,
},
}
But my lvds was still not lighted,my backlight is using voltage 22V
I would like to know how to debug the lvds ?
Anyone can help me?
Hi yuan,
You can also refer to the document in our community. The link is Porting LVDS LCD With Low Resolution to i.MX6 .
Have a great day,
Dan
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Dear wang:
Now,i am using the LVDS0 port.So i would like to ask here:
static struct fsl_mxc_ldb_platform_data ldb_data = {
.ipu_id = 0,
.disp_id = 1,
.ext_ref = 1,
.mode = LDB_SEP1, /*Using LVDS1 Port*/
.sec_ipu_id = 0,
.sec_disp_id = 0,
};
I need to modify this .mode=LDP_SEP1 /*USING LVDS1 PORT/ ?
Hello yuan,
Can you tell me which version BSP are you using?
Have a nice day
Dan
Hello,Dan
I am using the L3.0.35 BSP.kernel is 3.0.35
Hi yuan,
Yes, you need to modify it. In the BSP the LVDS is default used the LVDS1, but you are using the LVDS0. Both the LVDS are supported in the BSP. Here you can refer to the i.MX_6Dual6Quad_SABRE-SD_Linux_Release_Notes. In the section 5 Kernel Boot Parameters, you can see the introduction of ldb=<x>.
Besides,
IPU1:DI0 --> LVDS0
IPU1:DI1 --> LVDS1
Any questions you can contact me.
Have a great day,
Dan
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
OK,
Dan,Thanks for your help!
Hi yuan,
It's my pleasure.
Have a great day,
Dan
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hello yuan,
You can refer to the follow steps, hope it can help you.
Let me assume you use one of the following ports:
(1)DISP0
----adding your LCD timing to "linux_top/drivers/video/mxc/mxc_lcdif.c" (static struct fb_videomode lcdif_modedb[] =)
If I add a LCD with 1440x900, I should add the timing :
static struct fb_videomode lcdif_modedb[] = {
{
/* 800x480 @ 57 Hz , pixel clk @ 27MHz */
"CLAA-WVGA", 57, 800, 480, 37037, 40, 60, 10, 10, 20, 10,
FB_SYNC_CLK_LAT_FALL,
FB_VMODE_NONINTERLACED,
0,},
{
/* 800x480 @ 60 Hz , pixel clk @ 32MHz */
"SEIKO-WVGA", 60, 800, 480, 29850, 89, 164, 23, 10, 10, 10,
FB_SYNC_CLK_LAT_FALL,
FB_VMODE_NONINTERLACED,
0,},
{/* According to the datasheet of your LCD, collect it's timing and fill it here */
/* VGA 1440x900 106.5M pixel clk output */
"1440x900", 60, 1440, 900, 9389,
232, 80,
25, 3,
152, 6,
0,
FB_VMODE_NONINTERLACED,
FB_MODE_IS_DETAILED,},
}
(2)Using LVDS port
Open "linux_top/drivers/video/mxc/ldb.c", and replace original one with yours :
static struct fb_videomode ldb_modedb[] = {
{/* No.1 member is added by me and validated. */
"LDB-WXGA", 60, 1280, 800, 13812,
60, 60,
20, 15,
40, 3,
0,
FB_VMODE_NONINTERLACED,
FB_MODE_IS_DETAILED,},
{
"LDB-XGA", 60, 1024, 768, 15385,
220, 40,
21, 7,
60, 10,
0,
FB_VMODE_NONINTERLACED,
FB_MODE_IS_DETAILED,},
{
"LDB-1080P60", 60, 1920, 1080, 7692,
100, 40,
30, 3,
10, 2,
0,
FB_VMODE_NONINTERLACED,
FB_MODE_IS_DETAILED,},
};
(3) Adjust BSP File
static struct ipuv3_fb_platform_data qcorein_fb_data[] = {
{/*fb0*/
.disp_dev = "ldb",
.interface_pix_fmt = IPU_PIX_FMT_RGB666,
.mode_str = "LDB-WXGA",
.default_bpp = 16,
.int_clk = false,
.late_init = false,
},
{
.disp_dev = "hdmi",
.interface_pix_fmt = IPU_PIX_FMT_RGB24,
.mode_str = "1920x1080M@60",
.default_bpp = 32,
.int_clk = false,
.late_init = false,
},
{
.disp_dev = "lcd",
.interface_pix_fmt = IPU_PIX_FMT_RGB24,
.mode_str = "1440x900",
.default_bpp = 32,
.int_clk = false,
},
};
(4)Distrabuting IPU display source
static struct fsl_mxc_hdmi_core_platform_data hdmi_core_data = {
.ipu_id = 1,
.disp_id = 0,
};
static struct fsl_mxc_lcd_platform_data lcdif_data = {
.ipu_id = 0,
.disp_id = 0,
.default_ifmt = IPU_PIX_FMT_RGB24,
};
static struct fsl_mxc_ldb_platform_data ldb_data = {
.ipu_id = 0,
.disp_id = 1,
.ext_ref = 1,
.mode = LDB_SEP1, /*Using LVDS1 Port*/
.sec_ipu_id = 0,
.sec_disp_id = 0,
};
(5)Setting u-boot environment (starting from NFS)
Have a great day,
Dan
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------