]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/blob - drivers/staging/media/atomisp/pci/atomisp2/css2400/css_2401_csi2p_system/pixelgen_global.h
ASoC: pcm512x: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE
[mirror_ubuntu-focal-kernel.git] / drivers / staging / media / atomisp / pci / atomisp2 / css2400 / css_2401_csi2p_system / pixelgen_global.h
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 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
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 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 */
81 typedef struct pixelgen_prbs_cfg_s pixelgen_prbs_cfg_t;
82 struct 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