aboutsummaryrefslogtreecommitdiffstats
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 21:48:16 -0500
committerTony Lindgren <tony@atomide.com>2010-12-20 21:48:16 -0500
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 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;