[LTIB 4.0/Yocto BSP 1.5] i.MX6 Display issue on LVDS panel

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

[LTIB 4.0/Yocto BSP 1.5] i.MX6 Display issue on LVDS panel

1,338 次查看
charleshuang
Senior Contributor II

We are using a LVDS to TTL converter between LVDS display port and the TTL panel. (640x480 “24-bit RGB”)

The pixel clock is 85MHZ. (fb_videomode.pixclock = 11764)

I think the clock setting should be no problem. Please refer to the datasheet in the attachment.

I also verified the quality of GUI between Yocto 1.5 and Yocto 1.7.

The Yocto 1.5 also has the same issue as LTIB, but there is no such quality issue on Yoco1.7.

 

Please tell me how to solve this issue on LTB 4.0 and Yocto BSP 1.5 (3.10.17)

 

1) Yocto 1.7 (kernel 3.14.28):

  a) U-boot command to enable LVDS output:

setenv mmcargs setenv bootargs console=${console},${baudrate} ${smp} root=${mmcroot} ${bootargs} video=mxcfb0:dev=ldb,640x480M@60,if=RGB24

  b) kernel (Modify dts file):

(No need to modify the code, only the device tree changed)

&ldb {

  ext_ref = "true";

  status = "okay";

 

  lvds-channel@0 {

  fsl,data-mapping = "jeida";

  fsl,data-width = <24>;

  crtc = "ipu2-di0";

  primary;

  status = "okay";

 

       display-timings {

            native-mode = <&timing0>;

                 timing0: g070vw01v0 {

                 clock-frequency = <85000000>;

                 hactive = <640>;

                 vactive = <480>;

                 hback-porch = <142>;

                 hfront-porch = <16>;

                 vback-porch = <33>;

                 vfront-porch = <10>;

                 hsync-len = <2>;

                 vsync-len = <2>;

                 };

        };

  };

...

};

 

2) Yocto 1.5 (kernel 3.10.17):

  a) U-boot command to enable LVDS output:

setenv mmcargs setenv bootargs console=${console},${baudrate} ${smp} root=${mmcroot} ${bootargs} video=mxcfb0:dev=ldb,LDB-KOE,if=RGB24

  b) kernel: Modify ldb.c file

(It’s required to modified ldb.c in order to enable “jedia” option)

       b_1) Add parameters of a new lvds panel in fb_videomode ldb_modedb[]

static struct fb_videomode ldb_modedb[] = {

...

  {

  "LDB-KOE", 60, 640, 480, 11765,

  142, 16,

  33, 10,

  2, 2,

  0,

  FB_VMODE_NONINTERLACED,

  FB_MODE_IS_DETAILED,},

...

}

     b_2) Change LDB_BIT_MAP from SPWG to JEIDA in ldb_disp_init()

...

...

/* TODO: now only use SPWG data mapping for both channel */

  reg &= ~(LDB_BIT_MAP_CH0_MASK | LDB_BIT_MAP_CH1_MASK);

  /* weilun@adv */

+#if 0

+ reg |= LDB_BIT_MAP_CH0_SPWG | LDB_BIT_MAP_CH1_SPWG;

+#else

+ printk("it to JEIDA\n");

+ reg |= LDB_BIT_MAP_CH0_JEIDA | LDB_BIT_MAP_CH1_JEIDA;

+#endif

 

Thank you.

Original Attachment has been moved to: lvds_info.zip

0 项奖励
回复
2 回复数

636 次查看
igorpadykov
NXP Employee
NXP Employee

Hi charles

please try patch provided on

https://community.freescale.com/thread/320314#comments

Best regards

igor

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

0 项奖励
回复

636 次查看
charleshuang
Senior Contributor II

I try your method, but it cannot solve this issue.

Do you have any solution?

Thanks.

0 项奖励
回复