diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-02-11 11:45:40 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-02-11 11:45:40 -0500 |
| commit | 3e63430a5cc26bc90a6e33ab33f901196b7b63ac (patch) | |
| tree | bdc92e6cbaccc26f88d4c71fddbe54a86e5e707d /include/uapi | |
| parent | 6fc26fc5783add961533c819995bd97db05990f0 (diff) | |
| parent | 4bad5d2d25099a42e146d7b18d2b98950ed287f5 (diff) | |
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
...
Diffstat (limited to 'include/uapi')
| -rw-r--r-- | include/uapi/linux/Kbuild | 1 | ||||
| -rw-r--r-- | include/uapi/linux/am437x-vpfe.h | 122 | ||||
| -rw-r--r-- | include/uapi/linux/v4l2-controls.h | 4 | ||||
| -rw-r--r-- | include/uapi/linux/videodev2.h | 17 |
4 files changed, 136 insertions, 8 deletions
diff --git a/include/uapi/linux/Kbuild b/include/uapi/linux/Kbuild index 14b7b6e44c77..7b8141bf59a7 100644 --- a/include/uapi/linux/Kbuild +++ b/include/uapi/linux/Kbuild | |||
| @@ -35,6 +35,7 @@ header-y += adfs_fs.h | |||
| 35 | header-y += affs_hardblocks.h | 35 | header-y += affs_hardblocks.h |
| 36 | header-y += agpgart.h | 36 | header-y += agpgart.h |
| 37 | header-y += aio_abi.h | 37 | header-y += aio_abi.h |
| 38 | header-y += am437x-vpfe.h | ||
| 38 | header-y += apm_bios.h | 39 | header-y += apm_bios.h |
| 39 | header-y += arcfb.h | 40 | header-y += arcfb.h |
| 40 | header-y += atalk.h | 41 | header-y += atalk.h |
diff --git a/include/uapi/linux/am437x-vpfe.h b/include/uapi/linux/am437x-vpfe.h new file mode 100644 index 000000000000..9b03033f9cd6 --- /dev/null +++ b/include/uapi/linux/am437x-vpfe.h | |||
| @@ -0,0 +1,122 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (C) 2013 - 2014 Texas Instruments, Inc. | ||
| 3 | * | ||
| 4 | * Benoit Parrot <bparrot@ti.com> | ||
| 5 | * Lad, Prabhakar <prabhakar.csengg@gmail.com> | ||
| 6 | * | ||
| 7 | * This program is free software; you may redistribute it and/or modify | ||
| 8 | * it under the terms of the GNU General Public License as published by | ||
| 9 | * the Free Software Foundation; version 2 of the License. | ||
| 10 | * | ||
| 11 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
| 12 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
| 13 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
| 14 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
| 15 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
| 16 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
| 17 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
| 18 | * SOFTWARE. | ||
| 19 | */ | ||
| 20 | |||
| 21 | #ifndef AM437X_VPFE_USER_H | ||
| 22 | #define AM437X_VPFE_USER_H | ||
| 23 | |||
| 24 | enum vpfe_ccdc_data_size { | ||
| 25 | VPFE_CCDC_DATA_16BITS = 0, | ||
| 26 | VPFE_CCDC_DATA_15BITS, | ||
| 27 | VPFE_CCDC_DATA_14BITS, | ||
| 28 | VPFE_CCDC_DATA_13BITS, | ||
| 29 | VPFE_CCDC_DATA_12BITS, | ||
| 30 | VPFE_CCDC_DATA_11BITS, | ||
| 31 | VPFE_CCDC_DATA_10BITS, | ||
| 32 | VPFE_CCDC_DATA_8BITS, | ||
| 33 | }; | ||
| 34 | |||
| 35 | /* enum for No of pixel per line to be avg. in Black Clamping*/ | ||
| 36 | enum vpfe_ccdc_sample_length { | ||
| 37 | VPFE_CCDC_SAMPLE_1PIXELS = 0, | ||
| 38 | VPFE_CCDC_SAMPLE_2PIXELS, | ||
| 39 | VPFE_CCDC_SAMPLE_4PIXELS, | ||
| 40 | VPFE_CCDC_SAMPLE_8PIXELS, | ||
| 41 | VPFE_CCDC_SAMPLE_16PIXELS, | ||
| 42 | }; | ||
| 43 | |||
| 44 | /* enum for No of lines in Black Clamping */ | ||
| 45 | enum vpfe_ccdc_sample_line { | ||
| 46 | VPFE_CCDC_SAMPLE_1LINES = 0, | ||
| 47 | VPFE_CCDC_SAMPLE_2LINES, | ||
| 48 | VPFE_CCDC_SAMPLE_4LINES, | ||
| 49 | VPFE_CCDC_SAMPLE_8LINES, | ||
| 50 | VPFE_CCDC_SAMPLE_16LINES, | ||
| 51 | }; | ||
| 52 | |||
| 53 | /* enum for Alaw gamma width */ | ||
| 54 | enum vpfe_ccdc_gamma_width { | ||
| 55 | VPFE_CCDC_GAMMA_BITS_15_6 = 0, /* use bits 15-6 for gamma */ | ||
| 56 | VPFE_CCDC_GAMMA_BITS_14_5, | ||
| 57 | VPFE_CCDC_GAMMA_BITS_13_4, | ||
| 58 | VPFE_CCDC_GAMMA_BITS_12_3, | ||
| 59 | VPFE_CCDC_GAMMA_BITS_11_2, | ||
| 60 | VPFE_CCDC_GAMMA_BITS_10_1, | ||
| 61 | VPFE_CCDC_GAMMA_BITS_09_0, /* use bits 9-0 for gamma */ | ||
| 62 | }; | ||
| 63 | |||
| 64 | /* structure for ALaw */ | ||
| 65 | struct vpfe_ccdc_a_law { | ||
| 66 | /* Enable/disable A-Law */ | ||
| 67 | unsigned char enable; | ||
| 68 | /* Gamma Width Input */ | ||
| 69 | enum vpfe_ccdc_gamma_width gamma_wd; | ||
| 70 | }; | ||
| 71 | |||
| 72 | /* structure for Black Clamping */ | ||
| 73 | struct vpfe_ccdc_black_clamp { | ||
| 74 | unsigned char enable; | ||
| 75 | /* only if bClampEnable is TRUE */ | ||
| 76 | enum vpfe_ccdc_sample_length sample_pixel; | ||
| 77 | /* only if bClampEnable is TRUE */ | ||
| 78 | enum vpfe_ccdc_sample_line sample_ln; | ||
| 79 | /* only if bClampEnable is TRUE */ | ||
| 80 | unsigned short start_pixel; | ||
| 81 | /* only if bClampEnable is TRUE */ | ||
| 82 | unsigned short sgain; | ||
| 83 | /* only if bClampEnable is FALSE */ | ||
| 84 | unsigned short dc_sub; | ||
| 85 | }; | ||
| 86 | |||
| 87 | /* structure for Black Level Compensation */ | ||
| 88 | struct vpfe_ccdc_black_compensation { | ||
| 89 | /* Constant value to subtract from Red component */ | ||
| 90 | char r; | ||
| 91 | /* Constant value to subtract from Gr component */ | ||
| 92 | char gr; | ||
| 93 | /* Constant value to subtract from Blue component */ | ||
| 94 | char b; | ||
| 95 | /* Constant value to subtract from Gb component */ | ||
| 96 | char gb; | ||
| 97 | }; | ||
| 98 | |||
| 99 | /* Structure for CCDC configuration parameters for raw capture mode passed | ||
| 100 | * by application | ||
| 101 | */ | ||
| 102 | struct vpfe_ccdc_config_params_raw { | ||
| 103 | /* data size value from 8 to 16 bits */ | ||
| 104 | enum vpfe_ccdc_data_size data_sz; | ||
| 105 | /* Structure for Optional A-Law */ | ||
| 106 | struct vpfe_ccdc_a_law alaw; | ||
| 107 | /* Structure for Optical Black Clamp */ | ||
| 108 | struct vpfe_ccdc_black_clamp blk_clamp; | ||
| 109 | /* Structure for Black Compensation */ | ||
| 110 | struct vpfe_ccdc_black_compensation blk_comp; | ||
| 111 | }; | ||
| 112 | |||
| 113 | /* | ||
| 114 | * Private IOCTL | ||
| 115 | * VIDIOC_AM437X_CCDC_CFG - Set CCDC configuration for raw capture | ||
| 116 | * This is an experimental ioctl that will change in future kernels. So use | ||
| 117 | * this ioctl with care ! | ||
| 118 | **/ | ||
| 119 | #define VIDIOC_AM437X_CCDC_CFG \ | ||
| 120 | _IOW('V', BASE_VIDIOC_PRIVATE + 1, void *) | ||
| 121 | |||
| 122 | #endif /* AM437X_VPFE_USER_H */ | ||
diff --git a/include/uapi/linux/v4l2-controls.h b/include/uapi/linux/v4l2-controls.h index 661f119a51b8..9f6e108ff4a0 100644 --- a/include/uapi/linux/v4l2-controls.h +++ b/include/uapi/linux/v4l2-controls.h | |||
| @@ -170,6 +170,10 @@ enum v4l2_colorfx { | |||
| 170 | * We reserve 16 controls for this driver. */ | 170 | * We reserve 16 controls for this driver. */ |
| 171 | #define V4L2_CID_USER_SAA7134_BASE (V4L2_CID_USER_BASE + 0x1060) | 171 | #define V4L2_CID_USER_SAA7134_BASE (V4L2_CID_USER_BASE + 0x1060) |
| 172 | 172 | ||
| 173 | /* The base for the adv7180 driver controls. | ||
| 174 | * We reserve 16 controls for this driver. */ | ||
| 175 | #define V4L2_CID_USER_ADV7180_BASE (V4L2_CID_USER_BASE + 0x1070) | ||
| 176 | |||
| 173 | /* MPEG-class control IDs */ | 177 | /* MPEG-class control IDs */ |
| 174 | /* The MPEG controls are applicable to all codec controls | 178 | /* The MPEG controls are applicable to all codec controls |
| 175 | * and the 'MPEG' part of the define is historical */ | 179 | * and the 'MPEG' part of the define is historical */ |
diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h index d279c1b75cf7..fbdc3602ee27 100644 --- a/include/uapi/linux/videodev2.h +++ b/include/uapi/linux/videodev2.h | |||
| @@ -463,10 +463,11 @@ struct v4l2_pix_format { | |||
| 463 | #define V4L2_PIX_FMT_SGBRG10 v4l2_fourcc('G', 'B', '1', '0') /* 10 GBGB.. RGRG.. */ | 463 | #define V4L2_PIX_FMT_SGBRG10 v4l2_fourcc('G', 'B', '1', '0') /* 10 GBGB.. RGRG.. */ |
| 464 | #define V4L2_PIX_FMT_SGRBG10 v4l2_fourcc('B', 'A', '1', '0') /* 10 GRGR.. BGBG.. */ | 464 | #define V4L2_PIX_FMT_SGRBG10 v4l2_fourcc('B', 'A', '1', '0') /* 10 GRGR.. BGBG.. */ |
| 465 | #define V4L2_PIX_FMT_SRGGB10 v4l2_fourcc('R', 'G', '1', '0') /* 10 RGRG.. GBGB.. */ | 465 | #define V4L2_PIX_FMT_SRGGB10 v4l2_fourcc('R', 'G', '1', '0') /* 10 RGRG.. GBGB.. */ |
| 466 | #define V4L2_PIX_FMT_SBGGR12 v4l2_fourcc('B', 'G', '1', '2') /* 12 BGBG.. GRGR.. */ | 466 | /* 10bit raw bayer packed, 5 bytes for every 4 pixels */ |
| 467 | #define V4L2_PIX_FMT_SGBRG12 v4l2_fourcc('G', 'B', '1', '2') /* 12 GBGB.. RGRG.. */ | 467 | #define V4L2_PIX_FMT_SBGGR10P v4l2_fourcc('p', 'B', 'A', 'A') |
| 468 | #define V4L2_PIX_FMT_SGRBG12 v4l2_fourcc('B', 'A', '1', '2') /* 12 GRGR.. BGBG.. */ | 468 | #define V4L2_PIX_FMT_SGBRG10P v4l2_fourcc('p', 'G', 'A', 'A') |
| 469 | #define V4L2_PIX_FMT_SRGGB12 v4l2_fourcc('R', 'G', '1', '2') /* 12 RGRG.. GBGB.. */ | 469 | #define V4L2_PIX_FMT_SGRBG10P v4l2_fourcc('p', 'g', 'A', 'A') |
| 470 | #define V4L2_PIX_FMT_SRGGB10P v4l2_fourcc('p', 'R', 'A', 'A') | ||
| 470 | /* 10bit raw bayer a-law compressed to 8 bits */ | 471 | /* 10bit raw bayer a-law compressed to 8 bits */ |
| 471 | #define V4L2_PIX_FMT_SBGGR10ALAW8 v4l2_fourcc('a', 'B', 'A', '8') | 472 | #define V4L2_PIX_FMT_SBGGR10ALAW8 v4l2_fourcc('a', 'B', 'A', '8') |
| 472 | #define V4L2_PIX_FMT_SGBRG10ALAW8 v4l2_fourcc('a', 'G', 'A', '8') | 473 | #define V4L2_PIX_FMT_SGBRG10ALAW8 v4l2_fourcc('a', 'G', 'A', '8') |
| @@ -477,10 +478,10 @@ struct v4l2_pix_format { | |||
| 477 | #define V4L2_PIX_FMT_SGBRG10DPCM8 v4l2_fourcc('b', 'G', 'A', '8') | 478 | #define V4L2_PIX_FMT_SGBRG10DPCM8 v4l2_fourcc('b', 'G', 'A', '8') |
| 478 | #define V4L2_PIX_FMT_SGRBG10DPCM8 v4l2_fourcc('B', 'D', '1', '0') | 479 | #define V4L2_PIX_FMT_SGRBG10DPCM8 v4l2_fourcc('B', 'D', '1', '0') |
| 479 | #define V4L2_PIX_FMT_SRGGB10DPCM8 v4l2_fourcc('b', 'R', 'A', '8') | 480 | #define V4L2_PIX_FMT_SRGGB10DPCM8 v4l2_fourcc('b', 'R', 'A', '8') |
| 480 | /* | 481 | #define V4L2_PIX_FMT_SBGGR12 v4l2_fourcc('B', 'G', '1', '2') /* 12 BGBG.. GRGR.. */ |
| 481 | * 10bit raw bayer, expanded to 16 bits | 482 | #define V4L2_PIX_FMT_SGBRG12 v4l2_fourcc('G', 'B', '1', '2') /* 12 GBGB.. RGRG.. */ |
| 482 | * xxxxrrrrrrrrrrxxxxgggggggggg xxxxggggggggggxxxxbbbbbbbbbb... | 483 | #define V4L2_PIX_FMT_SGRBG12 v4l2_fourcc('B', 'A', '1', '2') /* 12 GRGR.. BGBG.. */ |
| 483 | */ | 484 | #define V4L2_PIX_FMT_SRGGB12 v4l2_fourcc('R', 'G', '1', '2') /* 12 RGRG.. GBGB.. */ |
| 484 | #define V4L2_PIX_FMT_SBGGR16 v4l2_fourcc('B', 'Y', 'R', '2') /* 16 BGBG.. GRGR.. */ | 485 | #define V4L2_PIX_FMT_SBGGR16 v4l2_fourcc('B', 'Y', 'R', '2') /* 16 BGBG.. GRGR.. */ |
| 485 | 486 | ||
| 486 | /* compressed formats */ | 487 | /* compressed formats */ |
