11 #include <linux/kernel.h>
12 #include <linux/module.h>
18 static const struct soc_mbus_lookup mbus_fmt[] = {
103 .name =
"Bayer 8 BGGR",
104 .bits_per_sample = 8,
113 .name =
"Bayer 10 BGGR",
114 .bits_per_sample = 10,
124 .bits_per_sample = 8,
133 .name =
"Grey 10bit",
134 .bits_per_sample = 10,
143 .name =
"Bayer 10 BGGR",
144 .bits_per_sample = 8,
153 .name =
"Bayer 10 BGGR",
154 .bits_per_sample = 8,
163 .name =
"Bayer 10 BGGR",
164 .bits_per_sample = 8,
173 .name =
"Bayer 10 BGGR",
174 .bits_per_sample = 8,
184 .bits_per_sample = 8,
194 .bits_per_sample = 8,
203 .name =
"YUYV 4:2:0",
204 .bits_per_sample = 8,
213 .name =
"YVYU 4:2:0",
214 .bits_per_sample = 8,
223 .name =
"UYVY 16bit",
224 .bits_per_sample = 16,
233 .name =
"VYUY 16bit",
234 .bits_per_sample = 16,
243 .name =
"YUYV 16bit",
244 .bits_per_sample = 16,
253 .name =
"YVYU 16bit",
254 .bits_per_sample = 16,
263 .name =
"Bayer 8 GRBG",
264 .bits_per_sample = 8,
273 .name =
"Bayer 10 BGGR DPCM 8",
274 .bits_per_sample = 8,
283 .name =
"Bayer 10 GBRG",
284 .bits_per_sample = 10,
293 .name =
"Bayer 10 GRBG",
294 .bits_per_sample = 10,
303 .name =
"Bayer 10 RGGB",
304 .bits_per_sample = 10,
313 .name =
"Bayer 12 BGGR",
314 .bits_per_sample = 12,
323 .name =
"Bayer 12 GBRG",
324 .bits_per_sample = 12,
333 .name =
"Bayer 12 GRBG",
334 .bits_per_sample = 12,
343 .name =
"Bayer 12 RGGB",
344 .bits_per_sample = 12,
353 unsigned int *numerator,
unsigned int *denominator)
395 return width * 3 / 2;
410 return bytes_per_line *
height;
415 return bytes_per_line * height * 2;
417 return bytes_per_line * height * 3 / 2;
426 const struct soc_mbus_lookup *
lookup,
431 for (i = 0; i <
n; i++)
432 if (lookup[i].code == code)
433 return &lookup[
i].fmt;
451 bool mipi_lanes, mipi_clock;
467 return (!hsync || !vsync || !pclk || !data || !mode) ?
479 static int __init soc_mbus_init(
void)
484 static void __exit soc_mbus_exit(
void)