4 #include <linux/hdmi.h>
\r
6 #define ANX7150_I2C_ADDR0 0X39
\r
7 #define ANX7150_I2C_ADDR1 0X3d
\r
9 #define ANX7150_SCL_RATE 100 * 1000
\r
12 #define HDMI_DISABLE 0
\r
13 #define HDMI_ENABLE 1
\r
15 /* HDMI auto switch */
\r
16 #define HDMI_AUTO_SWITCH HDMI_ENABLE
\r
18 /* HDMI reciver status */
\r
19 #define HDMI_RECIVER_INACTIVE 0
\r
20 #define HDMI_RECIVER_ACTIVE 1
\r
22 /* ANX7150 reciver HPD Status */
\r
23 #define HDMI_RECIVER_UNPLUG 0
\r
24 #define HDMI_RECIVER_PLUG 1
\r
29 #define RK29_OUTPUT_STATUS_LCD LCD
\r
30 #define RK29_OUTPUT_STATUS_HDMI HDMI
\r
32 /* HDMI HDCP ENABLE */
\r
33 #define ANX7150_HDCP_EN HDMI_DISABLE
\r
35 /* HDMI default resolution */
\r
36 #define HDMI_DEFAULT_RESOLUTION HDMI_1280x720p_50Hz
\r
38 #define HDMI_I2S_Fs_44100 0
\r
39 #define HDMI_I2S_Fs_48000 2
\r
41 /* I2S default sample rate */
\r
42 #define HDMI_I2S_DEFAULT_Fs HDMI_I2S_Fs_44100
\r
44 /* ANX7150 state machine */
\r
55 HDCP_AUTHENTICATION,
\r
62 struct anx7150_dev_s{
\r
63 struct i2c_driver *i2c_driver;
\r
64 struct fasync_struct *async_queue;
\r
65 struct workqueue_struct *workqueue;
\r
66 struct delayed_work delay_work;
\r
67 struct miscdevice *mdev;
\r
68 void (*notifier_callback)(struct anx7150_dev_s *);
\r
71 int resolution_real;
\r
74 int hdmi_auto_switch;
\r
78 int rk29_output_status;
\r
80 int parameter_config;
\r
82 int fb_switch_state;
\r
87 struct anx7150_pdata {
\r
91 struct i2c_client *client;
\r
92 struct anx7150_dev_s dev;
\r
97 int anx7150_i2c_read_p0_reg(struct i2c_client *client, char reg, char *val);
\r
98 int anx7150_i2c_write_p0_reg(struct i2c_client *client, char reg, char *val);
\r
99 int anx7150_i2c_read_p1_reg(struct i2c_client *client, char reg, char *val);
\r
100 int anx7150_i2c_write_p1_reg(struct i2c_client *client, char reg, char *val);
\r