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