From: Tomi Valkeinen <tomi.valkeinen@ti.com>
To: tony@atomide.com
Cc: linux-omap@vger.kernel.org,
Tomi Valkeinen <tomi.valkeinen@ti.com>,
Hunyue Yau <hyau@mvista.com>
Subject: [PATCH 3/6] OMAP: 2420SDP: Port the display driver to new DSS2
Date: Mon, 9 May 2011 10:36:04 +0300 [thread overview]
Message-ID: <1304926567-26814-4-git-send-email-tomi.valkeinen@ti.com> (raw)
In-Reply-To: <1304926567-26814-1-git-send-email-tomi.valkeinen@ti.com>
Port the old omapfb panel driver to DSS2. This patch changes the board
file only, the driver is ported in separate patch.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: Hunyue Yau <hyau@mvista.com>
---
arch/arm/mach-omap2/board-2430sdp.c | 84 +++++++++++++++++++++++++++++------
1 files changed, 70 insertions(+), 14 deletions(-)
diff --git a/arch/arm/mach-omap2/board-2430sdp.c b/arch/arm/mach-omap2/board-2430sdp.c
index 1fa6bb8..9b6e987 100644
--- a/arch/arm/mach-omap2/board-2430sdp.c
+++ b/arch/arm/mach-omap2/board-2430sdp.c
@@ -38,6 +38,8 @@
#include <plat/gpmc.h>
#include <plat/usb.h>
#include <plat/gpmc-smc91x.h>
+#include <plat/display.h>
+#include <plat/panel-generic-dpi.h>
#include "mux.h"
#include "hsmmc.h"
@@ -98,20 +100,79 @@ static struct platform_device sdp2430_flash_device = {
.resource = &sdp2430_flash_resource,
};
-static struct platform_device sdp2430_lcd_device = {
- .name = "sdp2430_lcd",
- .id = -1,
-};
-
static struct platform_device *sdp2430_devices[] __initdata = {
&sdp2430_flash_device,
+};
+
+/* LCD */
+#define SDP2430_LCD_PANEL_BACKLIGHT_GPIO 91
+#define SDP2430_LCD_PANEL_ENABLE_GPIO 154
+
+static int sdp2430_panel_enable_lcd(struct omap_dss_device *dssdev)
+{
+ gpio_direction_output(SDP2430_LCD_PANEL_ENABLE_GPIO, 1);
+ gpio_direction_output(SDP2430_LCD_PANEL_BACKLIGHT_GPIO, 1);
+
+ return 0;
+}
+
+static void sdp2430_panel_disable_lcd(struct omap_dss_device *dssdev)
+{
+ gpio_direction_output(SDP2430_LCD_PANEL_ENABLE_GPIO, 0);
+ gpio_direction_output(SDP2430_LCD_PANEL_BACKLIGHT_GPIO, 0);
+}
+
+static struct panel_generic_dpi_data sdp2430_panel_data = {
+ .name = "2430sdp",
+ .platform_enable = sdp2430_panel_enable_lcd,
+ .platform_disable = sdp2430_panel_disable_lcd,
+};
+
+static struct omap_dss_device sdp2430_lcd_device = {
+ .name = "lcd",
+ .driver_name = "generic_dpi_panel",
+ .type = OMAP_DISPLAY_TYPE_DPI,
+ .phy.dpi.data_lines = 16,
+ .data = &sdp2430_panel_data,
+};
+
+static struct omap_dss_device *sdp2430_dss_devices[] = {
&sdp2430_lcd_device,
};
-static struct omap_lcd_config sdp2430_lcd_config __initdata = {
- .ctrl_name = "internal",
+static struct omap_dss_board_info sdp2430_dss_data = {
+ .num_devices = ARRAY_SIZE(sdp2430_dss_devices),
+ .devices = sdp2430_dss_devices,
+ .default_device = &sdp2430_lcd_device,
};
+static void __init sdp2430_display_init(void)
+{
+ int r;
+
+ r = gpio_request_one(SDP2430_LCD_PANEL_ENABLE_GPIO,
+ GPIOF_OUT_INIT_LOW, "LCD reset");
+ if (r) {
+ printk(KERN_ERR "failed to get LCD reset GPIO\n");
+ goto err0;
+ }
+
+ r = gpio_request_one(SDP2430_LCD_PANEL_BACKLIGHT_GPIO,
+ GPIOF_OUT_INIT_LOW, "LCD Backlight");
+ if (r) {
+ printk(KERN_ERR "failed to get LCD backlight GPIO\n");
+ goto err1;
+ }
+
+ omap_display_init(&sdp2430_dss_data);
+
+ return;
+err1:
+ gpio_free(SDP2430_LCD_PANEL_ENABLE_GPIO);
+err0:
+ return;
+}
+
#if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91x_MODULE)
static struct omap_smc91x_platform_data board_smc91x_data = {
@@ -136,10 +197,6 @@ static inline void board_smc91x_init(void)
#endif
-static struct omap_board_config_kernel sdp2430_config[] __initdata = {
- {OMAP_TAG_LCD, &sdp2430_lcd_config},
-};
-
static void __init omap_2430sdp_init_early(void)
{
omap2_init_common_infrastructure();
@@ -244,9 +301,6 @@ static void __init omap_2430sdp_init(void)
omap2430_mux_init(board_mux, OMAP_PACKAGE_ZAC);
- omap_board_config = sdp2430_config;
- omap_board_config_size = ARRAY_SIZE(sdp2430_config);
-
omap2430_i2c_init();
platform_add_devices(sdp2430_devices, ARRAY_SIZE(sdp2430_devices));
@@ -263,6 +317,8 @@ static void __init omap_2430sdp_init(void)
ret = gpio_request(SECONDARY_LCD_GPIO, "Secondary LCD backlight");
if (ret == 0)
gpio_direction_output(SECONDARY_LCD_GPIO, 0);
+
+ sdp2430_display_init();
}
static void __init omap_2430sdp_map_io(void)
--
1.7.4.1
next prev parent reply other threads:[~2011-05-09 7:36 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-09 7:36 [PATCH 0/6] OMAP: board file changes for DSS2 porting Tomi Valkeinen
2011-05-09 7:36 ` [PATCH 1/6] OMAP: RX51: Remove unused old omapfb stuff Tomi Valkeinen
2011-05-09 7:36 ` [PATCH 2/6] OMAP: omap3touchbook: Remove unused lcd stuff Tomi Valkeinen
2011-05-09 7:36 ` Tomi Valkeinen [this message]
2011-05-09 8:21 ` [PATCH 3/6] OMAP: 2420SDP: Port the display driver to new DSS2 Igor Grinberg
2011-05-09 16:57 ` Tomi Valkeinen
2011-05-09 7:36 ` [PATCH 4/6] OMAP: LDP: " Tomi Valkeinen
2011-05-09 8:08 ` stanley.miao
2011-05-11 4:58 ` Janorkar, Mayuresh
2011-05-11 6:32 ` Tomi Valkeinen
2011-05-12 6:40 ` Igor Grinberg
2011-05-12 7:16 ` Igor Grinberg
2011-05-12 8:38 ` Igor Grinberg
2011-05-12 8:47 ` Janorkar, Mayuresh
2011-05-12 11:20 ` Igor Grinberg
2011-05-12 11:47 ` Tomi Valkeinen
2011-05-12 14:36 ` Janorkar, Mayuresh
2011-05-12 14:47 ` Tomi Valkeinen
2011-05-12 14:50 ` Janorkar, Mayuresh
2011-05-12 14:59 ` Tomi Valkeinen
2011-05-16 8:53 ` Tomi Valkeinen
2011-05-16 11:13 ` Igor Grinberg
2011-05-17 11:49 ` Tomi Valkeinen
2011-05-17 11:56 ` Tomi Valkeinen
2011-05-17 12:28 ` Igor Grinberg
2011-05-17 13:16 ` Tomi Valkeinen
2011-05-16 11:26 ` Janorkar, Mayuresh
2011-05-17 11:44 ` Tomi Valkeinen
2011-05-09 7:36 ` [PATCH 5/6] OMAP: H4: " Tomi Valkeinen
2011-05-09 7:36 ` [PATCH 6/6] OMAP: Apollon: " Tomi Valkeinen
2011-05-09 17:01 ` [PATCH 0/6] OMAP: board file changes for DSS2 porting Tomi Valkeinen
2011-05-10 13:35 ` Tony Lindgren
2011-05-10 14:03 ` Tomi Valkeinen
2011-05-11 7:08 ` Tony Lindgren
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1304926567-26814-4-git-send-email-tomi.valkeinen@ti.com \
--to=tomi.valkeinen@ti.com \
--cc=hyau@mvista.com \
--cc=linux-omap@vger.kernel.org \
--cc=tony@atomide.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).