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
16void s5p_cec_set_divider(struct s5p_cec_dev *cec);
17void s5p_cec_enable_rx(struct s5p_cec_dev *cec);
18void s5p_cec_mask_rx_interrupts(struct s5p_cec_dev *cec);
19void s5p_cec_unmask_rx_interrupts(struct s5p_cec_dev *cec);
20void s5p_cec_mask_tx_interrupts(struct s5p_cec_dev *cec);
21void s5p_cec_unmask_tx_interrupts(struct s5p_cec_dev *cec);
22void s5p_cec_reset(struct s5p_cec_dev *cec);
23void s5p_cec_tx_reset(struct s5p_cec_dev *cec);
24void s5p_cec_rx_reset(struct s5p_cec_dev *cec);
25void s5p_cec_threshold(struct s5p_cec_dev *cec);
26void s5p_cec_copy_packet(struct s5p_cec_dev *cec, char *data,
27			 size_t count, u8 retries);
28void s5p_cec_set_addr(struct s5p_cec_dev *cec, u32 addr);
29u32 s5p_cec_get_status(struct s5p_cec_dev *cec);
30void s5p_clr_pending_tx(struct s5p_cec_dev *cec);
31void s5p_clr_pending_rx(struct s5p_cec_dev *cec);
32void s5p_cec_get_rx_buf(struct s5p_cec_dev *cec, u32 size, u8 *buffer);
33
34#endif /* _EXYNOS_HDMI_CEC_H_ */
35