diff options
Diffstat (limited to 'include/video')
-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); |