Define MEDIA_BUS_FMT macros (re-using the values defined in the v4l2_mbus_pixelcode enum) into a separate header file so that they can be used from the DRM/KMS subsystem without any reference to the V4L2 subsystem. Then set V4L2_MBUS_FMT definitions to the MEDIA_BUS_FMT values using the V4L2_MBUS_FROM_MEDIA_BUS_FMT macro.
Showing the changes to include/uapi/linux (3 of 3 files). Show all
Unified · Split
| @@ -241,6 +241,7 @@ header-y += map_to_7segment.h · 240 unmodified lines | ||
| 241 | 241 | header-y += matroxfb.h |
| 242 | 242 | header-y += mdio.h |
| 243 | 243 | header-y += media.h |
| 244 | +header-y += media-bus-format.h | |
| 244 | 245 | header-y += mei.h |
| 245 | 246 | header-y += memfd.h |
| 246 | 247 | header-y += mempolicy.h |
| @@ -0,0 +1,125 @@ | ||
| 1 | +/* | |
| 2 | + * Media Bus API header | |
| 3 | + * | |
| 4 | + * Copyright (C) 2009, Guennadi Liakhovetski <g.liakhovetski@gmx.de> | |
| 5 | + * | |
| 6 | + * This program is free software; you can redistribute it and/or modify | |
| 7 | + * it under the terms of the GNU General Public License version 2 as | |
| 8 | + * published by the Free Software Foundation. | |
| 9 | + */ | |
| 10 | + | |
| 11 | +#ifndef __LINUX_MEDIA_BUS_FORMAT_H | |
| 12 | +#define __LINUX_MEDIA_BUS_FORMAT_H | |
| 13 | + | |
| 14 | +/* | |
| 15 | + * These bus formats uniquely identify data formats on the data bus. Format 0 | |
| 16 | + * is reserved, MEDIA_BUS_FMT_FIXED shall be used by host-client pairs, where | |
| 17 | + * the data format is fixed. Additionally, "2X8" means that one pixel is | |
| 18 | + * transferred in two 8-bit samples, "BE" or "LE" specify in which order those | |
| 19 | + * samples are transferred over the bus: "LE" means that the least significant | |
| 20 | + * bits are transferred first, "BE" means that the most significant bits are | |
| 21 | + * transferred first, and "PADHI" and "PADLO" define which bits - low or high, | |
| 22 | + * in the incomplete high byte, are filled with padding bits. | |
| 23 | + * | |
| 24 | + * The bus formats are grouped by type, bus_width, bits per component, samples | |
| 25 | + * per pixel and order of subsamples. Numerical values are sorted using generic | |
| 26 | + * numerical sort order (8 thus comes before 10). | |
| 27 | + * | |
| 28 | + * As their value can't change when a new bus format is inserted in the | |
| 29 | + * enumeration, the bus formats are explicitly given a numerical value. The next | |
| 30 | + * free values for each category are listed below, update them when inserting | |
| 31 | + * new pixel codes. | |
| 32 | + */ | |
| 33 | + | |
| 34 | +#define MEDIA_BUS_FMT_FIXED 0x0001 | |
| 35 | + | |
| 36 | +/* RGB - next is 0x100e */ | |
| 37 | +#define MEDIA_BUS_FMT_RGB444_2X8_PADHI_BE 0x1001 | |
| 38 | +#define MEDIA_BUS_FMT_RGB444_2X8_PADHI_LE 0x1002 | |
| 39 | +#define MEDIA_BUS_FMT_RGB555_2X8_PADHI_BE 0x1003 | |
| 40 | +#define MEDIA_BUS_FMT_RGB555_2X8_PADHI_LE 0x1004 | |
| 41 | +#define MEDIA_BUS_FMT_BGR565_2X8_BE 0x1005 | |
| 42 | +#define MEDIA_BUS_FMT_BGR565_2X8_LE 0x1006 | |
| 43 | +#define MEDIA_BUS_FMT_RGB565_2X8_BE 0x1007 | |
| 44 | +#define MEDIA_BUS_FMT_RGB565_2X8_LE 0x1008 | |
| 45 | +#define MEDIA_BUS_FMT_RGB666_1X18 0x1009 | |
| 46 | +#define MEDIA_BUS_FMT_RGB888_1X24 0x100a | |
| 47 | +#define MEDIA_BUS_FMT_RGB888_2X12_BE 0x100b | |
| 48 | +#define MEDIA_BUS_FMT_RGB888_2X12_LE 0x100c | |
| 49 | +#define MEDIA_BUS_FMT_ARGB8888_1X32 0x100d | |
| 50 | + | |
| 51 | +/* YUV (including grey) - next is 0x2024 */ | |
| 52 | +#define MEDIA_BUS_FMT_Y8_1X8 0x2001 | |
| 53 | +#define MEDIA_BUS_FMT_UV8_1X8 0x2015 | |
| 54 | +#define MEDIA_BUS_FMT_UYVY8_1_5X8 0x2002 | |
| 55 | +#define MEDIA_BUS_FMT_VYUY8_1_5X8 0x2003 | |
| 56 | +#define MEDIA_BUS_FMT_YUYV8_1_5X8 0x2004 | |
| 57 | +#define MEDIA_BUS_FMT_YVYU8_1_5X8 0x2005 | |
| 58 | +#define MEDIA_BUS_FMT_UYVY8_2X8 0x2006 | |
| 59 | +#define MEDIA_BUS_FMT_VYUY8_2X8 0x2007 | |
| 60 | +#define MEDIA_BUS_FMT_YUYV8_2X8 0x2008 | |
| 61 | +#define MEDIA_BUS_FMT_YVYU8_2X8 0x2009 | |
| 62 | +#define MEDIA_BUS_FMT_Y10_1X10 0x200a | |
| 63 | +#define MEDIA_BUS_FMT_UYVY10_2X10 0x2018 | |
| 64 | +#define MEDIA_BUS_FMT_VYUY10_2X10 0x2019 | |
| 65 | +#define MEDIA_BUS_FMT_YUYV10_2X10 0x200b | |
| 66 | +#define MEDIA_BUS_FMT_YVYU10_2X10 0x200c | |
| 67 | +#define MEDIA_BUS_FMT_Y12_1X12 0x2013 | |
| 68 | +#define MEDIA_BUS_FMT_UYVY8_1X16 0x200f | |
| 69 | +#define MEDIA_BUS_FMT_VYUY8_1X16 0x2010 | |
| 70 | +#define MEDIA_BUS_FMT_YUYV8_1X16 0x2011 | |
| 71 | +#define MEDIA_BUS_FMT_YVYU8_1X16 0x2012 | |
| 72 | +#define MEDIA_BUS_FMT_YDYUYDYV8_1X16 0x2014 | |
| 73 | +#define MEDIA_BUS_FMT_UYVY10_1X20 0x201a | |
| 74 | +#define MEDIA_BUS_FMT_VYUY10_1X20 0x201b | |
| 75 | +#define MEDIA_BUS_FMT_YUYV10_1X20 0x200d | |
| 76 | +#define MEDIA_BUS_FMT_YVYU10_1X20 0x200e | |
| 77 | +#define MEDIA_BUS_FMT_YUV10_1X30 0x2016 | |
| 78 | +#define MEDIA_BUS_FMT_AYUV8_1X32 0x2017 | |
| 79 | +#define MEDIA_BUS_FMT_UYVY12_2X12 0x201c | |
| 80 | +#define MEDIA_BUS_FMT_VYUY12_2X12 0x201d | |
| 81 | +#define MEDIA_BUS_FMT_YUYV12_2X12 0x201e | |
| 82 | +#define MEDIA_BUS_FMT_YVYU12_2X12 0x201f | |
| 83 | +#define MEDIA_BUS_FMT_UYVY12_1X24 0x2020 | |
| 84 | +#define MEDIA_BUS_FMT_VYUY12_1X24 0x2021 | |
| 85 | +#define MEDIA_BUS_FMT_YUYV12_1X24 0x2022 | |
| 86 | +#define MEDIA_BUS_FMT_YVYU12_1X24 0x2023 | |
| 87 | + | |
| 88 | +/* Bayer - next is 0x3019 */ | |
| 89 | +#define MEDIA_BUS_FMT_SBGGR8_1X8 0x3001 | |
| 90 | +#define MEDIA_BUS_FMT_SGBRG8_1X8 0x3013 | |
| 91 | +#define MEDIA_BUS_FMT_SGRBG8_1X8 0x3002 | |
| 92 | +#define MEDIA_BUS_FMT_SRGGB8_1X8 0x3014 | |
| 93 | +#define MEDIA_BUS_FMT_SBGGR10_ALAW8_1X8 0x3015 | |
| 94 | +#define MEDIA_BUS_FMT_SGBRG10_ALAW8_1X8 0x3016 | |
| 95 | +#define MEDIA_BUS_FMT_SGRBG10_ALAW8_1X8 0x3017 | |
| 96 | +#define MEDIA_BUS_FMT_SRGGB10_ALAW8_1X8 0x3018 | |
| 97 | +#define MEDIA_BUS_FMT_SBGGR10_DPCM8_1X8 0x300b | |
| 98 | +#define MEDIA_BUS_FMT_SGBRG10_DPCM8_1X8 0x300c | |
| 99 | +#define MEDIA_BUS_FMT_SGRBG10_DPCM8_1X8 0x3009 | |
| 100 | +#define MEDIA_BUS_FMT_SRGGB10_DPCM8_1X8 0x300d | |
| 101 | +#define MEDIA_BUS_FMT_SBGGR10_2X8_PADHI_BE 0x3003 | |
| 102 | +#define MEDIA_BUS_FMT_SBGGR10_2X8_PADHI_LE 0x3004 | |
| 103 | +#define MEDIA_BUS_FMT_SBGGR10_2X8_PADLO_BE 0x3005 | |
| 104 | +#define MEDIA_BUS_FMT_SBGGR10_2X8_PADLO_LE 0x3006 | |
| 105 | +#define MEDIA_BUS_FMT_SBGGR10_1X10 0x3007 | |
| 106 | +#define MEDIA_BUS_FMT_SGBRG10_1X10 0x300e | |
| 107 | +#define MEDIA_BUS_FMT_SGRBG10_1X10 0x300a | |
| 108 | +#define MEDIA_BUS_FMT_SRGGB10_1X10 0x300f | |
| 109 | +#define MEDIA_BUS_FMT_SBGGR12_1X12 0x3008 | |
| 110 | +#define MEDIA_BUS_FMT_SGBRG12_1X12 0x3010 | |
| 111 | +#define MEDIA_BUS_FMT_SGRBG12_1X12 0x3011 | |
| 112 | +#define MEDIA_BUS_FMT_SRGGB12_1X12 0x3012 | |
| 113 | + | |
| 114 | +/* JPEG compressed formats - next is 0x4002 */ | |
| 115 | +#define MEDIA_BUS_FMT_JPEG_1X8 0x4001 | |
| 116 | + | |
| 117 | +/* Vendor specific formats - next is 0x5002 */ | |
| 118 | + | |
| 119 | +/* S5C73M3 sensor specific interleaved UYVY and JPEG */ | |
| 120 | +#define MEDIA_BUS_FMT_S5C_UYVY_JPEG_1X8 0x5001 | |
| 121 | + | |
| 122 | +/* HSV - next is 0x6002 */ | |
| 123 | +#define MEDIA_BUS_FMT_AHSV8888_1X32 0x6001 | |
| 124 | + | |
| 125 | +#endif /* __LINUX_MEDIA_BUS_FORMAT_H */ | |
| @@ -11,120 +11,96 @@ · 10 unmodified lines | ||
| 11 | 11 | #ifndef __LINUX_V4L2_MEDIABUS_H |
| 12 | 12 | #define __LINUX_V4L2_MEDIABUS_H |
| 13 | 13 | |
| 14 | +#include <linux/media-bus-format.h> | |
| 14 | 15 | #include <linux/types.h> |
| 15 | 16 | #include <linux/videodev2.h> |
| 16 | 17 | |
| 17 | −/* | |
| 18 | − * These pixel codes uniquely identify data formats on the media bus. Mostly | |
| 19 | − * they correspond to similarly named V4L2_PIX_FMT_* formats, format 0 is | |
| 20 | − * reserved, V4L2_MBUS_FMT_FIXED shall be used by host-client pairs, where the | |
| 21 | − * data format is fixed. Additionally, "2X8" means that one pixel is transferred | |
| 22 | − * in two 8-bit samples, "BE" or "LE" specify in which order those samples are | |
| 23 | − * transferred over the bus: "LE" means that the least significant bits are | |
| 24 | − * transferred first, "BE" means that the most significant bits are transferred | |
| 25 | − * first, and "PADHI" and "PADLO" define which bits - low or high, in the | |
| 26 | − * incomplete high byte, are filled with padding bits. | |
| 27 | − * | |
| 28 | − * The pixel codes are grouped by type, bus_width, bits per component, samples | |
| 29 | − * per pixel and order of subsamples. Numerical values are sorted using generic | |
| 30 | − * numerical sort order (8 thus comes before 10). | |
| 31 | − * | |
| 32 | − * As their value can't change when a new pixel code is inserted in the | |
| 33 | − * enumeration, the pixel codes are explicitly given a numerical value. The next | |
| 34 | − * free values for each category are listed below, update them when inserting | |
| 35 | − * new pixel codes. | |
| 36 | − */ | |
| 37 | −enum v4l2_mbus_pixelcode { | |
| 38 | − V4L2_MBUS_FMT_FIXED = 0x0001, | |
| 18 | +#define V4L2_MBUS_FROM_MEDIA_BUS_FMT(name) \ | |
| 19 | + V4L2_MBUS_FMT_ ## name = MEDIA_BUS_FMT_ ## name | |
| 39 | 20 | |
| 40 | − /* RGB - next is 0x100e */ | |
| 41 | − V4L2_MBUS_FMT_RGB444_2X8_PADHI_BE = 0x1001, | |
| 42 | − V4L2_MBUS_FMT_RGB444_2X8_PADHI_LE = 0x1002, | |
| 43 | − V4L2_MBUS_FMT_RGB555_2X8_PADHI_BE = 0x1003, | |
| 44 | − V4L2_MBUS_FMT_RGB555_2X8_PADHI_LE = 0x1004, | |
| 45 | − V4L2_MBUS_FMT_BGR565_2X8_BE = 0x1005, | |
| 46 | − V4L2_MBUS_FMT_BGR565_2X8_LE = 0x1006, | |
| 47 | − V4L2_MBUS_FMT_RGB565_2X8_BE = 0x1007, | |
| 48 | − V4L2_MBUS_FMT_RGB565_2X8_LE = 0x1008, | |
| 49 | − V4L2_MBUS_FMT_RGB666_1X18 = 0x1009, | |
| 50 | − V4L2_MBUS_FMT_RGB888_1X24 = 0x100a, | |
| 51 | − V4L2_MBUS_FMT_RGB888_2X12_BE = 0x100b, | |
| 52 | − V4L2_MBUS_FMT_RGB888_2X12_LE = 0x100c, | |
| 53 | − V4L2_MBUS_FMT_ARGB8888_1X32 = 0x100d, | |
| 21 | +enum v4l2_mbus_pixelcode { | |
| 22 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(FIXED), | |
| 54 | 23 | |
| 55 | − /* YUV (including grey) - next is 0x2024 */ | |
| 56 | − V4L2_MBUS_FMT_Y8_1X8 = 0x2001, | |
| 57 | − V4L2_MBUS_FMT_UV8_1X8 = 0x2015, | |
| 58 | − V4L2_MBUS_FMT_UYVY8_1_5X8 = 0x2002, | |
| 59 | − V4L2_MBUS_FMT_VYUY8_1_5X8 = 0x2003, | |
| 60 | − V4L2_MBUS_FMT_YUYV8_1_5X8 = 0x2004, | |
| 61 | − V4L2_MBUS_FMT_YVYU8_1_5X8 = 0x2005, | |
| 62 | − V4L2_MBUS_FMT_UYVY8_2X8 = 0x2006, | |
| 63 | − V4L2_MBUS_FMT_VYUY8_2X8 = 0x2007, | |
| 64 | − V4L2_MBUS_FMT_YUYV8_2X8 = 0x2008, | |
| 65 | − V4L2_MBUS_FMT_YVYU8_2X8 = 0x2009, | |
| 66 | − V4L2_MBUS_FMT_Y10_1X10 = 0x200a, | |
| 67 | − V4L2_MBUS_FMT_UYVY10_2X10 = 0x2018, | |
| 68 | − V4L2_MBUS_FMT_VYUY10_2X10 = 0x2019, | |
| 69 | − V4L2_MBUS_FMT_YUYV10_2X10 = 0x200b, | |
| 70 | − V4L2_MBUS_FMT_YVYU10_2X10 = 0x200c, | |
| 71 | − V4L2_MBUS_FMT_Y12_1X12 = 0x2013, | |
| 72 | − V4L2_MBUS_FMT_UYVY8_1X16 = 0x200f, | |
| 73 | − V4L2_MBUS_FMT_VYUY8_1X16 = 0x2010, | |
| 74 | − V4L2_MBUS_FMT_YUYV8_1X16 = 0x2011, | |
| 75 | − V4L2_MBUS_FMT_YVYU8_1X16 = 0x2012, | |
| 76 | − V4L2_MBUS_FMT_YDYUYDYV8_1X16 = 0x2014, | |
| 77 | − V4L2_MBUS_FMT_UYVY10_1X20 = 0x201a, | |
| 78 | − V4L2_MBUS_FMT_VYUY10_1X20 = 0x201b, | |
| 79 | − V4L2_MBUS_FMT_YUYV10_1X20 = 0x200d, | |
| 80 | − V4L2_MBUS_FMT_YVYU10_1X20 = 0x200e, | |
| 81 | − V4L2_MBUS_FMT_YUV10_1X30 = 0x2016, | |
| 82 | − V4L2_MBUS_FMT_AYUV8_1X32 = 0x2017, | |
| 83 | − V4L2_MBUS_FMT_UYVY12_2X12 = 0x201c, | |
| 84 | − V4L2_MBUS_FMT_VYUY12_2X12 = 0x201d, | |
| 85 | − V4L2_MBUS_FMT_YUYV12_2X12 = 0x201e, | |
| 86 | − V4L2_MBUS_FMT_YVYU12_2X12 = 0x201f, | |
| 87 | − V4L2_MBUS_FMT_UYVY12_1X24 = 0x2020, | |
| 88 | − V4L2_MBUS_FMT_VYUY12_1X24 = 0x2021, | |
| 89 | − V4L2_MBUS_FMT_YUYV12_1X24 = 0x2022, | |
| 90 | − V4L2_MBUS_FMT_YVYU12_1X24 = 0x2023, | |
| 24 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB444_2X8_PADHI_BE), | |
| 25 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB444_2X8_PADHI_LE), | |
| 26 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB555_2X8_PADHI_BE), | |
| 27 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB555_2X8_PADHI_LE), | |
| 28 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(BGR565_2X8_BE), | |
| 29 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(BGR565_2X8_LE), | |
| 30 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB565_2X8_BE), | |
| 31 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB565_2X8_LE), | |
| 32 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB666_1X18), | |
| 33 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB888_1X24), | |
| 34 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB888_2X12_BE), | |
| 35 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB888_2X12_LE), | |
| 36 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(ARGB8888_1X32), | |
| 91 | 37 | |
| 92 | − /* Bayer - next is 0x3019 */ | |
| 93 | − V4L2_MBUS_FMT_SBGGR8_1X8 = 0x3001, | |
| 94 | − V4L2_MBUS_FMT_SGBRG8_1X8 = 0x3013, | |
| 95 | − V4L2_MBUS_FMT_SGRBG8_1X8 = 0x3002, | |
| 96 | − V4L2_MBUS_FMT_SRGGB8_1X8 = 0x3014, | |
| 97 | − V4L2_MBUS_FMT_SBGGR10_ALAW8_1X8 = 0x3015, | |
| 98 | − V4L2_MBUS_FMT_SGBRG10_ALAW8_1X8 = 0x3016, | |
| 99 | − V4L2_MBUS_FMT_SGRBG10_ALAW8_1X8 = 0x3017, | |
| 100 | − V4L2_MBUS_FMT_SRGGB10_ALAW8_1X8 = 0x3018, | |
| 101 | − V4L2_MBUS_FMT_SBGGR10_DPCM8_1X8 = 0x300b, | |
| 102 | − V4L2_MBUS_FMT_SGBRG10_DPCM8_1X8 = 0x300c, | |
| 103 | − V4L2_MBUS_FMT_SGRBG10_DPCM8_1X8 = 0x3009, | |
| 104 | − V4L2_MBUS_FMT_SRGGB10_DPCM8_1X8 = 0x300d, | |
| 105 | − V4L2_MBUS_FMT_SBGGR10_2X8_PADHI_BE = 0x3003, | |
| 106 | − V4L2_MBUS_FMT_SBGGR10_2X8_PADHI_LE = 0x3004, | |
| 107 | − V4L2_MBUS_FMT_SBGGR10_2X8_PADLO_BE = 0x3005, | |
| 108 | − V4L2_MBUS_FMT_SBGGR10_2X8_PADLO_LE = 0x3006, | |
| 109 | − V4L2_MBUS_FMT_SBGGR10_1X10 = 0x3007, | |
| 110 | − V4L2_MBUS_FMT_SGBRG10_1X10 = 0x300e, | |
| 111 | − V4L2_MBUS_FMT_SGRBG10_1X10 = 0x300a, | |
| 112 | − V4L2_MBUS_FMT_SRGGB10_1X10 = 0x300f, | |
| 113 | − V4L2_MBUS_FMT_SBGGR12_1X12 = 0x3008, | |
| 114 | − V4L2_MBUS_FMT_SGBRG12_1X12 = 0x3010, | |
| 115 | − V4L2_MBUS_FMT_SGRBG12_1X12 = 0x3011, | |
| 116 | − V4L2_MBUS_FMT_SRGGB12_1X12 = 0x3012, | |
| 38 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(Y8_1X8), | |
| 39 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(UV8_1X8), | |
| 40 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY8_1_5X8), | |
| 41 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY8_1_5X8), | |
| 42 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV8_1_5X8), | |
| 43 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU8_1_5X8), | |
| 44 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY8_2X8), | |
| 45 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY8_2X8), | |
| 46 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV8_2X8), | |
| 47 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU8_2X8), | |
| 48 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(Y10_1X10), | |
| 49 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY10_2X10), | |
| 50 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY10_2X10), | |
| 51 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV10_2X10), | |
| 52 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU10_2X10), | |
| 53 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(Y12_1X12), | |
| 54 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY8_1X16), | |
| 55 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY8_1X16), | |
| 56 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV8_1X16), | |
| 57 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU8_1X16), | |
| 58 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(YDYUYDYV8_1X16), | |
| 59 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY10_1X20), | |
| 60 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY10_1X20), | |
| 61 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV10_1X20), | |
| 62 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU10_1X20), | |
| 63 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUV10_1X30), | |
| 64 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(AYUV8_1X32), | |
| 65 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY12_2X12), | |
| 66 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY12_2X12), | |
| 67 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV12_2X12), | |
| 68 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU12_2X12), | |
| 69 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY12_1X24), | |
| 70 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY12_1X24), | |
| 71 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV12_1X24), | |
| 72 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU12_1X24), | |
| 117 | 73 | |
| 118 | − /* JPEG compressed formats - next is 0x4002 */ | |
| 119 | − V4L2_MBUS_FMT_JPEG_1X8 = 0x4001, | |
| 74 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR8_1X8), | |
| 75 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGBRG8_1X8), | |
| 76 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGRBG8_1X8), | |
| 77 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SRGGB8_1X8), | |
| 78 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_ALAW8_1X8), | |
| 79 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGBRG10_ALAW8_1X8), | |
| 80 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGRBG10_ALAW8_1X8), | |
| 81 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SRGGB10_ALAW8_1X8), | |
| 82 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_DPCM8_1X8), | |
| 83 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGBRG10_DPCM8_1X8), | |
| 84 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGRBG10_DPCM8_1X8), | |
| 85 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SRGGB10_DPCM8_1X8), | |
| 86 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_2X8_PADHI_BE), | |
| 87 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_2X8_PADHI_LE), | |
| 88 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_2X8_PADLO_BE), | |
| 89 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_2X8_PADLO_LE), | |
| 90 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_1X10), | |
| 91 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGBRG10_1X10), | |
| 92 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGRBG10_1X10), | |
| 93 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SRGGB10_1X10), | |
| 94 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR12_1X12), | |
| 95 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGBRG12_1X12), | |
| 96 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGRBG12_1X12), | |
| 97 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(SRGGB12_1X12), | |
| 120 | 98 | |
| 121 | − /* Vendor specific formats - next is 0x5002 */ | |
| 99 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(JPEG_1X8), | |
| 122 | 100 | |
| 123 | − /* S5C73M3 sensor specific interleaved UYVY and JPEG */ | |
| 124 | − V4L2_MBUS_FMT_S5C_UYVY_JPEG_1X8 = 0x5001, | |
| 101 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(S5C_UYVY_JPEG_1X8), | |
| 125 | 102 | |
| 126 | − /* HSV - next is 0x6002 */ | |
| 127 | − V4L2_MBUS_FMT_AHSV8888_1X32 = 0x6001, | |
| 103 | + V4L2_MBUS_FROM_MEDIA_BUS_FMT(AHSV8888_1X32), | |
| 128 | 104 | }; |
| 129 | 105 | |
| 130 | 106 | /** |