1 #ifndef __RK32_HDMI_H__
2 #define __RK32_HDMI_H__
3 #include <linux/gpio.h>
4 #include <linux/regmap.h>
5 #include <linux/reset.h>
6 #ifdef CONFIG_HAS_EARLYSUSPEND
7 #include <linux/earlysuspend.h>
9 #include "../rockchip-hdmi.h"
12 #define HDMIDBG(format, ...) \
13 pr_info(format, ## __VA_ARGS__)
15 #define HDMIDBG(format, ...)
18 struct hdmi_dev_phy_para {
29 void __iomem *regbase;
30 void __iomem *phybase;
31 struct regmap *grf_base;
34 struct reset_control *reset;
42 struct dentry *debugfs_dir;
45 struct work_struct irq_work;
46 struct delayed_work delay_work;
47 struct workqueue_struct *workqueue;
49 #ifdef CONFIG_HAS_EARLYSUSPEND
50 struct early_suspend early_suspend;
56 unsigned char clk_disable;
59 unsigned long pixelclk;
61 unsigned int pixelrepeat;
62 unsigned char colordepth;
64 bool tmdsclk_ratio_change;
65 struct mutex ddc_lock; /*mutex for ddc operation */
67 void (*hdcp2_en)(int);
68 void (*hdcp2_reset)(void);
69 void (*hdcp2_start)(void);
71 struct hdmi_dev_phy_para *phy_table;
73 const char *vendor_name;
74 const char *product_name;
75 unsigned char deviceinfo;
78 void ext_pll_set_27m_out(void);
80 #endif /*__RK32_HDMI_H__*/