aboutsummaryrefslogtreecommitdiffstats
path: root/include/video
diff options
context:
space:
mode:
authorMuralidhar Dixit <murali.dixit@ti.com>2012-05-10 15:53:54 +0530
committerDmytro Kedrovskyi <x0169235@ti.com>2012-05-17 19:56:28 +0300
commit0e0ee86260aacab9c98dd65fa420a50938e79d20 (patch)
treea9ff0f9aa87727792cffcd30723617daecc4a774 /include/video
parent1b65ded795e4879c6562778882e6b083c8a6cc72 (diff)
downloadkernel_samsung_espresso10-0e0ee86260aacab9c98dd65fa420a50938e79d20.zip
kernel_samsung_espresso10-0e0ee86260aacab9c98dd65fa420a50938e79d20.tar.gz
kernel_samsung_espresso10-0e0ee86260aacab9c98dd65fa420a50938e79d20.tar.bz2
OMAPDSS: CEC: Adding support for CEC in HDMI driver
Adding support for CEC functionality in OMAP4 HDMI IP specific file Change-Id: I333e8ae484e0e56e0c597bca754f0276614d90ee Signed-off-by: Muralidhar Dixit <murali.dixit@ti.com>
Diffstat (limited to 'include/video')
-rw-r--r--include/video/hdmi_ti_4xxx_ip.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/include/video/hdmi_ti_4xxx_ip.h b/include/video/hdmi_ti_4xxx_ip.h
index cbdaf36..0c8b275 100644
--- a/include/video/hdmi_ti_4xxx_ip.h
+++ b/include/video/hdmi_ti_4xxx_ip.h
@@ -56,6 +56,7 @@ struct hdmi_ip_data {
unsigned long hdmi_core_av_offset;
unsigned long hdmi_pll_offset;
unsigned long hdmi_phy_offset;
+ unsigned long hdmi_cec_offset;
};
struct hdmi_video_timings {
@@ -382,6 +383,29 @@ enum hdmi_aksv_err {
HDMI_AKSV_ERROR = 1,
HDMI_AKSV_VALID = 2
};
+struct cec_dev {
+ int device_id;
+ int clear_existing_device;
+ int phy_addr;
+};
+
+struct cec_tx_data {
+ char dest_device_id;
+ char initiator_device_id;
+ char send_ping;
+ char retry_count;
+ char tx_cmd;
+ char tx_count;
+ char tx_operand[15];
+};
+struct cec_rx_data {
+ char init_device_id;
+ char dest_device_id;
+ char rx_cmd;
+ char rx_count;
+ char rx_operand[15];
+};
+
int hdmi_ti_4xxx_phy_init(struct hdmi_ip_data *ip_data);
void hdmi_ti_4xxx_phy_off(struct hdmi_ip_data *ip_data,
@@ -416,4 +440,20 @@ int hdmi_ti_4xxx_set_wait_soft_reset(struct hdmi_ip_data *ip_data);
int hdmi_ti_4xx_check_aksv_data(struct hdmi_ip_data *ip_data);
void hdmi_core_vsi_config(struct hdmi_ip_data *ip_data,
struct hdmi_core_vendor_specific_infoframe *config);
+int hdmi_ti_4xx_cec_get_rx_cmd(struct hdmi_ip_data *ip_data,
+ char *rx_cmd);
+int hdmi_ti_4xx_cec_read_rx_cmd(struct hdmi_ip_data *ip_data,
+ struct cec_rx_data *rx_data);
+int hdmi_ti_4xx_cec_transmit_cmd(struct hdmi_ip_data *ip_data,
+ struct cec_tx_data *data, int *cmd_acked);
+int hdmi_ti_4xxx_power_on_cec(struct hdmi_ip_data *ip_data);
+int hdmi_ti_4xxx_cec_get_rx_int(struct hdmi_ip_data *ip_data);
+int hdmi_ti_4xxx_cec_clr_rx_int(struct hdmi_ip_data *ip_data, int cec_rx);
+int hdmi_ti_4xxx_cec_get_listening_mask(struct hdmi_ip_data *ip_data);
+int hdmi_ti_4xxx_cec_add_listening_device(struct hdmi_ip_data *ip_data,
+ int device_id, int clear);
+int hdmi_ti_4xxx_cec_set_listening_mask(struct hdmi_ip_data *ip_data,
+ int mask);
+
+
#endif