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 */ 26typedef struct sync_generator_cfg_s sync_generator_cfg_t; 27struct sync_generator_cfg_s { 28 uint32_t hblank_cycles; 29 uint32_t vblank_cycles; 30 uint32_t pixels_per_clock; 31 uint32_t nr_of_frames; 32 uint32_t pixels_per_line; 33 uint32_t lines_per_frame; 34}; 35 36typedef 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 */ 47typedef struct pixelgen_tpg_cfg_s pixelgen_tpg_cfg_t; 48struct pixelgen_tpg_cfg_s { 49 pixelgen_tpg_mode_t mode; /* CHBO, MONO */ 50 51 struct { 52 /* be used by CHBO and MON */ 53 uint32_t R1; 54 uint32_t G1; 55 uint32_t B1; 56 57 /* be used by CHBO only */ 58 uint32_t R2; 59 uint32_t G2; 60 uint32_t B2; 61 } color_cfg; 62 63 struct { 64 uint32_t h_mask; /* horizontal mask */ 65 uint32_t v_mask; /* vertical mask */ 66 uint32_t hv_mask; /* horizontal+vertical mask? */ 67 } mask_cfg; 68 69 struct { 70 int32_t h_delta; /* horizontal delta? */ 71 int32_t 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 */ 81typedef struct pixelgen_prbs_cfg_s pixelgen_prbs_cfg_t; 82struct pixelgen_prbs_cfg_s { 83 int32_t seed0; 84 int32_t 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 92