blob: cf6ec055d63a1d2e58998c80ab30fef9cd87b9e0 [file] [log] [blame]
Jacek Anaszewski80529ae2013-12-18 11:04:44 -03001/* Copyright (c) 2013 Samsung Electronics Co., Ltd.
2 * http://www.samsung.com/
3 *
4 * Author: Jacek Anaszewski <j.anaszewski@samsung.com>
5 *
6 * Header file of the register interface for JPEG driver on Exynos4x12.
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 JPEG_HW_EXYNOS4_H_
14#define JPEG_HW_EXYNOS4_H_
15
16void exynos4_jpeg_sw_reset(void __iomem *base);
17void exynos4_jpeg_set_enc_dec_mode(void __iomem *base, unsigned int mode);
Andrzej Pietrasiewicz6c96dbb2015-09-18 11:20:58 -030018void __exynos4_jpeg_set_img_fmt(void __iomem *base, unsigned int img_fmt,
19 unsigned int version);
20void __exynos4_jpeg_set_enc_out_fmt(void __iomem *base, unsigned int out_fmt,
21 unsigned int version);
Jacek Anaszewski80529ae2013-12-18 11:04:44 -030022void exynos4_jpeg_set_enc_tbl(void __iomem *base);
Andrzej Pietrasiewicz6c96dbb2015-09-18 11:20:58 -030023void exynos4_jpeg_set_interrupt(void __iomem *base, unsigned int version);
Jacek Anaszewski80529ae2013-12-18 11:04:44 -030024unsigned int exynos4_jpeg_get_int_status(void __iomem *base);
25void exynos4_jpeg_set_huf_table_enable(void __iomem *base, int value);
26void exynos4_jpeg_set_sys_int_enable(void __iomem *base, int value);
27void exynos4_jpeg_set_stream_buf_address(void __iomem *base,
28 unsigned int address);
29void exynos4_jpeg_set_stream_size(void __iomem *base,
30 unsigned int x_value, unsigned int y_value);
31void exynos4_jpeg_set_frame_buf_address(void __iomem *base,
32 struct s5p_jpeg_addr *jpeg_addr);
33void exynos4_jpeg_set_encode_tbl_select(void __iomem *base,
34 enum exynos4_jpeg_img_quality_level level);
Andrzej Pietrasiewicz6c96dbb2015-09-18 11:20:58 -030035void exynos4_jpeg_set_dec_components(void __iomem *base, int n);
36void exynos4_jpeg_select_dec_q_tbl(void __iomem *base, char c, char x);
37void exynos4_jpeg_select_dec_h_tbl(void __iomem *base, char c, char x);
Jacek Anaszewski80529ae2013-12-18 11:04:44 -030038void exynos4_jpeg_set_encode_hoff_cnt(void __iomem *base, unsigned int fmt);
39void exynos4_jpeg_set_dec_bitstream_size(void __iomem *base, unsigned int size);
40unsigned int exynos4_jpeg_get_stream_size(void __iomem *base);
41void exynos4_jpeg_get_frame_size(void __iomem *base,
42 unsigned int *width, unsigned int *height);
43unsigned int exynos4_jpeg_get_frame_fmt(void __iomem *base);
44unsigned int exynos4_jpeg_get_fifo_status(void __iomem *base);
45void exynos4_jpeg_set_timer_count(void __iomem *base, unsigned int size);
46
47#endif /* JPEG_HW_EXYNOS4_H_ */