Merge tag 'lsk-v3.10-android-14.12'
[firefly-linux-kernel-4.4.55.git] / drivers / video / rockchip / hdmi / chips / cat66121 / cat66121_hdmi.h
1 #ifndef __cat66121_HDMI_H__
2 #define __cat66121_HDMI_H__
3 #include "../../rk_hdmi.h"
4
5 #if defined(CONFIG_HDMI_SOURCE_LCDC1)
6 #define HDMI_SOURCE_DEFAULT HDMI_SOURCE_LCDC1
7 #else
8 #define HDMI_SOURCE_DEFAULT HDMI_SOURCE_LCDC0
9 #endif
10
11
12 struct cat66121_hdmi_pdata {
13         int gpio;
14         struct i2c_client *client;
15         struct delayed_work delay_work;
16         struct workqueue_struct *workqueue;
17         int plug_status;
18 };
19
20 extern struct cat66121_hdmi_pdata *cat66121_hdmi;
21
22 extern int cat66121_detect_device(void);
23 extern int cat66121_hdmi_sys_init(struct hdmi *hdmi_drv);
24 extern void cat66121_hdmi_interrupt(struct hdmi *hdmi_drv);
25 extern int cat66121_hdmi_sys_detect_hpd(struct hdmi *hdmi_drv);
26 extern int cat66121_hdmi_sys_insert(struct hdmi *hdmi_drv);
27 extern int cat66121_hdmi_sys_remove(struct hdmi *hdmi_drv);
28 extern int cat66121_hdmi_sys_read_edid(struct hdmi *hdmi_drv, int block, unsigned char *buff);
29 extern int cat66121_hdmi_sys_config_video(struct hdmi *hdmi_drv, struct hdmi_video_para *vpara);
30 extern int cat66121_hdmi_sys_config_audio(struct hdmi *hdmi_drv,struct hdmi_audio *audio);
31 extern void cat66121_hdmi_sys_enalbe_output(struct hdmi *hdmi_drv, int enable);
32 extern int cat66121_hdmi_register_hdcp_callbacks(void (*hdcp_cb)(void),
33                                          void (*hdcp_irq_cb)(int status),
34                                          int (*hdcp_power_on_cb)(void),
35                                          void (*hdcp_power_off_cb)(void));
36 #endif