Skip to content

Commit

Permalink
omapfb: lcd_ams_delta: drive control lines over GPIO
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Janusz Krzysztofik authored and Tony Lindgren committed Dec 22, 2011
1 parent 68f0676 commit a218d19
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 19 deletions.
10 changes: 0 additions & 10 deletions arch/arm/mach-omap1/board-ams-delta.c
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
2 changes: 0 additions & 2 deletions arch/arm/plat-omap/include/plat/board-ams-delta.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
27 changes: 20 additions & 7 deletions drivers/video/omap/lcd_ams_delta.c
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down Expand Up @@ -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)
Expand Down

0 comments on commit a218d19

Please sign in to comment.