aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/mach-omap2/board-rx51-video.c
diff options
context:
space:
mode:
authorSrikar <ext-srikar.1.bhavanarayana@nokia.com>2010-12-20 18:48:16 -0800
committerTony Lindgren <tony@atomide.com>2010-12-20 18:48:16 -0800
commit60d24eeda7c7e3b0551f5a349224c7cc721206bd (patch)
tree4e79adf55abbf9480a56f3e5f90da271c943a89c /arch/arm/mach-omap2/board-rx51-video.c
parentcaeeb4aadfbff8d8efbb055594c0459cff94adad (diff)
Added video data to support tvout on rx51
To support tvout on rx51,added Intilization data, tvout as display device and enabled venc through gpio on rx51 Signed-off-by: Srikar <ext-srikar.1.bhavanarayana@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm/mach-omap2/board-rx51-video.c')
-rw-r--r--arch/arm/mach-omap2/board-rx51-video.c29
1 files changed, 28 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/board-rx51-video.c b/arch/arm/mach-omap2/board-rx51-video.c
index 85503fed4e1..9919581f391 100644
--- a/arch/arm/mach-omap2/board-rx51-video.c
+++ b/arch/arm/mach-omap2/board-rx51-video.c
@@ -14,7 +14,6 @@
#include <linux/gpio.h>
#include <linux/spi/spi.h>
#include <linux/mm.h>
-
#include <asm/mach-types.h>
#include <plat/display.h>
#include <plat/vram.h>
@@ -25,6 +24,9 @@
#include "mux.h"
#define RX51_LCD_RESET_GPIO 90
+/* REVISIT to verify with rx51.c at sound/soc/omap */
+#define RX51_TVOUT_SEL_GPIO 40
+
#if defined(CONFIG_FB_OMAP2) || defined(CONFIG_FB_OMAP2_MODULE)
@@ -39,6 +41,17 @@ static void rx51_lcd_disable(struct omap_dss_device *dssdev)
gpio_set_value(dssdev->reset_gpio, 0);
}
+static int rx51_tvout_enable(struct omap_dss_device *dssdev)
+{
+ gpio_set_value(dssdev->reset_gpio, 1);
+ return 0;
+}
+
+static void rx51_tvout_disable(struct omap_dss_device *dssdev)
+{
+ gpio_set_value(dssdev->reset_gpio, 0);
+}
+
static struct omap_dss_device rx51_lcd_device = {
.name = "lcd",
.driver_name = "panel-acx565akm",
@@ -49,8 +62,19 @@ static struct omap_dss_device rx51_lcd_device = {
.platform_disable = rx51_lcd_disable,
};
+static struct omap_dss_device rx51_tv_device = {
+ .name = "tv",
+ .type = OMAP_DISPLAY_TYPE_VENC,
+ .driver_name = "venc",
+ .phy.venc.type = OMAP_DSS_VENC_TYPE_COMPOSITE,
+ .reset_gpio = RX51_TVOUT_SEL_GPIO,
+ .platform_enable = rx51_tvout_enable,
+ .platform_disable = rx51_tvout_disable,
+};
+
static struct omap_dss_device *rx51_dss_devices[] = {
&rx51_lcd_device,
+ &rx51_tv_device,
};
static struct omap_dss_board_info rx51_dss_board_info = {
@@ -88,6 +112,9 @@ static int __init rx51_video_init(void)
gpio_direction_output(RX51_LCD_RESET_GPIO, 1);
+ /* REVISIT to verify with rx51.c at sound/soc/omap */
+ gpio_direction_output(RX51_TVOUT_SEL_GPIO, 1);
+
platform_add_devices(rx51_video_devices,
ARRAY_SIZE(rx51_video_devices));
return 0;