1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Support for Medifield PNW Camera Imaging ISP subsystem.
4  *
5  * Copyright (c) 2010 Intel Corporation. All Rights Reserved.
6  *
7  * Copyright (c) 2010 Silicon Hive www.siliconhive.com.
8  *
9  * This program is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU General Public License version
11  * 2 as published by the Free Software Foundation.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  * GNU General Public License for more details.
17  *
18  *
19  */
20 
21 #ifndef	__ATOMISP_COMMON_H__
22 #define	__ATOMISP_COMMON_H__
23 
24 #include "../../include/linux/atomisp.h"
25 
26 #include <linux/v4l2-mediabus.h>
27 
28 #include <media/videobuf-core.h>
29 
30 #include "atomisp_compat.h"
31 
32 #include "ia_css.h"
33 
34 extern int dbg_level;
35 extern int dbg_func;
36 extern int mipicsi_flag;
37 extern int pad_w;
38 extern int pad_h;
39 
40 #define CSS_DTRACE_VERBOSITY_LEVEL	5	/* Controls trace verbosity */
41 #define CSS_DTRACE_VERBOSITY_TIMEOUT	9	/* Verbosity on ISP timeout */
42 #define MRFLD_MAX_ZOOM_FACTOR	1024
43 
44 /* ISP2401 */
45 #define ATOMISP_CSS_ISP_PIPE_VERSION_2_7    1
46 
47 struct atomisp_format_bridge {
48 	unsigned int pixelformat;
49 	unsigned int depth;
50 	u32 mbus_code;
51 	enum ia_css_frame_format sh_fmt;
52 	unsigned char description[32];	/* the same as struct v4l2_fmtdesc */
53 	bool planar;
54 };
55 
56 struct atomisp_fmt {
57 	u32 pixelformat;
58 	u32 depth;
59 	u32 bytesperline;
60 	u32 framesize;
61 	u32 imagesize;
62 	u32 width;
63 	u32 height;
64 	u32 bayer_order;
65 };
66 
67 struct atomisp_buffer {
68 	struct videobuf_buffer	vb;
69 };
70 
71 #endif
72