18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */
28c2ecf20Sopenharmony_ci/* Copyright (c) 2013 Samsung Electronics Co., Ltd.
38c2ecf20Sopenharmony_ci *		http://www.samsung.com/
48c2ecf20Sopenharmony_ci *
58c2ecf20Sopenharmony_ci * Author: Jacek Anaszewski <j.anaszewski@samsung.com>
68c2ecf20Sopenharmony_ci *
78c2ecf20Sopenharmony_ci * Header file of the register interface for JPEG driver on Exynos4x12.
88c2ecf20Sopenharmony_ci*/
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ci#ifndef JPEG_HW_EXYNOS4_H_
118c2ecf20Sopenharmony_ci#define JPEG_HW_EXYNOS4_H_
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_civoid exynos4_jpeg_sw_reset(void __iomem *base);
148c2ecf20Sopenharmony_civoid exynos4_jpeg_set_enc_dec_mode(void __iomem *base, unsigned int mode);
158c2ecf20Sopenharmony_civoid __exynos4_jpeg_set_img_fmt(void __iomem *base, unsigned int img_fmt,
168c2ecf20Sopenharmony_ci				unsigned int version);
178c2ecf20Sopenharmony_civoid __exynos4_jpeg_set_enc_out_fmt(void __iomem *base, unsigned int out_fmt,
188c2ecf20Sopenharmony_ci				    unsigned int version);
198c2ecf20Sopenharmony_civoid exynos4_jpeg_set_enc_tbl(void __iomem *base);
208c2ecf20Sopenharmony_civoid exynos4_jpeg_set_interrupt(void __iomem *base, unsigned int version);
218c2ecf20Sopenharmony_ciunsigned int exynos4_jpeg_get_int_status(void __iomem *base);
228c2ecf20Sopenharmony_civoid exynos4_jpeg_set_huf_table_enable(void __iomem *base, int value);
238c2ecf20Sopenharmony_civoid exynos4_jpeg_set_sys_int_enable(void __iomem *base, int value);
248c2ecf20Sopenharmony_civoid exynos4_jpeg_set_stream_buf_address(void __iomem *base,
258c2ecf20Sopenharmony_ci					 unsigned int address);
268c2ecf20Sopenharmony_civoid exynos4_jpeg_set_stream_size(void __iomem *base,
278c2ecf20Sopenharmony_ci		unsigned int x_value, unsigned int y_value);
288c2ecf20Sopenharmony_civoid exynos4_jpeg_set_frame_buf_address(void __iomem *base,
298c2ecf20Sopenharmony_ci				struct s5p_jpeg_addr *jpeg_addr);
308c2ecf20Sopenharmony_civoid exynos4_jpeg_set_encode_tbl_select(void __iomem *base,
318c2ecf20Sopenharmony_ci		enum exynos4_jpeg_img_quality_level level);
328c2ecf20Sopenharmony_civoid exynos4_jpeg_set_dec_components(void __iomem *base, int n);
338c2ecf20Sopenharmony_civoid exynos4_jpeg_select_dec_q_tbl(void __iomem *base, char c, char x);
348c2ecf20Sopenharmony_civoid exynos4_jpeg_select_dec_h_tbl(void __iomem *base, char c, char x);
358c2ecf20Sopenharmony_civoid exynos4_jpeg_set_encode_hoff_cnt(void __iomem *base, unsigned int fmt);
368c2ecf20Sopenharmony_civoid exynos4_jpeg_set_dec_bitstream_size(void __iomem *base, unsigned int size);
378c2ecf20Sopenharmony_ciunsigned int exynos4_jpeg_get_stream_size(void __iomem *base);
388c2ecf20Sopenharmony_civoid exynos4_jpeg_get_frame_size(void __iomem *base,
398c2ecf20Sopenharmony_ci			unsigned int *width, unsigned int *height);
408c2ecf20Sopenharmony_ciunsigned int exynos4_jpeg_get_frame_fmt(void __iomem *base);
418c2ecf20Sopenharmony_ciunsigned int exynos4_jpeg_get_fifo_status(void __iomem *base);
428c2ecf20Sopenharmony_civoid exynos4_jpeg_set_timer_count(void __iomem *base, unsigned int size);
438c2ecf20Sopenharmony_ci
448c2ecf20Sopenharmony_ci#endif /* JPEG_HW_EXYNOS4_H_ */
45