Initialising omapfb on AM3517 issues

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello all,
I have been moving from the ti 2.6.37 BSP to the 3.x kernel with quite a bit of success, the main issue I have at the moment is trying to get the frame buffer and any displays I have initialised.

[    2.805358] omapfb omapfb: no driver for display: lcd
[    2.810729] omapfb omapfb: no displays
[    2.814666] omapfb omapfb: failed to setup omapfb

I have tried a few versions of release and none of them will initialise;

Currently on
[    0.000000] Linux version 3.6.0-rc3

I have started with board-am3517evm display config and even that doesn't initialise.  Is there something I am missing with the configs or is there a patch required to get the feature to work.

My current config options use;
#
# Graphics support
#
CONFIG_DRM=y
CONFIG_FB=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y

#
# Frame buffer hardware drivers
#
CONFIG_OMAP2_VRAM=y
CONFIG_OMAP2_VRFB=y
CONFIG_OMAP2_DSS=y
CONFIG_OMAP2_VRAM_SIZE=12
CONFIG_OMAP2_DSS_DPI=y
CONFIG_OMAP2_DSS_VENC=y
CONFIG_OMAP2_DSS_DSI=y
CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=1
CONFIG_OMAP2_DSS_SLEEP_AFTER_VENC_RESET=y
CONFIG_FB_OMAP2=y
CONFIG_FB_OMAP2_NUM_FBS=3

#
# OMAP2/3 Display Device Drivers
#
CONFIG_PANEL_GENERIC_DPI=y
CONFIG_PANEL_SHARP_LS037V7DW01=y
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=y
CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_BACKLIGHT_GENERIC=y

And the init structs are
static int am3517_evm_panel_enable_lcd(struct omap_dss_device *dssdev)
{
    gpio_set_value(TAM3517_DVI_PON_GPIO, 0);
    gpio_set_value(TAM3517_LCD_ENVDD_GPIO, 0);
    gpio_set_value(TAM3517_LCD_PON_GPIO, 1);
        printk("LCD voltage on\n");
	return 0;
}

static void am3517_evm_panel_disable_lcd(struct omap_dss_device *dssdev)
{
    gpio_set_value(TAM3517_LCD_ENVDD_GPIO, 1);
    gpio_set_value(TAM3517_LCD_PON_GPIO, 0);
}

static struct panel_generic_dpi_data lcd_panel = {
//    .name			= "generic_dpi_panel",
	.platform_enable	= am3517_evm_panel_enable_lcd,
	.platform_disable	= am3517_evm_panel_disable_lcd,
};

static struct omap_dss_device am3517_evm_lcd_device = {
    .type                   = OMAP_DISPLAY_TYPE_DPI,
    .name			= "lcd",
    .driver_name		= "generic_dpi_panel",
	.data			= &lcd_panel,
	.phy.dpi.data_lines 	= 16,
};

static int am3517_evm_panel_enable_tv(struct omap_dss_device *dssdev)
{
	return 0;
}

static void am3517_evm_panel_disable_tv(struct omap_dss_device *dssdev)
{
}

static struct omap_dss_device am3517_evm_tv_device = {
	.type 			= OMAP_DISPLAY_TYPE_VENC,
	.name 			= "tv",
	.driver_name		= "venc",
	.phy.venc.type		= OMAP_DSS_VENC_TYPE_SVIDEO,
	.platform_enable	= am3517_evm_panel_enable_tv,
	.platform_disable	= am3517_evm_panel_disable_tv,
};

static struct tfp410_platform_data dvi_panel = {
	.power_down_gpio	= -1,
};

static struct omap_dss_device am3517_evm_dvi_device = {
	.type			= OMAP_DISPLAY_TYPE_DPI,
	.name			= "dvi",
	.driver_name		= "tfp410",
	.data			= &dvi_panel,
	.phy.dpi.data_lines	= 24,
};     

static struct omap_dss_device *am3517_evm_dss_devices[] = {
	&am3517_evm_lcd_device,
//	&am3517_evm_tv_device,
//	&am3517_evm_dvi_device,
};

static struct omap_dss_board_info am3517_evm_dss_data = {
	.num_devices	= ARRAY_SIZE(am3517_evm_dss_devices),
	.devices	= am3517_evm_dss_devices,
  	.default_device	= &am3517_evm_lcd_device,
};

And the device initialised with 
    omap_display_init(&am3517_evm_dss_data);


Any help feedback appreciated.

Thanks
Marc
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux