summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorPhilippe Langlais <philippe.langlais@linaro.org>2011-05-10 16:12:51 +0200
committerPhilippe Langlais <philippe.langlais@linaro.org>2011-07-22 15:45:25 +0200
commite6588cb922e988cd5ac713c2b1bf1ec9d0cb7772 (patch)
treec2af9e84f8bc606a047291f38cac40468c75344e /include
parent514198fa9899b5b3da4390e57acbd16657e85847 (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.h3
-rw-r--r--include/video/mcde_display-av8100.h14
-rw-r--r--include/video/mcde_display.h6
-rw-r--r--include/video/mcde_fb.h4
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);