linux/drivers/staging/media/atomisp/pci/atomisp2/css2400/css_2401_csi2p_system/pixelgen_global.h
<<
>>
Prefs
   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