Exemple #1
0
static void rk3288_fb_init(struct fb_rk3288_pdata_t * pdat)
{
	gpio_set_cfg(RK3288_GPIO1_D0, 0x1);
	gpio_set_cfg(RK3288_GPIO1_D1, 0x1);
	gpio_set_cfg(RK3288_GPIO1_D2, 0x1);
	gpio_set_cfg(RK3288_GPIO1_D3, 0x1);

	gpio_set_rate(RK3288_GPIO1_D0, GPIO_RATE_FAST);
	gpio_set_rate(RK3288_GPIO1_D1, GPIO_RATE_FAST);
	gpio_set_rate(RK3288_GPIO1_D2, GPIO_RATE_FAST);
	gpio_set_rate(RK3288_GPIO1_D3, GPIO_RATE_FAST);

	gpio_set_drv(RK3288_GPIO1_D0, GPIO_DRV_STRONG);
	gpio_set_drv(RK3288_GPIO1_D1, GPIO_DRV_STRONG);
	gpio_set_drv(RK3288_GPIO1_D2, GPIO_DRV_STRONG);
	gpio_set_drv(RK3288_GPIO1_D3, GPIO_DRV_STRONG);

	rk3288_vop_set_interface(pdat);
	rk3288_vop_set_mode(pdat);
	rk3288_vop_set_timing(pdat);
	rk3288_vop_set_polarity(pdat);
	rk3288_vop_update_config(pdat);

	rk3288_vop_set_win0(pdat);
	rk3288_vop_set_win0_address(pdat, pdat->vram[0]);
	rk3288_vop_update_config(pdat);

	rk3288_lvds_enable(pdat, 0);
}
Exemple #2
0
void exynos_cfg_lcd_gpio(void)
{
	unsigned int i, f3_end = 4;

	for (i = 0; i < 8; i++) {
		/* set GPF0,1,2[0:7] for RGB Interface and Data lines (32bit) */
		gpio_cfg_pin(EXYNOS4_GPIO_F00 + i, S5P_GPIO_FUNC(2));
		gpio_cfg_pin(EXYNOS4_GPIO_F10 + i, S5P_GPIO_FUNC(2));
		gpio_cfg_pin(EXYNOS4_GPIO_F20 + i, S5P_GPIO_FUNC(2));
		/* pull-up/down disable */
		gpio_set_pull(EXYNOS4_GPIO_F00 + i, S5P_GPIO_PULL_NONE);
		gpio_set_pull(EXYNOS4_GPIO_F10 + i, S5P_GPIO_PULL_NONE);
		gpio_set_pull(EXYNOS4_GPIO_F20 + i, S5P_GPIO_PULL_NONE);

		/* drive strength to max (24bit) */
		gpio_set_drv(EXYNOS4_GPIO_F00 + i, S5P_GPIO_DRV_4X);
		gpio_set_rate(EXYNOS4_GPIO_F00 + i, S5P_GPIO_DRV_SLOW);
		gpio_set_drv(EXYNOS4_GPIO_F10 + i, S5P_GPIO_DRV_4X);
		gpio_set_rate(EXYNOS4_GPIO_F10 + i, S5P_GPIO_DRV_SLOW);
		gpio_set_drv(EXYNOS4_GPIO_F20 + i, S5P_GPIO_DRV_4X);
		gpio_set_rate(EXYNOS4_GPIO_F00 + i, S5P_GPIO_DRV_SLOW);
	}

	for (i = EXYNOS4_GPIO_F30; i < (EXYNOS4_GPIO_F30 + f3_end); i++) {
		/* set GPF3[0:3] for RGB Interface and Data lines (32bit) */
		gpio_cfg_pin(i, S5P_GPIO_FUNC(2));
		/* pull-up/down disable */
		gpio_set_pull(i, S5P_GPIO_PULL_NONE);
		/* drive strength to max (24bit) */
		gpio_set_drv(i, S5P_GPIO_DRV_4X);
		gpio_set_rate(i, S5P_GPIO_DRV_SLOW);
	}

	/* gpio pad configuration for LCD reset. */
	gpio_request(EXYNOS4_GPIO_Y45, "lcd_reset");
	gpio_cfg_pin(EXYNOS4_GPIO_Y45, S5P_GPIO_OUTPUT);
}