GNU Linux-libre 4.9.333-gnu1
[releases.git] / drivers / staging / media / s5p-cec / exynos_hdmi_cec.h
1 /* drivers/media/platform/s5p-cec/exynos_hdmi_cec.h
2  *
3  * Copyright (c) 2010, 2014 Samsung Electronics
4  *              http://www.samsung.com/
5  *
6  * Header file for interface of Samsung Exynos hdmi cec hardware
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License version 2 as
10  * published by the Free Software Foundation.
11  */
12
13 #ifndef _EXYNOS_HDMI_CEC_H_
14 #define _EXYNOS_HDMI_CEC_H_ __FILE__
15
16 #include <linux/regmap.h>
17 #include <linux/miscdevice.h>
18 #include "s5p_cec.h"
19
20 void s5p_cec_set_divider(struct s5p_cec_dev *cec);
21 void s5p_cec_enable_rx(struct s5p_cec_dev *cec);
22 void s5p_cec_mask_rx_interrupts(struct s5p_cec_dev *cec);
23 void s5p_cec_unmask_rx_interrupts(struct s5p_cec_dev *cec);
24 void s5p_cec_mask_tx_interrupts(struct s5p_cec_dev *cec);
25 void s5p_cec_unmask_tx_interrupts(struct s5p_cec_dev *cec);
26 void s5p_cec_reset(struct s5p_cec_dev *cec);
27 void s5p_cec_tx_reset(struct s5p_cec_dev *cec);
28 void s5p_cec_rx_reset(struct s5p_cec_dev *cec);
29 void s5p_cec_threshold(struct s5p_cec_dev *cec);
30 void s5p_cec_copy_packet(struct s5p_cec_dev *cec, char *data,
31                          size_t count, u8 retries);
32 void s5p_cec_set_addr(struct s5p_cec_dev *cec, u32 addr);
33 u32 s5p_cec_get_status(struct s5p_cec_dev *cec);
34 void s5p_clr_pending_tx(struct s5p_cec_dev *cec);
35 void s5p_clr_pending_rx(struct s5p_cec_dev *cec);
36 void s5p_cec_get_rx_buf(struct s5p_cec_dev *cec, u32 size, u8 *buffer);
37
38 #endif /* _EXYNOS_HDMI_CEC_H_ */