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