History

[media] Move mediabus format definition to a more standard place

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.

Boris BREZILLON committed 12 years ago

Commit edcf58b1 parent 698f6263 files · +206 −104Browse files

Showing the changes to include/uapi/linux (3 of 3 files). Show all

Unified · Split

3 files
  1. include/uapi/linux/Kbuild +1 −0
  2. include/uapi/linux/media-bus-format.h +125 −0
  3. include/uapi/linux/v4l2-mediabus.h +80 −104
include/uapi/linux/Kbuild+1−0
@@ -241,6 +241,7 @@ header-y += map_to_7segment.h · 240 unmodified lines
241241 header-y += matroxfb.h
242242 header-y += mdio.h
243243 header-y += media.h
244+header-y += media-bus-format.h
244245 header-y += mei.h
245246 header-y += memfd.h
246247 header-y += mempolicy.h
include/uapi/linux/media-bus-format.h+125−0
@@ -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 */
include/uapi/linux/v4l2-mediabus.h+80−104
@@ -11,120 +11,96 @@ · 10 unmodified lines
1111 #ifndef __LINUX_V4L2_MEDIABUS_H
1212 #define __LINUX_V4L2_MEDIABUS_H
1313
14+#include <linux/media-bus-format.h>
1415 #include <linux/types.h>
1516 #include <linux/videodev2.h>
1617
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
3920
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),
5423
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),
9137
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),
11773
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),
12098
121− /* Vendor specific formats - next is 0x5002 */
99+ V4L2_MBUS_FROM_MEDIA_BUS_FMT(JPEG_1X8),
122100
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),
125102
126− /* HSV - next is 0x6002 */
127− V4L2_MBUS_FMT_AHSV8888_1X32 = 0x6001,
103+ V4L2_MBUS_FROM_MEDIA_BUS_FMT(AHSV8888_1X32),
128104 };
129105
130106 /**