i.MX53 and NHD 4.3 24bit problem

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

i.MX53 and NHD 4.3 24bit problem

ソリューションへジャンプ
1,727件の閲覧回数
ToxicAvenger
Contributor III

Hi,

Im trying to connect NHD-4.3-480272EF-ATXL-T panel to i.MX53 QSB.

Im using Android r10.2 from Adeneo.

I added it to imx53_loco.c board file, as below:

static struct fb_videomode video_modes[] = {

{

/* 272x480 @ 60 Hz , pixel clk @ 9MHz */

"NHD-4.3-480272EF",

/*Vsync cycle:*/ 60,

/*Horizontal display period:*/ 480,

/*Vertical display period:*/ 272,

/*Clock [1/Hz]:*/ 111111,

/*Horizontal back porch:*/ 2,

/*Horizontal front porch:*/ 2,

/*Vertical back porch:*/ 2,

/*Vertical front porch:*/ 2,

/*Horizontal pulse width:*/ 41,

/*Vertical pulse width:*/ 10,

0,

FB_VMODE_NONINTERLACED,

0,},

and changed :

static struct mxc_fb_platform_data fb_data[] = {

{

.interface_pix_fmt = IPU_PIX_FMT_RGB24,

.mode_str = "NHD-4.3-480272EF",

.mode = video_modes,

.num_modes = ARRAY_SIZE(video_modes),

},

{

.interface_pix_fmt = IPU_PIX_FMT_GBR24,

.mode_str = "SXGA",

.mode = video_modes,

.num_modes = ARRAY_SIZE(video_modes),

},

};

I added mxc_ts touch screen module to kernel and changed BoardConfig.mk to use it during calibration.

All is working, touchscreen calibration is good, display is good, except bits per pixel. It have only 16 bits per pixel, but hardware supports 24.

I changed default_bpp in UBOOT /drivers/video/mxc_ipuv3_fb.c, i also tried to change bootargs_android during boot to:

setenv bootargs_android 'setenv bootargs ${bootargs} init=/init androidboot.console=ttymxc0 gpu_nommu,gpu_memory=64M video=mxcdi0fb:RGB24,480x272M@60,bpp=32.

But it didnt worked.

How to enable 24 bit support for this kind of screen?

ラベル(4)
0 件の賞賛
返信
1 解決策
1,232件の閲覧回数
ToxicAvenger
Contributor III

Hi,

Setting FB_SYNC_CLK_LAT_FALL solves the problem.

Correct, and working configuration for this screen is:

/* 272x480 @ 60 Hz , pixel clk @ 9MHz */

"NHD",

/*Vsync cycle:*/ 60,

/*Horizontal display period:*/ 480,

/*Vertical display period:*/ 272,

/*Clock [1/Hz]:*/ 111111,

/*Horizontal back porch:*/ 2,

/*Horizontal front porch:*/ 2,

/*Vertical back porch:*/ 2,

/*Vertical front porch:*/ 2,

/*Horizontal pulse width:*/ 41,

/*Vertical pulse width:*/ 10,

FB_SYNC_CLK_LAT_FALL ,

FB_VMODE_NONINTERLACED,

0,},

Thank you for help.

Best regards,

Toxic

元の投稿で解決策を見る

0 件の賞賛
返信
6 返答(返信)
1,232件の閲覧回数
weidong_sun
NXP TechSupport
NXP TechSupport

Hello, Taxic,

    Try like the following,

(1)add new video mode

static struct fb_videomode video_modes[] = {

{

  /* 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,},

{

/* 1600x1200 @ 60 Hz 162M pixel clk*/

"UXGA", 60, 1600, 1200, 6172,

304, 64,

1, 46,

192, 3,

FB_SYNC_HOR_HIGH_ACT|FB_SYNC_VERT_HIGH_ACT,

FB_VMODE_NONINTERLACED,

0,},

{

/* 272x480 @ 60 Hz , pixel clk @ 9MHz */

"NHD",

/*Vsync cycle:*/ 60,

/*Horizontal display period:*/ 480,

/*Vertical display period:*/ 272,

/*Clock [1/Hz]:*/ 111111,   /*Is it right ? it's unit should be picosencond , check it ,please !*/

/*Horizontal back porch:*/ 2,

/*Horizontal front porch:*/ 2,

/*Vertical back porch:*/ 2,

/*Vertical front porch:*/ 2,

/*Horizontal pulse width:*/ 41,

/*Vertical pulse width:*/ 10,

0,

FB_VMODE_NONINTERLACED,

0,},

};

(2) Connecting New LCD to DI0

static struct mxc_fb_platform_data fb_data[] = {

{

.interface_pix_fmt = IPU_PIX_FMT_RGB24,

  .mode_str = "NHD",

  .mode = video_modes,

  .num_modes = ARRAY_SIZE(video_modes),

  },

{

  .interface_pix_fmt = IPU_PIX_FMT_GBR24,

  .mode_str = "VGA-WXGA+",

  .mode = video_modes,

  .num_modes = ARRAY_SIZE(video_modes),

  },

};

(3)Setting parameters in u-boot environment.

u-boot> setevn bootargs console=ttymxc0 init=/init androidboot.console=ttymxc0 video=mxcdi0fb:RGB24,NHD,bpp=24 di0_primary gpu_memory=64M fbmem=10M pmem=32M,64M

u-boot>run bootcmd

Try to test above code,please !

Regards,

Weidong

1,232件の閲覧回数
ToxicAvenger
Contributor III

Hello, thanks for quick replay.

I've tried your solution, but it didn't worked. Screen is always 16bit

Your solution is quite similar to mine. You changed name of the lcd screen form "NHD-4.3-480272EF" to "NHD" and use this variable in uboot. I tried that, but without success.

When i "cat /sys/class/graphics/fb0/bits_per_pixel" im always receiving 16, and on screen i see that pallete is not ok.

From what i know, clock value should be ok. I have used this formula for calculating clock:

1[s] = 1 / 1[Hz] => 1 [picosecond] = 10e6 * 1 / [Mhz].

NHD has 9Mhz frequency, Clock[picosecond] is 10e6 * 1 / 9 = 111111 

Similar for CLAA-WVGA, 27Mhz frequency, Clock[picosecond] is 10e6 * 1 / 27 = 37037,

This formula should be ok. 

Regards,

Toxic

0 件の賞賛
返信
1,232件の閲覧回数
weidong_sun
NXP TechSupport
NXP TechSupport

Hello,Toxic ,

    Would you like to share your schematic and LCD datasheet ? If ok , Send it to me : Weidong.sun@freescale.com ,Let me see it .

Regards,

Weidong

0 件の賞賛
返信
1,232件の閲覧回数
ToxicAvenger
Contributor III

Hi,

I have sent email with LCD datasheet and screens from device. Did you received it?

Regards,

Toxic

0 件の賞賛
返信
1,232件の閲覧回数
weidong_sun
NXP TechSupport
NXP TechSupport

Hello,Toxic,

    I have checked timing of LCD, your settings are correct. But I didn't find the reason why color space is 16bit , not 24bit.

Regards,

Weidong

0 件の賞賛
返信
1,233件の閲覧回数
ToxicAvenger
Contributor III

Hi,

Setting FB_SYNC_CLK_LAT_FALL solves the problem.

Correct, and working configuration for this screen is:

/* 272x480 @ 60 Hz , pixel clk @ 9MHz */

"NHD",

/*Vsync cycle:*/ 60,

/*Horizontal display period:*/ 480,

/*Vertical display period:*/ 272,

/*Clock [1/Hz]:*/ 111111,

/*Horizontal back porch:*/ 2,

/*Horizontal front porch:*/ 2,

/*Vertical back porch:*/ 2,

/*Vertical front porch:*/ 2,

/*Horizontal pulse width:*/ 41,

/*Vertical pulse width:*/ 10,

FB_SYNC_CLK_LAT_FALL ,

FB_VMODE_NONINTERLACED,

0,},

Thank you for help.

Best regards,

Toxic

0 件の賞賛
返信