1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * Support for Intel Camera Imaging ISP subsystem. 4 * Copyright (c) 2015, Intel Corporation. 5 */ 6 7 #ifndef __IA_CSS_OB_TYPES_H 8 #define __IA_CSS_OB_TYPES_H 9 10 /* @file 11 * CSS-API header file for Optical Black level parameters. 12 */ 13 14 #include "ia_css_frac.h" 15 16 /* Optical black mode. 17 */ 18 enum ia_css_ob_mode { 19 IA_CSS_OB_MODE_NONE, /** OB has no effect. */ 20 IA_CSS_OB_MODE_FIXED, /** Fixed OB */ 21 IA_CSS_OB_MODE_RASTER /** Raster OB */ 22 }; 23 24 /* Optical Black level configuration. 25 * 26 * ISP block: OB1 27 * ISP1: OB1 is used. 28 * ISP2: OB1 is used. 29 */ 30 struct ia_css_ob_config { 31 enum ia_css_ob_mode mode; /** Mode (None / Fixed / Raster). 32 enum, [0,2], 33 default 1, ineffective 0 */ 34 ia_css_u0_16 level_gr; /** Black level for GR pixels 35 (used for Fixed Mode only). 36 u0.16, [0,65535], 37 default/ineffective 0 */ 38 ia_css_u0_16 level_r; /** Black level for R pixels 39 (used for Fixed Mode only). 40 u0.16, [0,65535], 41 default/ineffective 0 */ 42 ia_css_u0_16 level_b; /** Black level for B pixels 43 (used for Fixed Mode only). 44 u0.16, [0,65535], 45 default/ineffective 0 */ 46 ia_css_u0_16 level_gb; /** Black level for GB pixels 47 (used for Fixed Mode only). 48 u0.16, [0,65535], 49 default/ineffective 0 */ 50 u16 start_position; /** Start position of OB area 51 (used for Raster Mode only). 52 u16.0, [0,63], 53 default/ineffective 0 */ 54 u16 end_position; /** End position of OB area 55 (used for Raster Mode only). 56 u16.0, [0,63], 57 default/ineffective 0 */ 58 }; 59 60 #endif /* __IA_CSS_OB_TYPES_H */ 61