From: yxj Date: Fri, 31 Aug 2012 12:12:06 +0000 (+0800) Subject: rk3066b sdk:modify lcd screen io control X-Git-Tag: firefly_0821_release~8765^2~9 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=d82d976c09de663a3ce94d434d9ab876cc2a91b2;p=firefly-linux-kernel-4.4.55.git rk3066b sdk:modify lcd screen io control --- diff --git a/arch/arm/mach-rk30/board-rk3066b-sdk.c b/arch/arm/mach-rk30/board-rk3066b-sdk.c index 041a3167dfef..e654f6007e77 100644 --- a/arch/arm/mach-rk30/board-rk3066b-sdk.c +++ b/arch/arm/mach-rk30/board-rk3066b-sdk.c @@ -451,49 +451,69 @@ static struct sensor_platform_data cm3217_info = { #ifdef CONFIG_FB_ROCKCHIP -#define LCD_CS_PIN RK30_PIN0_PB0 +#define LCD_CS_PIN INVALID_GPIO #define LCD_CS_VALUE GPIO_HIGH #define LCD_EN_PIN RK30_PIN0_PB0 -#define LCD_EN_VALUE GPIO_LOW +#define LCD_EN_VALUE GPIO_HIGH static int rk_fb_io_init(struct rk29_fb_setting_info *fb_setting) { int ret = 0; - ret = gpio_request(LCD_CS_PIN, NULL); - if (ret != 0) - { - gpio_free(LCD_CS_PIN); - printk(KERN_ERR "request lcd cs pin fail!\n"); - return -1; - } - else - { - gpio_direction_output(LCD_CS_PIN, LCD_CS_VALUE); - } - ret = gpio_request(LCD_EN_PIN, NULL); - if (ret != 0) + + if(LCD_CS_PIN !=INVALID_GPIO) { - gpio_free(LCD_EN_PIN); - printk(KERN_ERR "request lcd en pin fail!\n"); - return -1; + ret = gpio_request(LCD_CS_PIN, NULL); + if (ret != 0) + { + gpio_free(LCD_CS_PIN); + printk(KERN_ERR "request lcd cs pin fail!\n"); + return -1; + } + else + { + gpio_direction_output(LCD_CS_PIN, LCD_CS_VALUE); + } } - else + + if(LCD_EN_PIN !=INVALID_GPIO) { - gpio_direction_output(LCD_EN_PIN, LCD_EN_VALUE); + ret = gpio_request(LCD_EN_PIN, NULL); + if (ret != 0) + { + gpio_free(LCD_EN_PIN); + printk(KERN_ERR "request lcd en pin fail!\n"); + return -1; + } + else + { + gpio_direction_output(LCD_EN_PIN, LCD_EN_VALUE); + } } return 0; } static int rk_fb_io_disable(void) { - gpio_set_value(LCD_CS_PIN, LCD_CS_VALUE? 0:1); - gpio_set_value(LCD_EN_PIN, LCD_EN_VALUE? 0:1); + if(LCD_CS_PIN !=INVALID_GPIO) + { + gpio_set_value(LCD_CS_PIN, !LCD_CS_VALUE); + } + if(LCD_EN_PIN !=INVALID_GPIO) + { + gpio_set_value(LCD_EN_PIN, !LCD_EN_VALUE); + } return 0; } static int rk_fb_io_enable(void) { - gpio_set_value(LCD_CS_PIN, LCD_CS_VALUE); - gpio_set_value(LCD_EN_PIN, LCD_EN_VALUE); + if(LCD_CS_PIN !=INVALID_GPIO) + { + gpio_set_value(LCD_CS_PIN, LCD_CS_VALUE); + } + if(LCD_EN_PIN !=INVALID_GPIO) + { + gpio_set_value(LCD_EN_PIN, LCD_EN_VALUE); + } return 0; }