1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 /*
3  * Xilinx Controls Header
4  *
5  * Copyright (C) 2013-2015 Ideas on Board
6  * Copyright (C) 2013-2015 Xilinx, Inc.
7  *
8  * Contacts: Hyun Kwon <hyun.kwon@xilinx.com>
9  *           Laurent Pinchart <laurent.pinchart@ideasonboard.com>
10  *
11  * This software is licensed under the terms of the GNU General Public
12  * License version 2, as published by the Free Software Foundation, and
13  * may be copied, distributed, and modified under those terms.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU General Public License for more details.
19  */
20 
21 #ifndef __UAPI_XILINX_V4L2_CONTROLS_H__
22 #define __UAPI_XILINX_V4L2_CONTROLS_H__
23 
24 #include <linux/v4l2-controls.h>
25 
26 #define V4L2_CID_XILINX_OFFSET	0xc000
27 #define V4L2_CID_XILINX_BASE	(V4L2_CID_USER_BASE + V4L2_CID_XILINX_OFFSET)
28 
29 /*
30  * Private Controls for Xilinx Video IPs
31  */
32 
33 /*
34  * Xilinx TPG Video IP
35  */
36 
37 #define V4L2_CID_XILINX_TPG			(V4L2_CID_USER_BASE + 0xc000)
38 
39 /* Draw cross hairs */
40 #define V4L2_CID_XILINX_TPG_CROSS_HAIRS		(V4L2_CID_XILINX_TPG + 1)
41 /* Enable a moving box */
42 #define V4L2_CID_XILINX_TPG_MOVING_BOX		(V4L2_CID_XILINX_TPG + 2)
43 /* Mask out a color component */
44 #define V4L2_CID_XILINX_TPG_COLOR_MASK		(V4L2_CID_XILINX_TPG + 3)
45 /* Enable a stuck pixel feature */
46 #define V4L2_CID_XILINX_TPG_STUCK_PIXEL		(V4L2_CID_XILINX_TPG + 4)
47 /* Enable a noisy output */
48 #define V4L2_CID_XILINX_TPG_NOISE		(V4L2_CID_XILINX_TPG + 5)
49 /* Enable the motion feature */
50 #define V4L2_CID_XILINX_TPG_MOTION		(V4L2_CID_XILINX_TPG + 6)
51 /* Configure the motion speed of moving patterns */
52 #define V4L2_CID_XILINX_TPG_MOTION_SPEED	(V4L2_CID_XILINX_TPG + 7)
53 /* The row of horizontal cross hair location */
54 #define V4L2_CID_XILINX_TPG_CROSS_HAIR_ROW	(V4L2_CID_XILINX_TPG + 8)
55 /* The colum of vertical cross hair location */
56 #define V4L2_CID_XILINX_TPG_CROSS_HAIR_COLUMN	(V4L2_CID_XILINX_TPG + 9)
57 /* Set starting point of sine wave for horizontal component */
58 #define V4L2_CID_XILINX_TPG_ZPLATE_HOR_START	(V4L2_CID_XILINX_TPG + 10)
59 /* Set speed of the horizontal component */
60 #define V4L2_CID_XILINX_TPG_ZPLATE_HOR_SPEED	(V4L2_CID_XILINX_TPG + 11)
61 /* Set starting point of sine wave for vertical component */
62 #define V4L2_CID_XILINX_TPG_ZPLATE_VER_START	(V4L2_CID_XILINX_TPG + 12)
63 /* Set speed of the vertical component */
64 #define V4L2_CID_XILINX_TPG_ZPLATE_VER_SPEED	(V4L2_CID_XILINX_TPG + 13)
65 /* Moving box size */
66 #define V4L2_CID_XILINX_TPG_BOX_SIZE		(V4L2_CID_XILINX_TPG + 14)
67 /* Moving box color */
68 #define V4L2_CID_XILINX_TPG_BOX_COLOR		(V4L2_CID_XILINX_TPG + 15)
69 /* Upper limit count of generated stuck pixels */
70 #define V4L2_CID_XILINX_TPG_STUCK_PIXEL_THRESH	(V4L2_CID_XILINX_TPG + 16)
71 /* Noise level */
72 #define V4L2_CID_XILINX_TPG_NOISE_GAIN		(V4L2_CID_XILINX_TPG + 17)
73 
74 #endif /* __UAPI_XILINX_V4L2_CONTROLS_H__ */
75