From 5f337c2c1993755eab69fc00641b989e3c234e00 Mon Sep 17 00:00:00 2001 From: lw Date: Thu, 6 Sep 2012 10:30:42 +0800 Subject: [PATCH] phonepad:close hdmi 1.1v while suspend --- arch/arm/mach-rk30/board-rk30-phonepad.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/arch/arm/mach-rk30/board-rk30-phonepad.c b/arch/arm/mach-rk30/board-rk30-phonepad.c index 873dd8041923..bf376ac4060d 100755 --- a/arch/arm/mach-rk30/board-rk30-phonepad.c +++ b/arch/arm/mach-rk30/board-rk30-phonepad.c @@ -1188,9 +1188,28 @@ static struct sensor_platform_data light_stk3171_info = { #define LCD_EN_PIN RK30_PIN6_PB4 #define LCD_EN_VALUE GPIO_LOW +#define HDMI11_MUX_NAME GPIO3A6_SDMMC0RSTNOUT_NAME +#define HDMI11_EN_PIN RK30_PIN3_PA6 +#define HDMI11_EN_VALUE GPIO_HIGH + + static int rk_fb_io_init(struct rk29_fb_setting_info *fb_setting) { int ret = 0; + + rk30_mux_api_set(GPIO3A6_SDMMC0RSTNOUT_NAME, GPIO3A_GPIO3A6); + ret = gpio_request(HDMI11_EN_PIN, NULL); + if (ret != 0) + { + gpio_free(HDMI11_EN_PIN); + printk(KERN_ERR "hdmi gpio fail!\n"); + return -1; + } + else + { + gpio_direction_output(HDMI11_EN_PIN, HDMI11_EN_VALUE); + } + rk30_mux_api_set(LCD_CS_MUX_NAME, GPIO4C_GPIO4C7); ret = gpio_request(LCD_CS_PIN, NULL); if (ret != 0) @@ -1219,6 +1238,7 @@ static int rk_fb_io_init(struct rk29_fb_setting_info *fb_setting) static int rk_fb_io_disable(void) { msleep(30); //Response Time (Rising + Falling) + gpio_set_value(HDMI11_EN_PIN, HDMI11_EN_VALUE? 0:1); gpio_set_value(LCD_CS_PIN, LCD_CS_VALUE? 0:1); gpio_set_value(LCD_EN_PIN, LCD_EN_VALUE? 0:1); return 0; @@ -1227,6 +1247,7 @@ static int rk_fb_io_enable(void) { gpio_set_value(LCD_EN_PIN, LCD_EN_VALUE); gpio_set_value(LCD_CS_PIN, LCD_CS_VALUE); + gpio_set_value(HDMI11_EN_PIN, HDMI11_EN_VALUE); msleep(150); //wait for power stable return 0; } -- 2.34.1