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 }