mirror of https://gitee.com/openkylin/linux.git
omapfb: lcd_ams_delta: drive control lines over GPIO
Don't use Amstrad Delta custom I/O functions any longer, use GPIO API instead. Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl> Acked-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
This commit is contained in:
parent
68f0676699
commit
a218d19f6a
|
@ -226,16 +226,6 @@ static struct gpio latch_gpios[] __initconst = {
|
|||
.flags = GPIOF_OUT_INIT_LOW,
|
||||
.label = "dockit2",
|
||||
},
|
||||
{
|
||||
.gpio = AMS_DELTA_GPIO_PIN_LCD_VBLEN,
|
||||
.flags = GPIOF_OUT_INIT_LOW,
|
||||
.label = "lcd_vblen",
|
||||
},
|
||||
{
|
||||
.gpio = AMS_DELTA_GPIO_PIN_LCD_NDISP,
|
||||
.flags = GPIOF_OUT_INIT_LOW,
|
||||
.label = "lcd_ndisp",
|
||||
},
|
||||
{
|
||||
.gpio = AMS_DELTA_GPIO_PIN_KEYBRD_PWR,
|
||||
.flags = GPIOF_OUT_INIT_LOW,
|
||||
|
|
|
@ -28,8 +28,6 @@
|
|||
|
||||
#if defined (CONFIG_MACH_AMS_DELTA)
|
||||
|
||||
#define AMS_DELTA_LATCH2_LCD_VBLEN 0x0001
|
||||
#define AMS_DELTA_LATCH2_LCD_NDISP 0x0002
|
||||
#define AMD_DELTA_LATCH2_KEYBRD_PWR 0x0100
|
||||
#define AMD_DELTA_LATCH2_KEYBRD_DATA 0x0200
|
||||
#define AMD_DELTA_LATCH2_SCARD_RSTIN 0x0400
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
#include <linux/io.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/lcd.h>
|
||||
#include <linux/gpio.h>
|
||||
|
||||
#include <plat/board-ams-delta.h>
|
||||
#include <mach/hardware.h>
|
||||
|
@ -98,29 +99,41 @@ static struct lcd_ops ams_delta_lcd_ops = {
|
|||
|
||||
/* omapfb panel section */
|
||||
|
||||
static struct gpio _gpios[] __initconst_or_module = {
|
||||
{
|
||||
.gpio = AMS_DELTA_GPIO_PIN_LCD_VBLEN,
|
||||
.flags = GPIOF_OUT_INIT_LOW,
|
||||
.label = "lcd_vblen",
|
||||
},
|
||||
{
|
||||
.gpio = AMS_DELTA_GPIO_PIN_LCD_NDISP,
|
||||
.flags = GPIOF_OUT_INIT_LOW,
|
||||
.label = "lcd_ndisp",
|
||||
},
|
||||
};
|
||||
|
||||
static int ams_delta_panel_init(struct lcd_panel *panel,
|
||||
struct omapfb_device *fbdev)
|
||||
{
|
||||
return 0;
|
||||
return gpio_request_array(_gpios, ARRAY_SIZE(_gpios));
|
||||
}
|
||||
|
||||
static void ams_delta_panel_cleanup(struct lcd_panel *panel)
|
||||
{
|
||||
gpio_free_array(_gpios, ARRAY_SIZE(_gpios));
|
||||
}
|
||||
|
||||
static int ams_delta_panel_enable(struct lcd_panel *panel)
|
||||
{
|
||||
ams_delta_latch2_write(AMS_DELTA_LATCH2_LCD_NDISP,
|
||||
AMS_DELTA_LATCH2_LCD_NDISP);
|
||||
ams_delta_latch2_write(AMS_DELTA_LATCH2_LCD_VBLEN,
|
||||
AMS_DELTA_LATCH2_LCD_VBLEN);
|
||||
gpio_set_value(AMS_DELTA_GPIO_PIN_LCD_NDISP, 1);
|
||||
gpio_set_value(AMS_DELTA_GPIO_PIN_LCD_VBLEN, 1);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void ams_delta_panel_disable(struct lcd_panel *panel)
|
||||
{
|
||||
ams_delta_latch2_write(AMS_DELTA_LATCH2_LCD_VBLEN, 0);
|
||||
ams_delta_latch2_write(AMS_DELTA_LATCH2_LCD_NDISP, 0);
|
||||
gpio_set_value(AMS_DELTA_GPIO_PIN_LCD_VBLEN, 0);
|
||||
gpio_set_value(AMS_DELTA_GPIO_PIN_LCD_NDISP, 0);
|
||||
}
|
||||
|
||||
static unsigned long ams_delta_panel_get_caps(struct lcd_panel *panel)
|
||||
|
|
Loading…
Reference in New Issue