aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSrikar <ext-srikar.1.bhavanarayana@nokia.com>2010-12-20 21:48:16 -0500
committerTony Lindgren <tony@atomide.com>2010-12-20 21:48:16 -0500
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 85503fed4e13..9919581f3911 100644
--- a/arch/arm/mach-omap2/board-rx51-video.c
+++ b/arch/arm/mach-omap2/board-rx51-video.c
@@ -14,7 +14,6 @@
14#include <linux/gpio.h> 14#include <linux/gpio.h>
15#include <linux/spi/spi.h> 15#include <linux/spi/spi.h>
16#include <linux/mm.h> 16#include <linux/mm.h>
17
18#include <asm/mach-types.h> 17#include <asm/mach-types.h>
19#include <plat/display.h> 18#include <plat/display.h>
20#include <plat/vram.h> 19#include <plat/vram.h>
@@ -25,6 +24,9 @@
25#include "mux.h" 24#include "mux.h"
26 25
27#define RX51_LCD_RESET_GPIO 90 26#define RX51_LCD_RESET_GPIO 90
27/* REVISIT to verify with rx51.c at sound/soc/omap */
28#define RX51_TVOUT_SEL_GPIO 40
29
28 30
29#if defined(CONFIG_FB_OMAP2) || defined(CONFIG_FB_OMAP2_MODULE) 31#if defined(CONFIG_FB_OMAP2) || defined(CONFIG_FB_OMAP2_MODULE)
30 32
@@ -39,6 +41,17 @@ static void rx51_lcd_disable(struct omap_dss_device *dssdev)
39 gpio_set_value(dssdev->reset_gpio, 0); 41 gpio_set_value(dssdev->reset_gpio, 0);
40} 42}
41 43
44static int rx51_tvout_enable(struct omap_dss_device *dssdev)
45{
46 gpio_set_value(dssdev->reset_gpio, 1);
47 return 0;
48}
49
50static void rx51_tvout_disable(struct omap_dss_device *dssdev)
51{
52 gpio_set_value(dssdev->reset_gpio, 0);
53}
54
42static struct omap_dss_device rx51_lcd_device = { 55static struct omap_dss_device rx51_lcd_device = {
43 .name = "lcd", 56 .name = "lcd",
44 .driver_name = "panel-acx565akm", 57 .driver_name = "panel-acx565akm",
@@ -49,8 +62,19 @@ static struct omap_dss_device rx51_lcd_device = {
49 .platform_disable = rx51_lcd_disable, 62 .platform_disable = rx51_lcd_disable,
50}; 63};
51 64
65static struct omap_dss_device rx51_tv_device = {
66 .name = "tv",
67 .type = OMAP_DISPLAY_TYPE_VENC,
68 .driver_name = "venc",
69 .phy.venc.type = OMAP_DSS_VENC_TYPE_COMPOSITE,
70 .reset_gpio = RX51_TVOUT_SEL_GPIO,
71 .platform_enable = rx51_tvout_enable,
72 .platform_disable = rx51_tvout_disable,
73};
74
52static struct omap_dss_device *rx51_dss_devices[] = { 75static struct omap_dss_device *rx51_dss_devices[] = {
53 &rx51_lcd_device, 76 &rx51_lcd_device,
77 &rx51_tv_device,
54}; 78};
55 79
56static struct omap_dss_board_info rx51_dss_board_info = { 80static struct omap_dss_board_info rx51_dss_board_info = {
@@ -88,6 +112,9 @@ static int __init rx51_video_init(void)
88 112
89 gpio_direction_output(RX51_LCD_RESET_GPIO, 1); 113 gpio_direction_output(RX51_LCD_RESET_GPIO, 1);
90 114
115 /* REVISIT to verify with rx51.c at sound/soc/omap */
116 gpio_direction_output(RX51_TVOUT_SEL_GPIO, 1);
117
91 platform_add_devices(rx51_video_devices, 118 platform_add_devices(rx51_video_devices,
92 ARRAY_SIZE(rx51_video_devices)); 119 ARRAY_SIZE(rx51_video_devices));
93 return 0; 120 return 0;