1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * Support for Intel Camera Imaging ISP subsystem. 4 * Copyright (c) 2015, Intel Corporation. 5 * 6 * This program is free software; you can redistribute it and/or modify it 7 * under the terms and conditions of the GNU General Public License, 8 * version 2, as published by the Free Software Foundation. 9 * 10 * This program is distributed in the hope it will be useful, but WITHOUT 11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 13 * more details. 14 */ 15 16 #ifndef _SH_CSS_LEGACY_H_ 17 #define _SH_CSS_LEGACY_H_ 18 19 #include <type_support.h> 20 #include <ia_css_err.h> 21 #include <ia_css_types.h> 22 #include <ia_css_frame_public.h> 23 #include <ia_css_pipe_public.h> 24 #include <ia_css_stream_public.h> 25 26 /* The pipe id type, distinguishes the kind of pipes that 27 * can be run in parallel. 28 */ 29 enum ia_css_pipe_id { 30 IA_CSS_PIPE_ID_PREVIEW, 31 IA_CSS_PIPE_ID_COPY, 32 IA_CSS_PIPE_ID_VIDEO, 33 IA_CSS_PIPE_ID_CAPTURE, 34 IA_CSS_PIPE_ID_YUVPP, 35 IA_CSS_PIPE_ID_NUM 36 }; 37 38 struct ia_css_pipe_extra_config { 39 bool enable_raw_binning; 40 bool enable_yuv_ds; 41 bool enable_high_speed; 42 bool enable_dvs_6axis; 43 bool enable_reduced_pipe; 44 bool enable_fractional_ds; 45 bool disable_vf_pp; 46 }; 47 48 int 49 ia_css_pipe_create_extra(const struct ia_css_pipe_config *config, 50 const struct ia_css_pipe_extra_config *extra_config, 51 struct ia_css_pipe **pipe); 52 53 void 54 ia_css_pipe_extra_config_defaults(struct ia_css_pipe_extra_config 55 *extra_config); 56 57 int 58 ia_css_temp_pipe_to_pipe_id(const struct ia_css_pipe *pipe, 59 enum ia_css_pipe_id *pipe_id); 60 61 /* DEPRECATED. FPN is not supported. */ 62 int 63 sh_css_set_black_frame(struct ia_css_stream *stream, 64 const struct ia_css_frame *raw_black_frame); 65 66 /* ISP2400 */ 67 void 68 sh_css_enable_cont_capt(bool enable, bool stop_copy_preview); 69 70 #endif /* _SH_CSS_LEGACY_H_ */ 71