1 /* 2 * Support for Intel Camera Imaging ISP subsystem. 3 * Copyright (c) 2015, Intel Corporation. 4 * 5 * This program is free software; you can redistribute it and/or modify it 6 * under the terms and conditions of the GNU General Public License, 7 * version 2, as published by the Free Software Foundation. 8 * 9 * This program is distributed in the hope it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 * more details. 13 */ 14 15 #ifndef __PIXELGEN_GLOBAL_H_INCLUDED__ 16 #define __PIXELGEN_GLOBAL_H_INCLUDED__ 17 18 #include <type_support.h> 19 20 /** 21 * Pixel-generator. ("pixelgen_global.h") 22 */ 23 /* 24 * Duplicates "sync_generator_cfg_t" in "input_system_global.h". 25 */ 26 typedef struct sync_generator_cfg_s sync_generator_cfg_t; 27 struct sync_generator_cfg_s { 28 u32 hblank_cycles; 29 u32 vblank_cycles; 30 u32 pixels_per_clock; 31 u32 nr_of_frames; 32 u32 pixels_per_line; 33 u32 lines_per_frame; 34 }; 35 36 typedef enum { 37 PIXELGEN_TPG_MODE_RAMP = 0, 38 PIXELGEN_TPG_MODE_CHBO, 39 PIXELGEN_TPG_MODE_MONO, 40 N_PIXELGEN_TPG_MODE 41 } pixelgen_tpg_mode_t; 42 43 /* 44 * "pixelgen_tpg_cfg_t" duplicates parts of 45 * "tpg_cfg_t" in "input_system_global.h". 46 */ 47 typedef struct pixelgen_tpg_cfg_s pixelgen_tpg_cfg_t; 48 struct pixelgen_tpg_cfg_s { 49 pixelgen_tpg_mode_t mode; /* CHBO, MONO */ 50 51 struct { 52 /* be used by CHBO and MON */ 53 u32 R1; 54 u32 G1; 55 u32 B1; 56 57 /* be used by CHBO only */ 58 u32 R2; 59 u32 G2; 60 u32 B2; 61 } color_cfg; 62 63 struct { 64 u32 h_mask; /* horizontal mask */ 65 u32 v_mask; /* vertical mask */ 66 u32 hv_mask; /* horizontal+vertical mask? */ 67 } mask_cfg; 68 69 struct { 70 s32 h_delta; /* horizontal delta? */ 71 s32 v_delta; /* vertical delta? */ 72 } delta_cfg; 73 74 sync_generator_cfg_t sync_gen_cfg; 75 }; 76 77 /* 78 * "pixelgen_prbs_cfg_t" duplicates parts of 79 * prbs_cfg_t" in "input_system_global.h". 80 */ 81 typedef struct pixelgen_prbs_cfg_s pixelgen_prbs_cfg_t; 82 struct pixelgen_prbs_cfg_s { 83 s32 seed0; 84 s32 seed1; 85 86 sync_generator_cfg_t sync_gen_cfg; 87 }; 88 89 /* end of Pixel-generator: TPG. ("pixelgen_global.h") */ 90 #endif /* __PIXELGEN_GLOBAL_H_INCLUDED__ */ 91