aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorPer Persson <per.xb.persson@stericsson.com>2011-04-26 16:14:14 +0200
committerJonas ABERG <jonas.aberg@stericsson.com>2011-04-27 16:28:17 +0200
commit6044b9da5b3702c9f236def93210db4e8894d5eb (patch)
treec2783b9367eb9a1231e50751c429afb53f091ed1 /include
parent5473eb520328523576d47c896a0010a781ec280f (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> Change-Id: Ie04b52ce91b33961ed36201e1019d92fb696487e Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/20950 Reviewed-by: Marcel TUNNISSEN <marcel.tuennissen@stericsson.com> Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/dispdev.h1
-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
5 files changed, 25 insertions, 3 deletions
diff --git a/include/linux/dispdev.h b/include/linux/dispdev.h
index 03716a68b4b..5ff230d5648 100644
--- a/include/linux/dispdev.h
+++ b/include/linux/dispdev.h
@@ -51,6 +51,7 @@ struct dispdev_config {
#ifdef __KERNEL__
int dispdev_create(struct mcde_display_device *ddev, bool overlay);
+void dispdev_destroy(struct mcde_display_device *ddev);
#endif /* __KERNEL__ */
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);