diff options
Diffstat (limited to 'include/uapi')
| -rw-r--r-- | include/uapi/linux/Kbuild | 1 | ||||
| -rw-r--r-- | include/uapi/linux/am437x-vpfe.h | 2 | ||||
| -rw-r--r-- | include/uapi/linux/media-bus-format.h | 15 | ||||
| -rw-r--r-- | include/uapi/linux/media.h | 52 | ||||
| -rw-r--r-- | include/uapi/linux/v4l2-dv-timings.h | 64 | ||||
| -rw-r--r-- | include/uapi/linux/v4l2-subdev.h | 12 | ||||
| -rw-r--r-- | include/uapi/linux/videodev2.h | 18 | ||||
| -rw-r--r-- | include/uapi/linux/xilinx-v4l2-controls.h | 73 |
8 files changed, 192 insertions, 45 deletions
diff --git a/include/uapi/linux/Kbuild b/include/uapi/linux/Kbuild index 38df23435ebb..640954b9ecf9 100644 --- a/include/uapi/linux/Kbuild +++ b/include/uapi/linux/Kbuild | |||
| @@ -447,5 +447,6 @@ header-y += wireless.h | |||
| 447 | header-y += x25.h | 447 | header-y += x25.h |
| 448 | header-y += xattr.h | 448 | header-y += xattr.h |
| 449 | header-y += xfrm.h | 449 | header-y += xfrm.h |
| 450 | header-y += xilinx-v4l2-controls.h | ||
| 450 | header-y += zorro.h | 451 | header-y += zorro.h |
| 451 | header-y += zorro_ids.h | 452 | header-y += zorro_ids.h |
diff --git a/include/uapi/linux/am437x-vpfe.h b/include/uapi/linux/am437x-vpfe.h index 9b03033f9cd6..d75774317b9b 100644 --- a/include/uapi/linux/am437x-vpfe.h +++ b/include/uapi/linux/am437x-vpfe.h | |||
| @@ -21,6 +21,8 @@ | |||
| 21 | #ifndef AM437X_VPFE_USER_H | 21 | #ifndef AM437X_VPFE_USER_H |
| 22 | #define AM437X_VPFE_USER_H | 22 | #define AM437X_VPFE_USER_H |
| 23 | 23 | ||
| 24 | #include <linux/videodev2.h> | ||
| 25 | |||
| 24 | enum vpfe_ccdc_data_size { | 26 | enum vpfe_ccdc_data_size { |
| 25 | VPFE_CCDC_DATA_16BITS = 0, | 27 | VPFE_CCDC_DATA_16BITS = 0, |
| 26 | VPFE_CCDC_DATA_15BITS, | 28 | VPFE_CCDC_DATA_15BITS, |
diff --git a/include/uapi/linux/media-bus-format.h b/include/uapi/linux/media-bus-format.h index 73c78f18a328..190d491d5b13 100644 --- a/include/uapi/linux/media-bus-format.h +++ b/include/uapi/linux/media-bus-format.h | |||
| @@ -45,6 +45,7 @@ | |||
| 45 | #define MEDIA_BUS_FMT_RGB565_2X8_BE 0x1007 | 45 | #define MEDIA_BUS_FMT_RGB565_2X8_BE 0x1007 |
| 46 | #define MEDIA_BUS_FMT_RGB565_2X8_LE 0x1008 | 46 | #define MEDIA_BUS_FMT_RGB565_2X8_LE 0x1008 |
| 47 | #define MEDIA_BUS_FMT_RGB666_1X18 0x1009 | 47 | #define MEDIA_BUS_FMT_RGB666_1X18 0x1009 |
| 48 | #define MEDIA_BUS_FMT_RBG888_1X24 0x100e | ||
| 48 | #define MEDIA_BUS_FMT_RGB666_1X24_CPADHI 0x1015 | 49 | #define MEDIA_BUS_FMT_RGB666_1X24_CPADHI 0x1015 |
| 49 | #define MEDIA_BUS_FMT_RGB666_1X7X3_SPWG 0x1010 | 50 | #define MEDIA_BUS_FMT_RGB666_1X7X3_SPWG 0x1010 |
| 50 | #define MEDIA_BUS_FMT_BGR888_1X24 0x1013 | 51 | #define MEDIA_BUS_FMT_BGR888_1X24 0x1013 |
| @@ -55,6 +56,7 @@ | |||
| 55 | #define MEDIA_BUS_FMT_RGB888_1X7X4_SPWG 0x1011 | 56 | #define MEDIA_BUS_FMT_RGB888_1X7X4_SPWG 0x1011 |
| 56 | #define MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA 0x1012 | 57 | #define MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA 0x1012 |
| 57 | #define MEDIA_BUS_FMT_ARGB8888_1X32 0x100d | 58 | #define MEDIA_BUS_FMT_ARGB8888_1X32 0x100d |
| 59 | #define MEDIA_BUS_FMT_RGB888_1X32_PADHI 0x100f | ||
| 58 | 60 | ||
| 59 | /* YUV (including grey) - next is 0x2026 */ | 61 | /* YUV (including grey) - next is 0x2026 */ |
| 60 | #define MEDIA_BUS_FMT_Y8_1X8 0x2001 | 62 | #define MEDIA_BUS_FMT_Y8_1X8 0x2001 |
| @@ -73,6 +75,10 @@ | |||
| 73 | #define MEDIA_BUS_FMT_YUYV10_2X10 0x200b | 75 | #define MEDIA_BUS_FMT_YUYV10_2X10 0x200b |
| 74 | #define MEDIA_BUS_FMT_YVYU10_2X10 0x200c | 76 | #define MEDIA_BUS_FMT_YVYU10_2X10 0x200c |
| 75 | #define MEDIA_BUS_FMT_Y12_1X12 0x2013 | 77 | #define MEDIA_BUS_FMT_Y12_1X12 0x2013 |
| 78 | #define MEDIA_BUS_FMT_UYVY12_2X12 0x201c | ||
| 79 | #define MEDIA_BUS_FMT_VYUY12_2X12 0x201d | ||
| 80 | #define MEDIA_BUS_FMT_YUYV12_2X12 0x201e | ||
| 81 | #define MEDIA_BUS_FMT_YVYU12_2X12 0x201f | ||
| 76 | #define MEDIA_BUS_FMT_UYVY8_1X16 0x200f | 82 | #define MEDIA_BUS_FMT_UYVY8_1X16 0x200f |
| 77 | #define MEDIA_BUS_FMT_VYUY8_1X16 0x2010 | 83 | #define MEDIA_BUS_FMT_VYUY8_1X16 0x2010 |
| 78 | #define MEDIA_BUS_FMT_YUYV8_1X16 0x2011 | 84 | #define MEDIA_BUS_FMT_YUYV8_1X16 0x2011 |
| @@ -82,17 +88,14 @@ | |||
| 82 | #define MEDIA_BUS_FMT_VYUY10_1X20 0x201b | 88 | #define MEDIA_BUS_FMT_VYUY10_1X20 0x201b |
| 83 | #define MEDIA_BUS_FMT_YUYV10_1X20 0x200d | 89 | #define MEDIA_BUS_FMT_YUYV10_1X20 0x200d |
| 84 | #define MEDIA_BUS_FMT_YVYU10_1X20 0x200e | 90 | #define MEDIA_BUS_FMT_YVYU10_1X20 0x200e |
| 91 | #define MEDIA_BUS_FMT_VUY8_1X24 0x2024 | ||
| 85 | #define MEDIA_BUS_FMT_YUV8_1X24 0x2025 | 92 | #define MEDIA_BUS_FMT_YUV8_1X24 0x2025 |
| 86 | #define MEDIA_BUS_FMT_YUV10_1X30 0x2016 | ||
| 87 | #define MEDIA_BUS_FMT_AYUV8_1X32 0x2017 | ||
| 88 | #define MEDIA_BUS_FMT_UYVY12_2X12 0x201c | ||
| 89 | #define MEDIA_BUS_FMT_VYUY12_2X12 0x201d | ||
| 90 | #define MEDIA_BUS_FMT_YUYV12_2X12 0x201e | ||
| 91 | #define MEDIA_BUS_FMT_YVYU12_2X12 0x201f | ||
| 92 | #define MEDIA_BUS_FMT_UYVY12_1X24 0x2020 | 93 | #define MEDIA_BUS_FMT_UYVY12_1X24 0x2020 |
| 93 | #define MEDIA_BUS_FMT_VYUY12_1X24 0x2021 | 94 | #define MEDIA_BUS_FMT_VYUY12_1X24 0x2021 |
| 94 | #define MEDIA_BUS_FMT_YUYV12_1X24 0x2022 | 95 | #define MEDIA_BUS_FMT_YUYV12_1X24 0x2022 |
| 95 | #define MEDIA_BUS_FMT_YVYU12_1X24 0x2023 | 96 | #define MEDIA_BUS_FMT_YVYU12_1X24 0x2023 |
| 97 | #define MEDIA_BUS_FMT_YUV10_1X30 0x2016 | ||
| 98 | #define MEDIA_BUS_FMT_AYUV8_1X32 0x2017 | ||
| 96 | 99 | ||
| 97 | /* Bayer - next is 0x3019 */ | 100 | /* Bayer - next is 0x3019 */ |
| 98 | #define MEDIA_BUS_FMT_SBGGR8_1X8 0x3001 | 101 | #define MEDIA_BUS_FMT_SBGGR8_1X8 0x3001 |
diff --git a/include/uapi/linux/media.h b/include/uapi/linux/media.h index d847c760e8f0..4e816be3de39 100644 --- a/include/uapi/linux/media.h +++ b/include/uapi/linux/media.h | |||
| @@ -50,7 +50,14 @@ struct media_device_info { | |||
| 50 | #define MEDIA_ENT_T_DEVNODE_V4L (MEDIA_ENT_T_DEVNODE + 1) | 50 | #define MEDIA_ENT_T_DEVNODE_V4L (MEDIA_ENT_T_DEVNODE + 1) |
| 51 | #define MEDIA_ENT_T_DEVNODE_FB (MEDIA_ENT_T_DEVNODE + 2) | 51 | #define MEDIA_ENT_T_DEVNODE_FB (MEDIA_ENT_T_DEVNODE + 2) |
| 52 | #define MEDIA_ENT_T_DEVNODE_ALSA (MEDIA_ENT_T_DEVNODE + 3) | 52 | #define MEDIA_ENT_T_DEVNODE_ALSA (MEDIA_ENT_T_DEVNODE + 3) |
| 53 | #define MEDIA_ENT_T_DEVNODE_DVB (MEDIA_ENT_T_DEVNODE + 4) | 53 | #define MEDIA_ENT_T_DEVNODE_DVB_FE (MEDIA_ENT_T_DEVNODE + 4) |
| 54 | #define MEDIA_ENT_T_DEVNODE_DVB_DEMUX (MEDIA_ENT_T_DEVNODE + 5) | ||
| 55 | #define MEDIA_ENT_T_DEVNODE_DVB_DVR (MEDIA_ENT_T_DEVNODE + 6) | ||
| 56 | #define MEDIA_ENT_T_DEVNODE_DVB_CA (MEDIA_ENT_T_DEVNODE + 7) | ||
| 57 | #define MEDIA_ENT_T_DEVNODE_DVB_NET (MEDIA_ENT_T_DEVNODE + 8) | ||
| 58 | |||
| 59 | /* Legacy symbol. Use it to avoid userspace compilation breakages */ | ||
| 60 | #define MEDIA_ENT_T_DEVNODE_DVB MEDIA_ENT_T_DEVNODE_DVB_FE | ||
| 54 | 61 | ||
| 55 | #define MEDIA_ENT_T_V4L2_SUBDEV (2 << MEDIA_ENT_TYPE_SHIFT) | 62 | #define MEDIA_ENT_T_V4L2_SUBDEV (2 << MEDIA_ENT_TYPE_SHIFT) |
| 56 | #define MEDIA_ENT_T_V4L2_SUBDEV_SENSOR (MEDIA_ENT_T_V4L2_SUBDEV + 1) | 63 | #define MEDIA_ENT_T_V4L2_SUBDEV_SENSOR (MEDIA_ENT_T_V4L2_SUBDEV + 1) |
| @@ -59,6 +66,8 @@ struct media_device_info { | |||
| 59 | /* A converter of analogue video to its digital representation. */ | 66 | /* A converter of analogue video to its digital representation. */ |
| 60 | #define MEDIA_ENT_T_V4L2_SUBDEV_DECODER (MEDIA_ENT_T_V4L2_SUBDEV + 4) | 67 | #define MEDIA_ENT_T_V4L2_SUBDEV_DECODER (MEDIA_ENT_T_V4L2_SUBDEV + 4) |
| 61 | 68 | ||
| 69 | #define MEDIA_ENT_T_V4L2_SUBDEV_TUNER (MEDIA_ENT_T_V4L2_SUBDEV + 5) | ||
| 70 | |||
| 62 | #define MEDIA_ENT_FL_DEFAULT (1 << 0) | 71 | #define MEDIA_ENT_FL_DEFAULT (1 << 0) |
| 63 | 72 | ||
| 64 | struct media_entity_desc { | 73 | struct media_entity_desc { |
| @@ -78,17 +87,48 @@ struct media_entity_desc { | |||
| 78 | struct { | 87 | struct { |
| 79 | __u32 major; | 88 | __u32 major; |
| 80 | __u32 minor; | 89 | __u32 minor; |
| 81 | } v4l; | 90 | } dev; |
| 82 | struct { | 91 | |
| 83 | __u32 major; | 92 | #if 1 |
| 84 | __u32 minor; | 93 | /* |
| 85 | } fb; | 94 | * TODO: this shouldn't have been added without |
| 95 | * actual drivers that use this. When the first real driver | ||
| 96 | * appears that sets this information, special attention | ||
| 97 | * should be given whether this information is 1) enough, and | ||
| 98 | * 2) can deal with udev rules that rename devices. The struct | ||
| 99 | * dev would not be sufficient for this since that does not | ||
| 100 | * contain the subdevice information. In addition, struct dev | ||
| 101 | * can only refer to a single device, and not to multiple (e.g. | ||
| 102 | * pcm and mixer devices). | ||
| 103 | * | ||
| 104 | * So for now mark this as a to do. | ||
| 105 | */ | ||
| 86 | struct { | 106 | struct { |
| 87 | __u32 card; | 107 | __u32 card; |
| 88 | __u32 device; | 108 | __u32 device; |
| 89 | __u32 subdevice; | 109 | __u32 subdevice; |
| 90 | } alsa; | 110 | } alsa; |
| 111 | #endif | ||
| 112 | |||
| 113 | #if 1 | ||
| 114 | /* | ||
| 115 | * DEPRECATED: previous node specifications. Kept just to | ||
| 116 | * avoid breaking compilation, but media_entity_desc.dev | ||
| 117 | * should be used instead. In particular, alsa and dvb | ||
| 118 | * fields below are wrong: for all devnodes, there should | ||
| 119 | * be just major/minor inside the struct, as this is enough | ||
| 120 | * to represent any devnode, no matter what type. | ||
| 121 | */ | ||
| 122 | struct { | ||
| 123 | __u32 major; | ||
| 124 | __u32 minor; | ||
| 125 | } v4l; | ||
| 126 | struct { | ||
| 127 | __u32 major; | ||
| 128 | __u32 minor; | ||
| 129 | } fb; | ||
| 91 | int dvb; | 130 | int dvb; |
| 131 | #endif | ||
| 92 | 132 | ||
| 93 | /* Sub-device specifications */ | 133 | /* Sub-device specifications */ |
| 94 | /* Nothing needed yet */ | 134 | /* Nothing needed yet */ |
diff --git a/include/uapi/linux/v4l2-dv-timings.h b/include/uapi/linux/v4l2-dv-timings.h index 6c8f159e416e..c039f1d68a09 100644 --- a/include/uapi/linux/v4l2-dv-timings.h +++ b/ | |||
