HI anyone:
I'm using imx8mq connect a mipi to lvds chip to support lvds. And I have success in a 21inch lcd, which resolution is 1080p, but fail with another lcd with resolution of 1024x600.
I found that it should be the problem of mipi clock. And in the reference manual section " 15.3.2.7 DTG Timing Standards" , I can find that when the lcd's resolution is 1080p, the pix-clock should be set to 148.50Mhz,
but that's is no reference to 1024x600. I have set the clock to (1024 + hbank)*(600+vblan)*60, but it doesn't work.
Does anyone know how to set it ?
Here is some background.
Platform : imx-yocto-bsp-4.9 , kernel 4.9.51
display path: dcss to mipi
it works with the following setting lcd :
const struct display_timing sn65_21inch_timing = {
.pixelclock = { 80000000, 148500000, 158500000 },
.hactive = { 1920, 1920, 1920 },
.hfront_porch = { 48, 48, 48 },
.hsync_len = { 32, 32, 32 },
.hback_porch = { 48, 48, 48},
.vactive = { 1080, 1080, 1080 },
.vfront_porch = { 8, 8, 8 },
.vsync_len = { 4, 4, 4 },
.vback_porch = { 8, 8, 8 },
};
it doesn't work with the following setting lcd:
const struct display_timing sn65_7inch_amp_timing = {
.pixelclock = { 30000000, 51500000, 158500000 },
.hactive = { 1024, 1024, 1024 },
.hfront_porch = { 48, 48, 48 },
.hsync_len = { 32, 32, 32 },
.hback_porch = { 240, 240, 240 },
.vactive = { 600, 600, 600 },
.vfront_porch = { 3, 3, 3 },
.vsync_len = { 12, 12, 12 },
.vback_porch = {23,23, 23},
};
Best Regards
Hello jiang,
You should get all timing information including typical pix-clock from your LCD's datasheet. then add it to BSP. so the timing information couldn't obtained from iMX8MQ reference manual.
have a nice day!
Best regards,
TIC weidong sun
HI Jive:
Thanks, I have fixed it.
Some frequency doesn't support the iMX8(or by the dts not correct).
江亚强
软件工程师
Shenzhen Huameishi Technology Co., Ltd
深圳市华美视科技有限公司
深圳市南山区科苑路6号科技园工业大厦605
Tel:0755-26037882-616
Mail:yaqiang.jiang@huameishi.com