Merge tag 'media/v3.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
Pull media updates from Mauro Carvalho Chehab: - Some documentation updates and a few new pixel formats - Stop btcx-risc abuse by cx88 and move it to bt8xx driver - New platform driver: am437x - New webcam driver: toptek - New remote controller hardware protocols added to img-ir driver - Removal of a few very old drivers that relies on old kABIs and are for very hard to find hardware: parallel port webcam drivers (bw-qcam, c-cam, pms and w9966), tlg2300, Video In/Out for SGI (vino) - Removal of the USB Telegent driver (tlg2300). The company that developed this driver has long gone and the hardware is hard to find. As it relies on a legacy set of kABI symbols and nobody seems to care about it, remove it. - several improvements at rtl2832 driver - conversion on cx28521 and au0828 to use videobuf2 (VB2) - several improvements, fixups and board additions * tag 'media/v3.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (321 commits) [media] dvb_net: Convert local hex dump to print_hex_dump_debug [media] dvb_net: Use standard debugging facilities [media] dvb_net: Use vsprintf %pM extension to print Ethernet addresses [media] staging: lirc_serial: adjust boolean assignments [media] stb0899: use sign_extend32() for sign extension [media] si2168: add support for 1.7MHz bandwidth [media] si2168: return error if set_frontend is called with invalid parameters [media] lirc_dev: avoid potential null-dereference [media] mn88472: simplify bandwidth registers setting code [media] dvb: tc90522: re-add symbol-rate report [media] lmedm04: add read snr, signal strength and ber call backs [media] lmedm04: Create frontend call back for read status [media] lmedm04: create frontend callbacks for signal/snr/ber/ucblocks [media] lmedm04: Fix usb_submit_urb BOGUS urb xfer, pipe 1 != type 3 in interrupt urb [media] lmedm04: Increase Interupt due time to 200 msec [media] cx88-dvb: whitespace cleanup [media] rtl28xxu: properly initialize pdata [media] rtl2832: declare functions as static [media] rtl2830: declare functions as static [media] rtl2832_sdr: add kernel-doc comments for platform_data ...
This commit is contained in:
@@ -35,6 +35,7 @@ header-y += adfs_fs.h
|
||||
header-y += affs_hardblocks.h
|
||||
header-y += agpgart.h
|
||||
header-y += aio_abi.h
|
||||
header-y += am437x-vpfe.h
|
||||
header-y += apm_bios.h
|
||||
header-y += arcfb.h
|
||||
header-y += atalk.h
|
||||
|
122
include/uapi/linux/am437x-vpfe.h
Normal file
122
include/uapi/linux/am437x-vpfe.h
Normal file
@@ -0,0 +1,122 @@
|
||||
/*
|
||||
* Copyright (C) 2013 - 2014 Texas Instruments, Inc.
|
||||
*
|
||||
* Benoit Parrot <bparrot@ti.com>
|
||||
* Lad, Prabhakar <prabhakar.csengg@gmail.com>
|
||||
*
|
||||
* This program is free software; you may redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; version 2 of the License.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
|
||||
* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
||||
* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef AM437X_VPFE_USER_H
|
||||
#define AM437X_VPFE_USER_H
|
||||
|
||||
enum vpfe_ccdc_data_size {
|
||||
VPFE_CCDC_DATA_16BITS = 0,
|
||||
VPFE_CCDC_DATA_15BITS,
|
||||
VPFE_CCDC_DATA_14BITS,
|
||||
VPFE_CCDC_DATA_13BITS,
|
||||
VPFE_CCDC_DATA_12BITS,
|
||||
VPFE_CCDC_DATA_11BITS,
|
||||
VPFE_CCDC_DATA_10BITS,
|
||||
VPFE_CCDC_DATA_8BITS,
|
||||
};
|
||||
|
||||
/* enum for No of pixel per line to be avg. in Black Clamping*/
|
||||
enum vpfe_ccdc_sample_length {
|
||||
VPFE_CCDC_SAMPLE_1PIXELS = 0,
|
||||
VPFE_CCDC_SAMPLE_2PIXELS,
|
||||
VPFE_CCDC_SAMPLE_4PIXELS,
|
||||
VPFE_CCDC_SAMPLE_8PIXELS,
|
||||
VPFE_CCDC_SAMPLE_16PIXELS,
|
||||
};
|
||||
|
||||
/* enum for No of lines in Black Clamping */
|
||||
enum vpfe_ccdc_sample_line {
|
||||
VPFE_CCDC_SAMPLE_1LINES = 0,
|
||||
VPFE_CCDC_SAMPLE_2LINES,
|
||||
VPFE_CCDC_SAMPLE_4LINES,
|
||||
VPFE_CCDC_SAMPLE_8LINES,
|
||||
VPFE_CCDC_SAMPLE_16LINES,
|
||||
};
|
||||
|
||||
/* enum for Alaw gamma width */
|
||||
enum vpfe_ccdc_gamma_width {
|
||||
VPFE_CCDC_GAMMA_BITS_15_6 = 0, /* use bits 15-6 for gamma */
|
||||
VPFE_CCDC_GAMMA_BITS_14_5,
|
||||
VPFE_CCDC_GAMMA_BITS_13_4,
|
||||
VPFE_CCDC_GAMMA_BITS_12_3,
|
||||
VPFE_CCDC_GAMMA_BITS_11_2,
|
||||
VPFE_CCDC_GAMMA_BITS_10_1,
|
||||
VPFE_CCDC_GAMMA_BITS_09_0, /* use bits 9-0 for gamma */
|
||||
};
|
||||
|
||||
/* structure for ALaw */
|
||||
struct vpfe_ccdc_a_law {
|
||||
/* Enable/disable A-Law */
|
||||
unsigned char enable;
|
||||
/* Gamma Width Input */
|
||||
enum vpfe_ccdc_gamma_width gamma_wd;
|
||||
};
|
||||
|
||||
/* structure for Black Clamping */
|
||||
struct vpfe_ccdc_black_clamp {
|
||||
unsigned char enable;
|
||||
/* only if bClampEnable is TRUE */
|
||||
enum vpfe_ccdc_sample_length sample_pixel;
|
||||
/* only if bClampEnable is TRUE */
|
||||
enum vpfe_ccdc_sample_line sample_ln;
|
||||
/* only if bClampEnable is TRUE */
|
||||
unsigned short start_pixel;
|
||||
/* only if bClampEnable is TRUE */
|
||||
unsigned short sgain;
|
||||
/* only if bClampEnable is FALSE */
|
||||
unsigned short dc_sub;
|
||||
};
|
||||
|
||||
/* structure for Black Level Compensation */
|
||||
struct vpfe_ccdc_black_compensation {
|
||||
/* Constant value to subtract from Red component */
|
||||
char r;
|
||||
/* Constant value to subtract from Gr component */
|
||||
char gr;
|
||||
/* Constant value to subtract from Blue component */
|
||||
char b;
|
||||
/* Constant value to subtract from Gb component */
|
||||
char gb;
|
||||
};
|
||||
|
||||
/* Structure for CCDC configuration parameters for raw capture mode passed
|
||||
* by application
|
||||
*/
|
||||
struct vpfe_ccdc_config_params_raw {
|
||||
/* data size value from 8 to 16 bits */
|
||||
enum vpfe_ccdc_data_size data_sz;
|
||||
/* Structure for Optional A-Law */
|
||||
struct vpfe_ccdc_a_law alaw;
|
||||
/* Structure for Optical Black Clamp */
|
||||
struct vpfe_ccdc_black_clamp blk_clamp;
|
||||
/* Structure for Black Compensation */
|
||||
struct vpfe_ccdc_black_compensation blk_comp;
|
||||
};
|
||||
|
||||
/*
|
||||
* Private IOCTL
|
||||
* VIDIOC_AM437X_CCDC_CFG - Set CCDC configuration for raw capture
|
||||
* This is an experimental ioctl that will change in future kernels. So use
|
||||
* this ioctl with care !
|
||||
**/
|
||||
#define VIDIOC_AM437X_CCDC_CFG \
|
||||
_IOW('V', BASE_VIDIOC_PRIVATE + 1, void *)
|
||||
|
||||
#endif /* AM437X_VPFE_USER_H */
|
@@ -170,6 +170,10 @@ enum v4l2_colorfx {
|
||||
* We reserve 16 controls for this driver. */
|
||||
#define V4L2_CID_USER_SAA7134_BASE (V4L2_CID_USER_BASE + 0x1060)
|
||||
|
||||
/* The base for the adv7180 driver controls.
|
||||
* We reserve 16 controls for this driver. */
|
||||
#define V4L2_CID_USER_ADV7180_BASE (V4L2_CID_USER_BASE + 0x1070)
|
||||
|
||||
/* MPEG-class control IDs */
|
||||
/* The MPEG controls are applicable to all codec controls
|
||||
* and the 'MPEG' part of the define is historical */
|
||||
|
@@ -463,10 +463,11 @@ struct v4l2_pix_format {
|
||||
#define V4L2_PIX_FMT_SGBRG10 v4l2_fourcc('G', 'B', '1', '0') /* 10 GBGB.. RGRG.. */
|
||||
#define V4L2_PIX_FMT_SGRBG10 v4l2_fourcc('B', 'A', '1', '0') /* 10 GRGR.. BGBG.. */
|
||||
#define V4L2_PIX_FMT_SRGGB10 v4l2_fourcc('R', 'G', '1', '0') /* 10 RGRG.. GBGB.. */
|
||||
#define V4L2_PIX_FMT_SBGGR12 v4l2_fourcc('B', 'G', '1', '2') /* 12 BGBG.. GRGR.. */
|
||||
#define V4L2_PIX_FMT_SGBRG12 v4l2_fourcc('G', 'B', '1', '2') /* 12 GBGB.. RGRG.. */
|
||||
#define V4L2_PIX_FMT_SGRBG12 v4l2_fourcc('B', 'A', '1', '2') /* 12 GRGR.. BGBG.. */
|
||||
#define V4L2_PIX_FMT_SRGGB12 v4l2_fourcc('R', 'G', '1', '2') /* 12 RGRG.. GBGB.. */
|
||||
/* 10bit raw bayer packed, 5 bytes for every 4 pixels */
|
||||
#define V4L2_PIX_FMT_SBGGR10P v4l2_fourcc('p', 'B', 'A', 'A')
|
||||
#define V4L2_PIX_FMT_SGBRG10P v4l2_fourcc('p', 'G', 'A', 'A')
|
||||
#define V4L2_PIX_FMT_SGRBG10P v4l2_fourcc('p', 'g', 'A', 'A')
|
||||
#define V4L2_PIX_FMT_SRGGB10P v4l2_fourcc('p', 'R', 'A', 'A')
|
||||
/* 10bit raw bayer a-law compressed to 8 bits */
|
||||
#define V4L2_PIX_FMT_SBGGR10ALAW8 v4l2_fourcc('a', 'B', 'A', '8')
|
||||
#define V4L2_PIX_FMT_SGBRG10ALAW8 v4l2_fourcc('a', 'G', 'A', '8')
|
||||
@@ -477,10 +478,10 @@ struct v4l2_pix_format {
|
||||
#define V4L2_PIX_FMT_SGBRG10DPCM8 v4l2_fourcc('b', 'G', 'A', '8')
|
||||
#define V4L2_PIX_FMT_SGRBG10DPCM8 v4l2_fourcc('B', 'D', '1', '0')
|
||||
#define V4L2_PIX_FMT_SRGGB10DPCM8 v4l2_fourcc('b', 'R', 'A', '8')
|
||||
/*
|
||||
* 10bit raw bayer, expanded to 16 bits
|
||||
* xxxxrrrrrrrrrrxxxxgggggggggg xxxxggggggggggxxxxbbbbbbbbbb...
|
||||
*/
|
||||
#define V4L2_PIX_FMT_SBGGR12 v4l2_fourcc('B', 'G', '1', '2') /* 12 BGBG.. GRGR.. */
|
||||
#define V4L2_PIX_FMT_SGBRG12 v4l2_fourcc('G', 'B', '1', '2') /* 12 GBGB.. RGRG.. */
|
||||
#define V4L2_PIX_FMT_SGRBG12 v4l2_fourcc('B', 'A', '1', '2') /* 12 GRGR.. BGBG.. */
|
||||
#define V4L2_PIX_FMT_SRGGB12 v4l2_fourcc('R', 'G', '1', '2') /* 12 RGRG.. GBGB.. */
|
||||
#define V4L2_PIX_FMT_SBGGR16 v4l2_fourcc('B', 'Y', 'R', '2') /* 16 BGBG.. GRGR.. */
|
||||
|
||||
/* compressed formats */
|
||||
|
Reference in New Issue
Block a user