//extern void s3cfb_set_display_path(void);
void __init mipi_fb_init(void)
{
	struct s5p_platform_dsim *dsim_pd = NULL;
	struct mipi_ddi_platform_data *mipi_ddi_pd = NULL;

	/* gpio pad configuration */
	lcd_cfg_gpio();

	s3cfb_set_display_path();
	/* set platform data */
	dsim_pd = s5p_device_dsim.dev.platform_data;

	dsim_pd->platform_rev = 1;
	dsim_pd->mipi_power = s5p_dsim_mipi_power_control;
	dsim_pd->dsim_lcd_info = &watch_lcd_info;


	dsim_pd->dsim_info->e_no_data_lane = DSIM_NO_DATA_LANE;
	dsim_pd->dsim_info->p = DPHY_PLL_P;
	dsim_pd->dsim_info->m = DPHY_PLL_M;
	dsim_pd->dsim_info->s = DPHY_PLL_S;

	mipi_ddi_pd = &watch_mipi_ddi_pd;
	mipi_ddi_pd->lcd_power_on = lcd_power_on;

#if defined(CONFIG_FB_S5P_I80_LCD)
	lcd_panel_pdata_s6e63j003.te_irq = gpio_to_irq(GPIO_LCD_VSYNC);
#endif

	platform_device_register(&s5p_device_dsim);

	s3cfb_set_platdata(&watch_fb_data);	

}
void __init mipi_fb_init(void)
{
	struct s5p_platform_dsim *dsim_pd = NULL;
	struct mipi_ddi_platform_data *mipi_ddi_pd = NULL;
	struct dsim_lcd_config *dsim_lcd_info = NULL;

	/* set platform data */

	/* gpio pad configuration for rgb and spi interface. */
	lcd_cfg_gpio();

	/*
	* register lcd panel data.
	*/
	printk(KERN_INFO "%s :: fb_platform_data.hw_ver = 0x%x\n",
		__func__, fb_platform_data.hw_ver);

	dsim_pd = (struct s5p_platform_dsim *)
		s5p_device_dsim.dev.platform_data;

	dsim_pd->platform_rev = 1;
	dsim_pd->mipi_power = s5p_dsim_mipi_power_control;

	dsim_lcd_info = dsim_pd->dsim_lcd_info;

#if defined(CONFIG_FB_S5P_S6E8AA0)
	dsim_lcd_info->lcd_panel_info = (void *)&s6e8aa0;
#endif
#if defined(CONFIG_FB_S5P_S6D6AA1)
	dsim_lcd_info->lcd_panel_info = (void *)&s6d6aa1;
#endif

#ifdef CONFIG_FB_S5P_S6E63M0
	dsim_lcd_info->lcd_panel_info = (void *)&s6e63m0;
	dsim_pd->dsim_info->e_no_data_lane = DSIM_DATA_LANE_2;
	/* 320Mbps */
	dsim_pd->dsim_info->p = 3;
	dsim_pd->dsim_info->m = 80;
	dsim_pd->dsim_info->s = 1;
#else
	/* 500Mbps */
	dsim_pd->dsim_info->p = 3;
	dsim_pd->dsim_info->m = 125;
	dsim_pd->dsim_info->s = 1;
#endif

	mipi_ddi_pd = (struct mipi_ddi_platform_data *)
	dsim_lcd_info->mipi_ddi_pd;
	mipi_ddi_pd->lcd_reset = reset_lcd;
	mipi_ddi_pd->lcd_power_on = lcd_power_on;
#if defined(CONFIG_S5P_DSIM_SWITCHABLE_DUAL_LCD)
	mipi_ddi_pd->lcd_sel_pin = GPIO_LCD_SEL;
#endif	/* CONFIG_S5P_DSIM_SWITCHABLE_DUAL_LCD */
	platform_device_register(&s5p_device_dsim);

	/*s3cfb_set_platdata(&fb_platform_data);*/
}
void __init ld9040_fb_init(void)
{
	struct ld9040_panel_data *pdata;

	strcpy(spi_board_info[0].modalias, "ld9040");
	spi_board_info[0].platform_data = (void *)&ld9040_platform_data;

	pdata = ld9040_platform_data.pdata;
	pdata->ops = &ops;

	spi_register_board_info(spi_board_info, ARRAY_SIZE(spi_board_info));

	if (!ld9040_platform_data.lcd_enabled)
		lcd_cfg_gpio();
	/*s3cfb_set_platdata(&fb_platform_data);*/
}
Exemple #4
0
void __init mipi_fb_init(void)
{
	struct s5p_platform_dsim *dsim_pd = NULL;
	struct mipi_ddi_platform_data *mipi_ddi_pd = NULL;
	struct dsim_lcd_config *dsim_lcd_info = NULL;

	/* gpio pad configuration */
	lcd_cfg_gpio();

	/* set platform data */
	dsim_pd = s5p_device_dsim.dev.platform_data;

	dsim_pd->platform_rev = 1;
	dsim_pd->mipi_power = s5p_dsim_mipi_power_control;

	dsim_lcd_info = dsim_pd->dsim_lcd_info;

	dsim_lcd_info->lcd_panel_info = (void *)&lcd_panel_pdata;

#if defined(CONFIG_MACH_T0) || defined(CONFIG_MACH_IPCAM)
	if (!gpio_get_value(GPIO_OLED_ID))	/* for EA8061 DDI */
		memcpy(&lcd_panel_pdata, &ea8061, sizeof(struct s3cfb_lcd));
#endif

	dsim_pd->dsim_info->e_no_data_lane = DSIM_NO_DATA_LANE;
	dsim_pd->dsim_info->p = DPHY_PLL_P;
	dsim_pd->dsim_info->m = DPHY_PLL_M;
	dsim_pd->dsim_info->s = DPHY_PLL_S;

	mipi_ddi_pd = dsim_lcd_info->mipi_ddi_pd;
	mipi_ddi_pd->lcd_reset = reset_lcd;
	mipi_ddi_pd->lcd_power_on = lcd_power_on;

	platform_device_register(&s5p_device_dsim);

	s3cfb_set_platdata(&mipi_fb_data);

#ifdef CONFIG_BACKLIGHT_LP855X
	lcd_bl_init();
#endif
}
void __init mipi_fb_init(void)
{
	struct s5p_platform_dsim *dsim_pd = NULL;
	struct mipi_ddi_platform_data *mipi_ddi_pd = NULL;
	struct dsim_lcd_config *dsim_lcd_info = NULL;

	/* set platform data */

	/* gpio pad configuration for rgb and spi interface. */
	lcd_cfg_gpio();

	/*
	* register lcd panel data.
	*/
	printk(KERN_INFO "%s :: fb_platform_data.hw_ver = 0x%x\n",
		__func__, fb_platform_data.hw_ver);

	dsim_pd = (struct s5p_platform_dsim *)
		s5p_device_dsim.dev.platform_data;

	dsim_pd->platform_rev = 1;
	dsim_pd->mipi_power = s5p_dsim_mipi_power_control;

	dsim_lcd_info = dsim_pd->dsim_lcd_info;

#if defined(CONFIG_FB_S5P_S6E8AA0)
	dsim_lcd_info->lcd_panel_info = (void *)&s6e8aa0;
#endif

#if defined(CONFIG_FB_S5P_EA8061)
	dsim_lcd_info->lcd_panel_info = (void *)&ea8061;
#endif

#if defined(CONFIG_FB_S5P_S6EVR02)
	dsim_lcd_info->lcd_panel_info = (void *)&s6evr02;
#endif

#if defined(CONFIG_FB_S5P_S6D6AA1)
	dsim_lcd_info->lcd_panel_info = (void *)&s6d6aa1;
#endif

#if defined(CONFIG_MACH_T0) && defined(CONFIG_FB_S5P_S6EVR02) && defined(GPIO_OLED_ID)
	if (!gpio_get_value(GPIO_OLED_ID)) {	/* for EA8061 DDI */
		dsim_lcd_info->lcd_panel_info = (void *)&ea8061;
		fb_platform_data.lcd = (void *)&ea8061;
	}
#endif

#ifdef CONFIG_FB_S5P_S6E63M0
	dsim_lcd_info->lcd_panel_info = (void *)&s6e63m0;
	dsim_pd->dsim_info->e_no_data_lane = DSIM_DATA_LANE_2;
	/* 320Mbps */
	dsim_pd->dsim_info->p = 3;
	dsim_pd->dsim_info->m = 80;
	dsim_pd->dsim_info->s = 1;
#elif defined(CONFIG_FB_S5P_LMS501XX)
	dsim_lcd_info->lcd_panel_info = (void *)&lms501xx;
	dsim_pd->dsim_info->e_no_data_lane = DSIM_DATA_LANE_2;
	/* 440Mbps */
	dsim_pd->dsim_info->p = 3;
	dsim_pd->dsim_info->m = 110;
	dsim_pd->dsim_info->s = 1;
#else
	/* 500Mbps */
	dsim_pd->dsim_info->p = 3;
	dsim_pd->dsim_info->m = 125;
	dsim_pd->dsim_info->s = 1;
#endif

	mipi_ddi_pd = (struct mipi_ddi_platform_data *)
	dsim_lcd_info->mipi_ddi_pd;
	mipi_ddi_pd->lcd_reset = reset_lcd;
	mipi_ddi_pd->lcd_power_on = lcd_power_on;

	platform_device_register(&s5p_device_dsim);

	/*s3cfb_set_platdata(&fb_platform_data);*/
}