Commit f23248d4 authored by Tomi Valkeinen's avatar Tomi Valkeinen

ARM: OMAP: LDP: use new display drivers

Use new display drivers for LDP board.

The new OMAP display drivers were merged for 3.11, and we can now change
the board files to use the new ones and phase out the old ones.
Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: default avatarTony Lindgren <tony@atomide.com>
parent 09bc6ff2
...@@ -184,45 +184,70 @@ static inline void __init ldp_init_smsc911x(void) ...@@ -184,45 +184,70 @@ static inline void __init ldp_init_smsc911x(void)
#define LCD_PANEL_RESET_GPIO 55 #define LCD_PANEL_RESET_GPIO 55
#define LCD_PANEL_QVGA_GPIO 56 #define LCD_PANEL_QVGA_GPIO 56
static struct panel_generic_dpi_data ldp_panel_data = { static const struct display_timing ldp_lcd_videomode = {
.name = "nec_nl2432dr22-11b", .pixelclock = { 0, 5400000, 0 },
.num_gpios = 4,
/* gpios filled in code */ .hactive = { 0, 240, 0 },
.hfront_porch = { 0, 3, 0 },
.hback_porch = { 0, 39, 0 },
.hsync_len = { 0, 3, 0 },
.vactive = { 0, 320, 0 },
.vfront_porch = { 0, 2, 0 },
.vback_porch = { 0, 7, 0 },
.vsync_len = { 0, 1, 0 },
.flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE,
}; };
static struct omap_dss_device ldp_lcd_device = { static struct panel_dpi_platform_data ldp_lcd_pdata = {
.name = "lcd", .name = "lcd",
.driver_name = "generic_dpi_panel", .source = "dpi.0",
.type = OMAP_DISPLAY_TYPE_DPI,
.phy.dpi.data_lines = 18, .data_lines = 18,
.data = &ldp_panel_data,
.display_timing = &ldp_lcd_videomode,
.enable_gpio = -1, /* filled in code */
.backlight_gpio = -1, /* filled in code */
}; };
static struct omap_dss_device *ldp_dss_devices[] = { static struct platform_device ldp_lcd_device = {
&ldp_lcd_device, .name = "panel-dpi",
.id = 0,
.dev.platform_data = &ldp_lcd_pdata,
}; };
static struct omap_dss_board_info ldp_dss_data = { static struct omap_dss_board_info ldp_dss_data = {
.num_devices = ARRAY_SIZE(ldp_dss_devices), .default_display_name = "lcd",
.devices = ldp_dss_devices,
.default_device = &ldp_lcd_device,
}; };
static void __init ldp_display_init(void) static void __init ldp_display_init(void)
{ {
ldp_panel_data.gpios[2] = LCD_PANEL_RESET_GPIO; int r;
ldp_panel_data.gpios[3] = LCD_PANEL_QVGA_GPIO;
static struct gpio gpios[] __initdata = {
{LCD_PANEL_RESET_GPIO, GPIOF_OUT_INIT_HIGH, "LCD RESET"},
{LCD_PANEL_QVGA_GPIO, GPIOF_OUT_INIT_HIGH, "LCD QVGA"},
};
r = gpio_request_array(gpios, ARRAY_SIZE(gpios));
if (r) {
pr_err("Cannot request LCD GPIOs, error %d\n", r);
return;
}
omap_display_init(&ldp_dss_data); omap_display_init(&ldp_dss_data);
} }
static int ldp_twl_gpio_setup(struct device *dev, unsigned gpio, unsigned ngpio) static int ldp_twl_gpio_setup(struct device *dev, unsigned gpio, unsigned ngpio)
{ {
ldp_panel_data.gpios[0] = gpio + 7; /* LCD enable GPIO */
ldp_panel_data.gpio_invert[0] = true; ldp_lcd_pdata.enable_gpio = gpio + 7;
ldp_panel_data.gpios[1] = gpio + 15; /* Backlight enable GPIO */
ldp_panel_data.gpio_invert[1] = true; ldp_lcd_pdata.backlight_gpio = gpio + 15;
return 0; return 0;
} }
...@@ -322,6 +347,7 @@ static struct omap2_hsmmc_info mmc[] __initdata = { ...@@ -322,6 +347,7 @@ static struct omap2_hsmmc_info mmc[] __initdata = {
static struct platform_device *ldp_devices[] __initdata = { static struct platform_device *ldp_devices[] __initdata = {
&ldp_gpio_keys_device, &ldp_gpio_keys_device,
&ldp_lcd_device,
}; };
#ifdef CONFIG_OMAP_MUX #ifdef CONFIG_OMAP_MUX
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment