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 __PIXELGEN_GLOBAL_H_INCLUDED__ 8 #define __PIXELGEN_GLOBAL_H_INCLUDED__ 9 10 #include <type_support.h> 11 12 /** 13 * Pixel-generator. ("pixelgen_global.h") 14 */ 15 /* 16 * Duplicates "sync_generator_cfg_t" in "input_system_global.h". 17 */ 18 typedef struct isp2401_sync_generator_cfg_s isp2401_sync_generator_cfg_t; 19 struct isp2401_sync_generator_cfg_s { 20 u32 hblank_cycles; 21 u32 vblank_cycles; 22 u32 pixels_per_clock; 23 u32 nr_of_frames; 24 u32 pixels_per_line; 25 u32 lines_per_frame; 26 }; 27 28 typedef enum { 29 PIXELGEN_TPG_MODE_RAMP = 0, 30 PIXELGEN_TPG_MODE_CHBO, 31 PIXELGEN_TPG_MODE_MONO, 32 N_PIXELGEN_TPG_MODE 33 } pixelgen_tpg_mode_t; 34 35 /* 36 * "pixelgen_tpg_cfg_t" duplicates parts of 37 * "tpg_cfg_t" in "input_system_global.h". 38 */ 39 typedef struct pixelgen_tpg_cfg_s pixelgen_tpg_cfg_t; 40 struct pixelgen_tpg_cfg_s { 41 pixelgen_tpg_mode_t mode; /* CHBO, MONO */ 42 43 struct { 44 /* be used by CHBO and MON */ 45 u32 R1; 46 u32 G1; 47 u32 B1; 48 49 /* be used by CHBO only */ 50 u32 R2; 51 u32 G2; 52 u32 B2; 53 } color_cfg; 54 55 struct { 56 u32 h_mask; /* horizontal mask */ 57 u32 v_mask; /* vertical mask */ 58 u32 hv_mask; /* horizontal+vertical mask? */ 59 } mask_cfg; 60 61 struct { 62 s32 h_delta; /* horizontal delta? */ 63 s32 v_delta; /* vertical delta? */ 64 } delta_cfg; 65 66 isp2401_sync_generator_cfg_t sync_gen_cfg; 67 }; 68 69 /* 70 * "pixelgen_prbs_cfg_t" duplicates parts of 71 * prbs_cfg_t" in "input_system_global.h". 72 */ 73 typedef struct pixelgen_prbs_cfg_s pixelgen_prbs_cfg_t; 74 struct pixelgen_prbs_cfg_s { 75 s32 seed0; 76 s32 seed1; 77 78 isp2401_sync_generator_cfg_t sync_gen_cfg; 79 }; 80 81 /* end of Pixel-generator: TPG. ("pixelgen_global.h") */ 82 #endif /* __PIXELGEN_GLOBAL_H_INCLUDED__ */ 83