aboutsummaryrefslogtreecommitdiffstats
path: root/include/video/omapdss.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/video/omapdss.h')
-rw-r--r--include/video/omapdss.h44
1 files changed, 39 insertions, 5 deletions
diff --git a/include/video/omapdss.h b/include/video/omapdss.h
index adb103633bd1..709e8015f324 100644
--- a/include/video/omapdss.h
+++ b/include/video/omapdss.h
@@ -172,6 +172,11 @@ enum omap_dss_audio_state {
172 OMAP_DSS_AUDIO_PLAYING, 172 OMAP_DSS_AUDIO_PLAYING,
173}; 173};
174 174
175struct omap_dss_audio {
176 struct snd_aes_iec958 *iec;
177 struct snd_cea_861_aud_if *cea;
178};
179
175enum omap_dss_rotation_type { 180enum omap_dss_rotation_type {
176 OMAP_DSS_ROT_DMA = 1 << 0, 181 OMAP_DSS_ROT_DMA = 1 << 0,
177 OMAP_DSS_ROT_VRFB = 1 << 1, 182 OMAP_DSS_ROT_VRFB = 1 << 1,
@@ -653,6 +658,39 @@ struct omapdss_atv_ops {
653 u32 (*get_wss)(struct omap_dss_device *dssdev); 658 u32 (*get_wss)(struct omap_dss_device *dssdev);
654}; 659};
655 660
661struct omapdss_hdmi_ops {
662 int (*connect)(struct omap_dss_device *dssdev,
663 struct omap_dss_device *dst);
664 void (*disconnect)(struct omap_dss_device *dssdev,
665 struct omap_dss_device *dst);
666
667 int (*enable)(struct omap_dss_device *dssdev);
668 void (*disable)(struct omap_dss_device *dssdev);
669
670 int (*check_timings)(struct omap_dss_device *dssdev,
671 struct omap_video_timings *timings);
672 void (*set_timings)(struct omap_dss_device *dssdev,
673 struct omap_video_timings *timings);
674 void (*get_timings)(struct omap_dss_device *dssdev,
675 struct omap_video_timings *timings);
676
677 int (*read_edid)(struct omap_dss_device *dssdev, u8 *buf, int len);
678 bool (*detect)(struct omap_dss_device *dssdev);
679
680 /*
681 * Note: These functions might sleep. Do not call while
682 * holding a spinlock/readlock.
683 */
684 int (*audio_enable)(struct omap_dss_device *dssdev);
685 void (*audio_disable)(struct omap_dss_device *dssdev);
686 bool (*audio_supported)(struct omap_dss_device *dssdev);
687 int (*audio_config)(struct omap_dss_device *dssdev,
688 struct omap_dss_audio *audio);
689 /* Note: These functions may not sleep */
690 int (*audio_start)(struct omap_dss_device *dssdev);
691 void (*audio_stop)(struct omap_dss_device *dssdev);
692};
693
656struct omap_dss_device { 694struct omap_dss_device {
657 /* old device, to be removed */ 695 /* old device, to be removed */
658 struct device old_dev; 696 struct device old_dev;
@@ -722,6 +760,7 @@ struct omap_dss_device {
722 const struct omapdss_dpi_ops *dpi; 760 const struct omapdss_dpi_ops *dpi;
723 const struct omapdss_sdi_ops *sdi; 761 const struct omapdss_sdi_ops *sdi;
724 const struct omapdss_dvi_ops *dvi; 762 const struct omapdss_dvi_ops *dvi;
763 const struct omapdss_hdmi_ops *hdmi;
725 const struct omapdss_atv_ops *atv; 764 const struct omapdss_atv_ops *atv;
726 } ops; 765 } ops;
727 766
@@ -759,11 +798,6 @@ struct omap_dss_hdmi_data
759 int hpd_gpio; 798 int hpd_gpio;
760}; 799};
761 800
762struct omap_dss_audio {
763 struct snd_aes_iec958 *iec;
764 struct snd_cea_861_aud_if *cea;
765};
766
767struct omap_dss_driver { 801struct omap_dss_driver {
768 struct device_driver driver; 802 struct device_driver driver;
769 803