125981136fb13bcacf5f475f3e0ec750341e1e671Christopher Ferris/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 212e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris/* 312e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris * Xilinx Controls Header 412e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris * 512e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris * Copyright (C) 2013-2015 Ideas on Board 612e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris * Copyright (C) 2013-2015 Xilinx, Inc. 712e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris * 812e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris * Contacts: Hyun Kwon <hyun.kwon@xilinx.com> 912e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris * Laurent Pinchart <laurent.pinchart@ideasonboard.com> 1012e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris * 1112e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris * This software is licensed under the terms of the GNU General Public 1212e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris * License version 2, as published by the Free Software Foundation, and 1312e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris * may be copied, distributed, and modified under those terms. 1412e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris * 1512e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris * This program is distributed in the hope that it will be useful, 1612e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris * but WITHOUT ANY WARRANTY; without even the implied warranty of 1712e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1812e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris * GNU General Public License for more details. 1912e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris */ 2012e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris 2112e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris#ifndef __UAPI_XILINX_V4L2_CONTROLS_H__ 2212e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris#define __UAPI_XILINX_V4L2_CONTROLS_H__ 2312e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris 2412e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris#include <linux/v4l2-controls.h> 2512e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris 2612e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris#define V4L2_CID_XILINX_OFFSET 0xc000 2712e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris#define V4L2_CID_XILINX_BASE (V4L2_CID_USER_BASE + V4L2_CID_XILINX_OFFSET) 2812e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris 2912e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris/* 3012e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris * Private Controls for Xilinx Video IPs 3112e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris */ 3212e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris 3312e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris/* 3412e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris * Xilinx TPG Video IP 3512e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris */ 3612e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris 3712e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris#define V4L2_CID_XILINX_TPG (V4L2_CID_USER_BASE + 0xc000) 3812e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris 3912e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris/* Draw cross hairs */ 4012e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris#define V4L2_CID_XILINX_TPG_CROSS_HAIRS (V4L2_CID_XILINX_TPG + 1) 4112e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris/* Enable a moving box */ 4212e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris#define V4L2_CID_XILINX_TPG_MOVING_BOX (V4L2_CID_XILINX_TPG + 2) 4312e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris/* Mask out a color component */ 4412e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris#define V4L2_CID_XILINX_TPG_COLOR_MASK (V4L2_CID_XILINX_TPG + 3) 4512e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris/* Enable a stuck pixel feature */ 4612e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris#define V4L2_CID_XILINX_TPG_STUCK_PIXEL (V4L2_CID_XILINX_TPG + 4) 4712e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris/* Enable a noisy output */ 4812e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris#define V4L2_CID_XILINX_TPG_NOISE (V4L2_CID_XILINX_TPG + 5) 4912e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris/* Enable the motion feature */ 5012e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris#define V4L2_CID_XILINX_TPG_MOTION (V4L2_CID_XILINX_TPG + 6) 5112e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris/* Configure the motion speed of moving patterns */ 5212e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris#define V4L2_CID_XILINX_TPG_MOTION_SPEED (V4L2_CID_XILINX_TPG + 7) 5312e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris/* The row of horizontal cross hair location */ 5412e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris#define V4L2_CID_XILINX_TPG_CROSS_HAIR_ROW (V4L2_CID_XILINX_TPG + 8) 5512e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris/* The colum of vertical cross hair location */ 5612e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris#define V4L2_CID_XILINX_TPG_CROSS_HAIR_COLUMN (V4L2_CID_XILINX_TPG + 9) 5712e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris/* Set starting point of sine wave for horizontal component */ 5812e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris#define V4L2_CID_XILINX_TPG_ZPLATE_HOR_START (V4L2_CID_XILINX_TPG + 10) 5912e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris/* Set speed of the horizontal component */ 6012e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris#define V4L2_CID_XILINX_TPG_ZPLATE_HOR_SPEED (V4L2_CID_XILINX_TPG + 11) 6112e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris/* Set starting point of sine wave for vertical component */ 6212e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris#define V4L2_CID_XILINX_TPG_ZPLATE_VER_START (V4L2_CID_XILINX_TPG + 12) 6312e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris/* Set speed of the vertical component */ 6412e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris#define V4L2_CID_XILINX_TPG_ZPLATE_VER_SPEED (V4L2_CID_XILINX_TPG + 13) 6512e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris/* Moving box size */ 6612e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris#define V4L2_CID_XILINX_TPG_BOX_SIZE (V4L2_CID_XILINX_TPG + 14) 6712e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris/* Moving box color */ 6812e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris#define V4L2_CID_XILINX_TPG_BOX_COLOR (V4L2_CID_XILINX_TPG + 15) 6912e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris/* Upper limit count of generated stuck pixels */ 7012e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris#define V4L2_CID_XILINX_TPG_STUCK_PIXEL_THRESH (V4L2_CID_XILINX_TPG + 16) 7112e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris/* Noise level */ 7212e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris#define V4L2_CID_XILINX_TPG_NOISE_GAIN (V4L2_CID_XILINX_TPG + 17) 7312e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris 7412e1f28cce28271eb109a5bae818a804f0c3bb27Christopher Ferris#endif /* __UAPI_XILINX_V4L2_CONTROLS_H__ */ 75