diff options
author | Philippe Langlais <philippe.langlais@linaro.org> | 2011-05-10 16:12:51 +0200 |
---|---|---|
committer | Lee Jones <lee.jones@linaro.org> | 2012-01-05 10:17:44 +0000 |
commit | ef57bfe4336b1238cfd6b884d119e82111bc0ab7 (patch) | |
tree | 8a3f5f2266ab96767f5f7f61951a5c6a0d96f81a /include | |
parent | 92ffc91bc2ca3c903f40c1a2cec163035fe59bca (diff) |
video: mcde_hdmi: Support for HDMI user space service
Add changes needed by HDMI service in user space.
HDMI service is a user space service that provide
functionality for applications using HDMI.
ST-Ericsson ID: 335747
ST-Ericsson Linux next: Not tested, ER 282779
ST-Ericsson FOSS-OUT ID: Trivial
Change-Id: I7c2ffd5ae61310f9a152ca984c4f62152fc1e2e0
Signed-off-by: Per Persson <per.xb.persson@stericsson.com>
Conflicts:
arch/arm/mach-ux500/board-mop500-mcde.c
drivers/misc/dispdev/dispdev.c
include/linux/dispdev.h
Diffstat (limited to 'include')
-rw-r--r-- | include/video/hdmi.h | 3 | ||||
-rw-r--r-- | include/video/mcde_display-av8100.h | 14 | ||||
-rw-r--r-- | include/video/mcde_display.h | 6 | ||||
-rw-r--r-- | include/video/mcde_fb.h | 4 |
4 files changed, 24 insertions, 3 deletions
diff --git a/include/video/hdmi.h b/include/video/hdmi.h index 18a8e34bd67..0a4dd723486 100644 --- a/include/video/hdmi.h +++ b/include/video/hdmi.h @@ -86,6 +86,8 @@ #define IOC_AUDIO_CFG _IOWR(HDMI_IOC_MAGIC, 15, int) #define IOC_PLUG_STATUS _IOWR(HDMI_IOC_MAGIC, 16, int) #define IOC_POWERONOFF _IOWR(HDMI_IOC_MAGIC, 17, int) +#define IOC_EVENT_WAKEUP _IOWR(HDMI_IOC_MAGIC, 18, int) +#define IOC_POWERSTATE _IOWR(HDMI_IOC_MAGIC, 19, int) /* HDMI driver */ @@ -100,6 +102,7 @@ enum hdmi_event { HDMI_EVENT_CEC = 0x4, HDMI_EVENT_HDCP = 0x8, HDMI_EVENT_CECTXERR = 0x10, + HDMI_EVENT_WAKEUP = 0x20, }; enum hdmi_hdcp_auth_type { diff --git a/include/video/mcde_display-av8100.h b/include/video/mcde_display-av8100.h index c508ebf1f17..b0bbc02c1f8 100644 --- a/include/video/mcde_display-av8100.h +++ b/include/video/mcde_display-av8100.h @@ -20,6 +20,9 @@ #define NATIVE_YRES_HDMI 720 #define NATIVE_XRES_SDTV 720 #define NATIVE_YRES_SDTV 576 +#define DISPONOFF_SIZE 6 +#define TIMING_SIZE 2 +#define STAYALIVE_SIZE 1 struct mcde_display_hdmi_platform_data { /* Platform info */ @@ -36,4 +39,15 @@ struct mcde_display_hdmi_platform_data { struct regulator *regulator; }; +struct display_driver_data { + struct regulator *cvbs_regulator; + bool cvbs_regulator_enabled; + bool update_port_pixel_format; + char *fbdevname; + struct mcde_video_mode *video_mode; +}; + +void hdmi_fb_onoff(struct mcde_display_device *ddev, bool enable, + u8 cea, u8 vesa_cea_nr); + #endif /* __DISPLAY_AV8100__H__ */ diff --git a/include/video/mcde_display.h b/include/video/mcde_display.h index aa184cb6162..69ff1de4ef2 100644 --- a/include/video/mcde_display.h +++ b/include/video/mcde_display.h @@ -29,6 +29,7 @@ struct mcde_display_device { const char *name; int id; struct mcde_port *port; + struct fb_info *fbi; /* MCDE dss driver internal */ bool initialized; @@ -56,6 +57,7 @@ struct mcde_display_device { bool synchronized_update; struct mcde_video_mode video_mode; int update_flags; + bool stay_alive; /* Driver API */ void (*get_native_resolution)(struct mcde_display_device *dev, @@ -76,7 +78,6 @@ struct mcde_display_device { struct mcde_video_mode *video_mode); void (*get_video_mode)(struct mcde_display_device *dev, struct mcde_video_mode *video_mode); - int (*set_pixel_format)(struct mcde_display_device *dev, enum mcde_ovly_pix_fmt pix_fmt); enum mcde_ovly_pix_fmt (*get_pixel_format)( @@ -102,6 +103,9 @@ struct mcde_display_device { int (*on_first_update)(struct mcde_display_device *dev); int (*platform_enable)(struct mcde_display_device *dev); int (*platform_disable)(struct mcde_display_device *dev); + int (*ceanr_convert)(struct mcde_display_device *ddev, + u8 cea, u8 vesa_cea_nr, int buffering, + u16 *w, u16 *h, u16 *vw, u16 *vh); }; struct mcde_display_driver { diff --git a/include/video/mcde_fb.h b/include/video/mcde_fb.h index 60d8b244688..17556414aa0 100644 --- a/include/video/mcde_fb.h +++ b/include/video/mcde_fb.h @@ -50,11 +50,11 @@ struct mcde_fb { /* MCDE fbdev API */ struct fb_info *mcde_fb_create(struct mcde_display_device *ddev, uint16_t w, uint16_t h, uint16_t vw, uint16_t vh, - enum mcde_ovly_pix_fmt pix_fmt, uint32_t rotate); + enum mcde_ovly_pix_fmt pix_fmt, uint32_t rotate); int mcde_fb_attach_overlay(struct fb_info *fb_info, struct mcde_overlay *ovl); -void mcde_fb_destroy(struct fb_info *fb_info); +void mcde_fb_destroy(struct mcde_display_device *ddev); /* MCDE fb driver */ int mcde_fb_init(void); |