static void mipi_lcd_set_power(struct plat_lcd_data *pd,
				unsigned int power)
{
	/* reset */
	gpio_request_one(EXYNOS5410_GPX1(5), GPIOF_OUT_INIT_HIGH, "GPX1");

	usleep_range(20000, 21000);
	if (power) {
		/* fire nRESET on power up */
		gpio_set_value(EXYNOS5410_GPX1(5), 0);
		usleep_range(20000, 21000);
		gpio_set_value(EXYNOS5410_GPX1(5), 1);
		usleep_range(20000, 21000);
		gpio_free(EXYNOS5410_GPX1(5));
	} else {
		/* fire nRESET on power off */
		gpio_set_value(EXYNOS5410_GPX1(5), 0);
		usleep_range(20000, 21000);
		gpio_set_value(EXYNOS5410_GPX1(5), 1);
		usleep_range(20000, 21000);
		gpio_free(EXYNOS5410_GPX1(5));
	}
	usleep_range(20000, 21000);
	/* power */
	gpio_request_one(EXYNOS5410_GPX3(0), GPIOF_OUT_INIT_LOW, "GPX3");
	if (power) {
		/* fire nRESET on power up */
		gpio_set_value(EXYNOS5410_GPX3(0), 1);
		gpio_free(EXYNOS5410_GPX3(0));
	} else {
		/* fire nRESET on power off */
		gpio_set_value(EXYNOS5410_GPX3(0), 0);
		gpio_free(EXYNOS5410_GPX3(0));
	}

#ifndef CONFIG_BACKLIGHT_PWM
	/* backlight */
	gpio_request_one(EXYNOS5410_GPB2(0), GPIOF_OUT_INIT_LOW, "GPB2");
	if (power) {
		/* fire nRESET on power up */
		gpio_set_value(EXYNOS5410_GPB2(0), 1);
		gpio_free(EXYNOS5410_GPB2(0));
	} else {
		/* fire nRESET on power off */
		gpio_set_value(EXYNOS5410_GPB2(0), 0);
		gpio_free(EXYNOS5410_GPB2(0));
	}
#endif /* CONFIG_BACKLIGHT_PWM */
}
static void __init universal5410_camera_gpio_cfg(void)
{
#ifdef CONFIG_VIDEO_M5MOLS
#ifdef CONFIG_CSI_D
	gpio_request(EXYNOS5410_GPM7(6), "GPM7");
	s3c_gpio_cfgpin(EXYNOS5410_GPM7(6), S3C_GPIO_SFN(0x2));
	s3c_gpio_setpull(EXYNOS5410_GPM7(6), S3C_GPIO_PULL_NONE);
	gpio_free(EXYNOS5410_GPM7(6));
#endif
#ifdef CONFIG_CSI_E
	gpio_request(EXYNOS5410_GPM7(7), "GPM7");
	s3c_gpio_cfgpin(EXYNOS5410_GPM7(7), S3C_GPIO_SFN(0x2));
	s3c_gpio_setpull(EXYNOS5410_GPM7(7), S3C_GPIO_PULL_NONE);
	gpio_free(EXYNOS5410_GPM7(7));
#endif
	s3c_gpio_cfgpin(EXYNOS5410_GPX3(5), S3C_GPIO_SFN(0xF));
	s3c_gpio_setpull(EXYNOS5410_GPX3(5), S3C_GPIO_PULL_NONE);
#endif
}
static void mipi_lcd_set_power(struct plat_lcd_data *pd,
				unsigned int power)
{
#ifdef CONFIG_S5P_DEV_MIPI_DSIM0
	/* reset */
	gpio_request_one(EXYNOS5410_GPX1(5), GPIOF_OUT_INIT_HIGH, "GPX1");

	usleep_range(20000, 21000);
	if (power) {
		/* fire nRESET on power up */
		gpio_set_value(EXYNOS5410_GPX1(5), 0);
		usleep_range(20000, 21000);
		gpio_set_value(EXYNOS5410_GPX1(5), 1);
		usleep_range(20000, 21000);
		gpio_free(EXYNOS5410_GPX1(5));
	} else {
		/* fire nRESET on power off */
		gpio_set_value(EXYNOS5410_GPX1(5), 0);
		usleep_range(20000, 21000);
		gpio_set_value(EXYNOS5410_GPX1(5), 1);
		usleep_range(20000, 21000);
		gpio_free(EXYNOS5410_GPX1(5));
	}
	usleep_range(20000, 21000);
	/* power */
	gpio_request_one(EXYNOS5410_GPX3(0), GPIOF_OUT_INIT_LOW, "GPX3");
	if (power) {
		/* fire nRESET on power up */
		gpio_set_value(EXYNOS5410_GPX3(0), 1);
		gpio_free(EXYNOS5410_GPX3(0));
	} else {
		/* fire nRESET on power off */
		gpio_set_value(EXYNOS5410_GPX3(0), 0);
		gpio_free(EXYNOS5410_GPX3(0));
	}
#endif
}