aboutsummaryrefslogtreecommitdiff
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
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>
-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;