]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/video/fbdev/omap2/dss/hdmi.h
Merge tag 'virtio-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[karo-tx-linux.git] / drivers / video / fbdev / omap2 / dss / hdmi.h
index aa2edd880ff3ce870586452f06ed1f95e28bdd2b..e4a32fe77b0256fa0850e8ba59f5e5e2d9e96eef 100644 (file)
@@ -232,6 +232,7 @@ struct hdmi_core_audio_config {
 
 struct hdmi_wp_data {
        void __iomem *base;
+       phys_addr_t phys_base;
 };
 
 struct hdmi_pll_data {
@@ -301,6 +302,7 @@ void hdmi_wp_video_config_timing(struct hdmi_wp_data *wp,
 void hdmi_wp_init_vid_fmt_timings(struct hdmi_video_format *video_fmt,
                struct omap_video_timings *timings, struct hdmi_config *param);
 int hdmi_wp_init(struct platform_device *pdev, struct hdmi_wp_data *wp);
+phys_addr_t hdmi_wp_get_audio_dma_addr(struct hdmi_wp_data *wp);
 
 /* HDMI PLL funcs */
 void hdmi_pll_dump(struct hdmi_pll_data *pll, struct seq_file *s);
@@ -329,8 +331,33 @@ void hdmi_wp_audio_config_format(struct hdmi_wp_data *wp,
                struct hdmi_audio_format *aud_fmt);
 void hdmi_wp_audio_config_dma(struct hdmi_wp_data *wp,
                struct hdmi_audio_dma *aud_dma);
-static inline bool hdmi_mode_has_audio(int mode)
+static inline bool hdmi_mode_has_audio(struct hdmi_config *cfg)
 {
-       return mode == HDMI_HDMI ? true : false;
+       return cfg->hdmi_dvi_mode == HDMI_HDMI ? true : false;
 }
+
+/* HDMI DRV data */
+struct omap_hdmi {
+       struct mutex lock;
+       struct platform_device *pdev;
+
+       struct hdmi_wp_data     wp;
+       struct hdmi_pll_data    pll;
+       struct hdmi_phy_data    phy;
+       struct hdmi_core_data   core;
+
+       struct hdmi_config cfg;
+
+       struct regulator *vdda_reg;
+
+       bool core_enabled;
+       bool display_enabled;
+
+       struct omap_dss_device output;
+
+       struct platform_device *audio_pdev;
+       void (*audio_abort_cb)(struct device *dev);
+       int wp_idlemode;
+};
+
 #endif