This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

lcd can't show on DM3730

Other Parts Discussed in Thread: DM3730

Hi,every one

My hardware is flashboard ,DM3730.  Source is TI_Android_GingerBread_2_3_4Sources.tar ( linux2.6.37 ).

I port a lcd drive from linux2.6.32 to linux2.6.37.  the lcd drive can display in linux2.6.32. but linux2.6.37 can't. 

Could you tell me how to config the menuconfig or port  device ?

************************************************************

board-omap3evm.c

static void __init omap3_evm_display_init(void)
{
printk("[yuzx]omap3_evm_display_init\n");
int r;

r = gpio_request(OMAP3EVM_LCD_PANEL_BKLIGHT_GPIO, \
"lcd_panel_bklight_gpio");
if (r) {
printk(KERN_ERR "failed to get lcd_panel_bklight_gpio\n");
return;
}
gpio_direction_output(OMAP3EVM_LCD_PANEL_BKLIGHT_GPIO, 0);

r = gpio_request(OMAP3EVM_LCD_PANEL_DISP_MODE, "lcd_panel_disp_mode");
if (r) {
printk(KERN_ERR "failed to get lcd_panel_disp_mode\n");
goto err_1;
}
gpio_direction_output(OMAP3EVM_LCD_PANEL_DISP_MODE, 0);

r = gpio_request(OMAP3EVM_LCD_PANEL_PWR_CTRL, "lcd_panel_pwr_ctrl");
if (r) {
printk(KERN_ERR "failed to get lcd_panel_pwr_ctrl\n");
goto err_2;
}
gpio_direction_output(OMAP3EVM_LCD_PANEL_PWR_CTRL, 1);

return;

err_2:
gpio_free(OMAP3EVM_LCD_PANEL_DISP_MODE);
err_1:
gpio_free(OMAP3EVM_LCD_PANEL_BKLIGHT_GPIO);
}

static int omap3_evm_enable_lcd(struct omap_dss_device *dssdev)
{
printk("[yuzx]omap3_evm_enable_lcd\n");
if (dvi_enabled) {
printk(KERN_ERR "cannot enable LCD, DVI is enabled\n");
return -EINVAL;
}
gpio_set_value(OMAP3EVM_LCD_PANEL_PWR_CTRL, 0);

if (get_omap3_evm_rev() >= OMAP3EVM_BOARD_GEN_2) {
gpio_set_value(OMAP3EVM_LCD_PANEL_BKLIGHT_GPIO, 1);
gpio_set_value(OMAP3EVM_LCD_PANEL_DISP_MODE, 1);
} else {
gpio_set_value(OMAP3EVM_LCD_PANEL_BKLIGHT_GPIO, 0);
gpio_set_value(OMAP3EVM_LCD_PANEL_DISP_MODE, 0);
}

//omap_pm_set_min_bus_tput(&dssdev->dev, OCP_INITIATOR_AGENT, 400000);

lcd_enabled = 1;
return 0;
}

static void omap3_evm_disable_lcd(struct omap_dss_device *dssdev)
{
printk("[yuzx]omap3_evm_disable_lcd\n");
//omap_pm_set_min_bus_tput(&dssdev->dev, OCP_INITIATOR_AGENT, 0);
gpio_set_value(OMAP3EVM_LCD_PANEL_PWR_CTRL, 1);

if (get_omap3_evm_rev() >= OMAP3EVM_BOARD_GEN_2)
{
gpio_set_value(OMAP3EVM_LCD_PANEL_BKLIGHT_GPIO, 0);
gpio_set_value(OMAP3EVM_LCD_PANEL_DISP_MODE, 0);
}
else
{
gpio_set_value(OMAP3EVM_LCD_PANEL_BKLIGHT_GPIO, 1);
gpio_set_value(OMAP3EVM_LCD_PANEL_DISP_MODE, 1);
}

lcd_enabled = 0;

-----

static struct omap_dss_device omap3_evm_lcd_device = {
.name = "lcd",
#ifdef CONFIG_MACH_FLASHBOARD
.driver_name = "amdm_ls_panel",
#else
.driver_name = "sharp_ls_panel",
#endif
.type = OMAP_DISPLAY_TYPE_DPI,
#ifdef CONFIG_MACH_FLASHBOARD
.phy.dpi.data_lines = 24,
#else
.phy.dpi.data_lines = 18,
#endif
.max_backlight_level = 100,
.platform_enable = omap3_evm_enable_lcd,
.platform_disable = omap3_evm_disable_lcd,
#ifndef CONFIG_MACH_FLASHBOARD
.set_backlight = omap3evm_set_bl_intensity,
#endif
};

--------

static struct omap_dss_device *omap3_evm_dss_devices[] = {
&omap3_evm_lcd_device,
&omap3_evm_tv_device,
&omap3_evm_dvi_device,
};

static struct omap_dss_board_info omap3_evm_dss_data = {
.num_devices = ARRAY_SIZE(omap3_evm_dss_devices),
.devices = omap3_evm_dss_devices,
.default_device = &omap3_evm_lcd_device,
};

******************************************

panel-amdm-clap08.c

static struct omap_video_timings amdm_ls_timings = {
.x_res = 800,//480
.y_res = 600, //640

.pixel_clock = 33000 ,//27000,//51200,//19200,

.hsw = 30,//2,
.hfp = 210,//1,
.hbp = 16,//28,

.vsw = 13,//1,
.vfp = 22,//1,
.vbp = 10,//1,
};

  • my lcd drive can display normal.

    now, I have a other problem.

    the android  print out the folow message straight.

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

    [ 27.183227] alarm_release: clear alarm, pending 0
    [ 27.188201] alarm_release: clear alarm, pending 0
    [ 27.193084] alarm_release: clear alarm, pending 0
    [ 27.211181] request_suspend_state: wakeup (3->0) at 28425652237 (2000-01-01 00:00:25.166985244 UTC)
    [ 27.267181] init: untracked pid 1031 exited
    [ 27.278015] init: untracked pid 1187 exited
    [ 27.282409] init: untracked pid 1211 exited
    [ 27.293579] init: untracked pid 1222 exited
    [ 27.298004] init: untracked pid 1232 exited
    [ 27.306396] OMAPLFBManualSync Not Supported
    [ 27.326507] init: untracked pid 1283 exited
    [ 27.330932] init: untracked pid 1329 exited
    [ 27.340423] init: untracked pid 1347 exited
    [ 27.344818] init: untracked pid 1358 exited
    [ 27.363800] init: untracked pid 1419 exited
    [ 27.368194] init: untracked pid 1429 exited
    [ 27.379455] init: untracked pid 1450 exited
    [ 27.383850] init: untracked pid 1465 exited
    [ 27.395111] init: untracked pid 1478 exited
    [ 27.399475] init: untracked pid 1486 exited
    [ 27.410797] init: untracked pid 1495 exited

  • hi, i also meet this problem.

    the android seems worked, but the lcd always stay at the "android" icon and can't not go to UI system.

    from the serial console i can see the running process when i us "ps" cmd.

    how do u solve this problem.

    Thanks. 

  • Hi

    I faced this same issue,

    After android icon you have to wait for at least five minutes to get UI,

    may be due to first time, rootfs takes time to get ready every thing..

    BR

    vineet