xref: /linux/drivers/media/cec/platform/s5p/exynos_hdmi_cec.h (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /* drivers/media/platform/s5p-cec/exynos_hdmi_cec.h
3  *
4  * Copyright (c) 2010, 2014 Samsung Electronics
5  *		http://www.samsung.com/
6  *
7  * Header file for interface of Samsung Exynos hdmi cec hardware
8  */
9 
10 #ifndef _EXYNOS_HDMI_CEC_H_
11 #define _EXYNOS_HDMI_CEC_H_ __FILE__
12 
13 #include <linux/regmap.h>
14 #include "s5p_cec.h"
15 
16 void s5p_cec_set_divider(struct s5p_cec_dev *cec);
17 void s5p_cec_enable_rx(struct s5p_cec_dev *cec);
18 void s5p_cec_mask_rx_interrupts(struct s5p_cec_dev *cec);
19 void s5p_cec_unmask_rx_interrupts(struct s5p_cec_dev *cec);
20 void s5p_cec_mask_tx_interrupts(struct s5p_cec_dev *cec);
21 void s5p_cec_unmask_tx_interrupts(struct s5p_cec_dev *cec);
22 void s5p_cec_reset(struct s5p_cec_dev *cec);
23 void s5p_cec_tx_reset(struct s5p_cec_dev *cec);
24 void s5p_cec_rx_reset(struct s5p_cec_dev *cec);
25 void s5p_cec_threshold(struct s5p_cec_dev *cec);
26 void s5p_cec_copy_packet(struct s5p_cec_dev *cec, char *data,
27 			 size_t count, u8 retries);
28 void s5p_cec_set_addr(struct s5p_cec_dev *cec, u32 addr);
29 u32 s5p_cec_get_status(struct s5p_cec_dev *cec);
30 void s5p_clr_pending_tx(struct s5p_cec_dev *cec);
31 void s5p_clr_pending_rx(struct s5p_cec_dev *cec);
32 void s5p_cec_get_rx_buf(struct s5p_cec_dev *cec, u32 size, u8 *buffer);
33 
34 #endif /* _EXYNOS_HDMI_CEC_H_ */
35