IMX6SL Custom Board based on IMX6SL EVK  with Custum display  (320 X RGB X 480 dots).

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

IMX6SL Custom Board based on IMX6SL EVK  with Custum display  (320 X RGB X 480 dots).

2,832 Views
vinothrajm
Contributor III

Dear,

 

        I am trying to setup a custom display (320X480,RGB666) on a custom board based on IMX6SLEVK and I am facing some problems.

I am porting the Android-JB in my custom board.

 

Custom display Details:

Display =(320 X RGB X 480 dots), Driver IC = ILI9488, Backlight Type= LED, Interface = 80-series CPU 8/9/16/18 bit selectable,RGB 6/16/18 bit ,3/4 serial.

 

I added codes in board-mx6sl_evk.c file for custom lcd .

 

static struct fb_videomode wvga_video_modes[] = {

  {

  // 320x480 @ 60 Hz 

  "MY-LCD", 60, 320, 480, 29850, 89, 164, 23, 10, 10, 10,

  FB_SYNC_CLK_LAT_FALL,

  FB_VMODE_NONINTERLACED,

  0,},

  {

  // 800x480 @ 57 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,},

};

 

static struct mxc_fb_platform_data wvga1_fb_data[] = {

  {

  .interface_pix_fmt = V4L2_PIX_FMT_BGR666,

  .mode_str = "MY-LCD",

  .mode = wvga_video_modes,

  .num_modes = ARRAY_SIZE(wvga_video_modes),

  },

};

 

static struct platform_device lcd_wvga1_device = {

  .name = "lcd_mine",

};

 

mxc_register_device(&lcd_wvga1_device, NULL);   // Added in mx6_evk_init function

 

// I created the LCD driver is mxc_my_lcd.c based on the mxc_seiko_wvga.c . I just changed the resolutions  and lcd driver structure in mxc_my_lcd.c

 

static struct platform_driver lcd_driver = {

.driver = {

    .name = "lcd_mine"},

.probe = lcd_probe,

.remove = __devexit_p(lcd_remove),

.suspend = lcd_suspend,

.resume = lcd_resume,

};

//and then add  The LCD's driver is at path linux/drivers/video/mxc/mxc_my_lcd.c .and compiled it successfully

then i booted the board log comes like :

" mxc_elcdif_fb mxc_elcdif_fb: ELCDIF unsupported output pixel format 1213351746

warning: `zygote' uses 32-bit capabilities (legacy support in use)

request_suspend_state: wakeup (3->0) at 16063640921 (1970-01-02 00:02:19.478720753 UTC)

acc_open

acc_release

init: sys_prop: permission denied uid:1003  name:service.bootanim.exit

mxc_elcdif_fb mxc_elcdif_fb: can't wait for VSYNC when fb is blank

request_suspend_state: sleep (0->3) at 79646326887 (1970-01-02 00:03:23.061406677 UTC) "

 

I attached log of my custom board, mxc_my_lcd.c and U-boot environmrnt variables .Please Find it.

 

 

 

 

Thanks and Regards,

vinothraj m

Original Attachment has been moved to: log.txt.zip

Original Attachment has been moved to: mxcfb_my_lcd.c.txt.zip

Original Attachment has been moved to: Env_Variable.txt.zip

Labels (3)
Tags (2)
4 Replies

911 Views
sailfish009
Contributor III

Hi,

the rgb format is wrong

/kernel/include/linux/videodev2.h

#define V4L2_PIX_FMT_RGB666  v4l2_fourcc('R', 'G', 'B', '6') /* 18  RGB-6-6-6     */

#define V4L2_PIX_FMT_BGR666  v4l2_fourcc('B', 'G', 'R', '6') /* 18  BGR-6-6-6     */

and ili9488 is 8080 mpu lcd driver

How to support the i80 MPU interface LCD on iMX50 Linux platform -blog archive

911 Views
igorpadykov
NXP Employee
NXP Employee

Hi vinothraj

for 80-series interface lcd support please check i.MX28 LCDIF patch

(i.MX6SL eLCDIF is similar module)

Patch for i.MX28's 8080 mode Lcd panel driver

Best regards

igor

911 Views
vinothrajm
Contributor III

Hi igor,

Sorry for the late reply. Thanks for your quick response.

Your given Patch is 2.6. kernel.

How can i apply for the 3.1 kernel. kindly suggest any idea.

Best Regards,

vinothraj

0 Kudos

911 Views
igorpadykov
NXP Employee
NXP Employee

Hi vinothraj

I am not aware of other patches for 3.1 kernel,

probably you can port these to new kernel himself.

~igor

0 Kudos