aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/platform/omap3isp
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/platform/omap3isp')
-rw-r--r--drivers/media/platform/omap3isp/ispccdc.c112
-rw-r--r--drivers/media/platform/omap3isp/ispccp2.c18
-rw-r--r--drivers/media/platform/omap3isp/ispcsi2.c42
-rw-r--r--drivers/media/platform/omap3isp/isppreview.c60
-rw-r--r--drivers/media/platform/omap3isp/ispresizer.c19
-rw-r--r--drivers/media/platform/omap3isp/ispvideo.c95
-rw-r--r--drivers/media/platform/omap3isp/ispvideo.h10
7 files changed, 175 insertions, 181 deletions
diff --git a/drivers/media/platform/omap3isp/ispccdc.c b/drivers/media/platform/omap3isp/ispccdc.c
index 81a9dc053d58..587489a072d5 100644
--- a/drivers/media/platform/omap3isp/ispccdc.c
+++ b/drivers/media/platform/omap3isp/ispccdc.c
@@ -36,23 +36,23 @@ __ccdc_get_format(struct isp_ccdc_device *ccdc, struct v4l2_subdev_fh *fh,
36 unsigned int pad, enum v4l2_subdev_format_whence which); 36 unsigned int pad, enum v4l2_subdev_format_whence which);
37 37
38static const unsigned int ccdc_fmts[] = { 38static const unsigned int ccdc_fmts[] = {
39 V4L2_MBUS_FMT_Y8_1X8, 39 MEDIA_BUS_FMT_Y8_1X8,
40 V4L2_MBUS_FMT_Y10_1X10, 40 MEDIA_BUS_FMT_Y10_1X10,
41 V4L2_MBUS_FMT_Y12_1X12, 41 MEDIA_BUS_FMT_Y12_1X12,
42 V4L2_MBUS_FMT_SGRBG8_1X8, 42 MEDIA_BUS_FMT_SGRBG8_1X8,
43 V4L2_MBUS_FMT_SRGGB8_1X8, 43 MEDIA_BUS_FMT_SRGGB8_1X8,
44 V4L2_MBUS_FMT_SBGGR8_1X8, 44 MEDIA_BUS_FMT_SBGGR8_1X8,
45 V4L2_MBUS_FMT_SGBRG8_1X8, 45 MEDIA_BUS_FMT_SGBRG8_1X8,
46 V4L2_MBUS_FMT_SGRBG10_1X10, 46 MEDIA_BUS_FMT_SGRBG10_1X10,
47 V4L2_MBUS_FMT_SRGGB10_1X10, 47 MEDIA_BUS_FMT_SRGGB10_1X10,
48 V4L2_MBUS_FMT_SBGGR10_1X10, 48 MEDIA_BUS_FMT_SBGGR10_1X10,
49 V4L2_MBUS_FMT_SGBRG10_1X10, 49 MEDIA_BUS_FMT_SGBRG10_1X10,
50 V4L2_MBUS_FMT_SGRBG12_1X12, 50 MEDIA_BUS_FMT_SGRBG12_1X12,
51 V4L2_MBUS_FMT_SRGGB12_1X12, 51 MEDIA_BUS_FMT_SRGGB12_1X12,
52 V4L2_MBUS_FMT_SBGGR12_1X12, 52 MEDIA_BUS_FMT_SBGGR12_1X12,
53 V4L2_MBUS_FMT_SGBRG12_1X12, 53 MEDIA_BUS_FMT_SGBRG12_1X12,
54 V4L2_MBUS_FMT_YUYV8_2X8, 54 MEDIA_BUS_FMT_YUYV8_2X8,
55 V4L2_MBUS_FMT_UYVY8_2X8, 55 MEDIA_BUS_FMT_UYVY8_2X8,
56}; 56};
57 57
58/* 58/*
@@ -266,10 +266,10 @@ static int __ccdc_lsc_enable(struct isp_ccdc_device *ccdc, int enable)
266 __ccdc_get_format(ccdc, NULL, CCDC_PAD_SINK, 266 __ccdc_get_format(ccdc, NULL, CCDC_PAD_SINK,
267 V4L2_SUBDEV_FORMAT_ACTIVE); 267 V4L2_SUBDEV_FORMAT_ACTIVE);
268 268
269 if ((format->code != V4L2_MBUS_FMT_SGRBG10_1X10) && 269 if ((format->code != MEDIA_BUS_FMT_SGRBG10_1X10) &&
270 (format->code != V4L2_MBUS_FMT_SRGGB10_1X10) && 270 (format->code != MEDIA_BUS_FMT_SRGGB10_1X10) &&
271 (format->code != V4L2_MBUS_FMT_SBGGR10_1X10) && 271 (format->code != MEDIA_BUS_FMT_SBGGR10_1X10) &&
272 (format->code != V4L2_MBUS_FMT_SGBRG10_1X10)) 272 (format->code != MEDIA_BUS_FMT_SGBRG10_1X10))
273 return -EINVAL; 273 return -EINVAL;
274 274
275 if (enable) 275 if (enable)
@@ -971,8 +971,8 @@ static void ccdc_config_sync_if(struct isp_ccdc_device *ccdc,
971 971
972 format = &ccdc->formats[CCDC_PAD_SINK]; 972 format = &ccdc->formats[CCDC_PAD_SINK];
973 973
974 if (format->code == V4L2_MBUS_FMT_YUYV8_2X8 || 974 if (format->code == MEDIA_BUS_FMT_YUYV8_2X8 ||
975 format->code == V4L2_MBUS_FMT_UYVY8_2X8) { 975 format->code == MEDIA_BUS_FMT_UYVY8_2X8) {
976 /* According to the OMAP3 TRM the input mode only affects SYNC 976 /* According to the OMAP3 TRM the input mode only affects SYNC
977 * mode, enabling BT.656 mode should take precedence. However, 977 * mode, enabling BT.656 mode should take precedence. However,
978 * in practice setting the input mode to YCbCr data on 8 bits 978 * in practice setting the input mode to YCbCr data on 8 bits
@@ -1020,7 +1020,7 @@ static void ccdc_config_sync_if(struct isp_ccdc_device *ccdc,
1020 /* The CCDC_CFG.Y8POS bit is used in YCbCr8 input mode only. The 1020 /* The CCDC_CFG.Y8POS bit is used in YCbCr8 input mode only. The
1021 * hardware seems to ignore it in all other input modes. 1021 * hardware seems to ignore it in all other input modes.
1022 */ 1022 */
1023 if (format->code == V4L2_MBUS_FMT_UYVY8_2X8) 1023 if (format->code == MEDIA_BUS_FMT_UYVY8_2X8)
1024 isp_reg_set(isp, OMAP3_ISP_IOMEM_CCDC, ISPCCDC_CFG, 1024 isp_reg_set(isp, OMAP3_ISP_IOMEM_CCDC, ISPCCDC_CFG,
1025 ISPCCDC_CFG_Y8POS); 1025 ISPCCDC_CFG_Y8POS);
1026 else 1026 else
@@ -1168,9 +1168,9 @@ static void ccdc_configure(struct isp_ccdc_device *ccdc)
1168 1168
1169 if (ccdc->bt656) 1169 if (ccdc->bt656)
1170 bridge = ISPCTRL_PAR_BRIDGE_DISABLE; 1170 bridge = ISPCTRL_PAR_BRIDGE_DISABLE;
1171 else if (fmt_info->code == V4L2_MBUS_FMT_YUYV8_2X8) 1171 else if (fmt_info->code == MEDIA_BUS_FMT_YUYV8_2X8)
1172 bridge = ISPCTRL_PAR_BRIDGE_LENDIAN; 1172 bridge = ISPCTRL_PAR_BRIDGE_LENDIAN;
1173 else if (fmt_info->code == V4L2_MBUS_FMT_UYVY8_2X8) 1173 else if (fmt_info->code == MEDIA_BUS_FMT_UYVY8_2X8)
1174 bridge = ISPCTRL_PAR_BRIDGE_BENDIAN; 1174 bridge = ISPCTRL_PAR_BRIDGE_BENDIAN;
1175 else 1175 else
1176 bridge = ISPCTRL_PAR_BRIDGE_DISABLE; 1176 bridge = ISPCTRL_PAR_BRIDGE_DISABLE;
@@ -1199,16 +1199,16 @@ static void ccdc_configure(struct isp_ccdc_device *ccdc)
1199 1199
1200 /* Mosaic filter */ 1200 /* Mosaic filter */
1201 switch (format->code) { 1201 switch (format->code) {
1202 case V4L2_MBUS_FMT_SRGGB10_1X10: 1202 case MEDIA_BUS_FMT_SRGGB10_1X10:
1203 case V4L2_MBUS_FMT_SRGGB12_1X12: 1203 case MEDIA_BUS_FMT_SRGGB12_1X12:
1204 ccdc_pattern = ccdc_srggb_pattern; 1204 ccdc_pattern = ccdc_srggb_pattern;
1205 break; 1205 break;
1206 case V4L2_MBUS_FMT_SBGGR10_1X10: 1206 case MEDIA_BUS_FMT_SBGGR10_1X10:
1207 case V4L2_MBUS_FMT_SBGGR12_1X12: 1207 case MEDIA_BUS_FMT_SBGGR12_1X12:
1208 ccdc_pattern = ccdc_sbggr_pattern; 1208 ccdc_pattern = ccdc_sbggr_pattern;
1209 break; 1209 break;
1210 case V4L2_MBUS_FMT_SGBRG10_1X10: 1210 case MEDIA_BUS_FMT_SGBRG10_1X10:
1211 case V4L2_MBUS_FMT_SGBRG12_1X12: 1211 case MEDIA_BUS_FMT_SGBRG12_1X12:
1212 ccdc_pattern = ccdc_sgbrg_pattern; 1212 ccdc_pattern = ccdc_sgbrg_pattern;
1213 break; 1213 break;
1214 default: 1214 default:
@@ -1267,7 +1267,7 @@ static void ccdc_configure(struct isp_ccdc_device *ccdc)
1267 /* The CCDC outputs data in UYVY order by default. Swap bytes to get 1267 /* The CCDC outputs data in UYVY order by default. Swap bytes to get
1268 * YUYV. 1268 * YUYV.
1269 */ 1269 */
1270 if (format->code == V4L2_MBUS_FMT_YUYV8_1X16) 1270 if (format->code == MEDIA_BUS_FMT_YUYV8_1X16)
1271 isp_reg_set(isp, OMAP3_ISP_IOMEM_CCDC, ISPCCDC_CFG, 1271 isp_reg_set(isp, OMAP3_ISP_IOMEM_CCDC, ISPCCDC_CFG,
1272 ISPCCDC_CFG_BSWD); 1272 ISPCCDC_CFG_BSWD);
1273 else 1273 else
@@ -1967,7 +1967,7 @@ ccdc_try_format(struct isp_ccdc_device *ccdc, struct v4l2_subdev_fh *fh,
1967 enum v4l2_subdev_format_whence which) 1967 enum v4l2_subdev_format_whence which)
1968{ 1968{
1969 const struct isp_format_info *info; 1969 const struct isp_format_info *info;
1970 enum v4l2_mbus_pixelcode pixelcode; 1970 u32 pixelcode;
1971 unsigned int width = fmt->width; 1971 unsigned int width = fmt->width;
1972 unsigned int height = fmt->height; 1972 unsigned int height = fmt->height;
1973 struct v4l2_rect *crop; 1973 struct v4l2_rect *crop;
@@ -1983,7 +1983,7 @@ ccdc_try_format(struct isp_ccdc_device *ccdc, struct v4l2_subdev_fh *fh,
1983 1983
1984 /* If not found, use SGRBG10 as default */ 1984 /* If not found, use SGRBG10 as default */
1985 if (i >= ARRAY_SIZE(ccdc_fmts)) 1985 if (i >= ARRAY_SIZE(ccdc_fmts))
1986 fmt->code = V4L2_MBUS_FMT_SGRBG10_1X10; 1986 fmt->code = MEDIA_BUS_FMT_SGRBG10_1X10;
1987 1987
1988 /* Clamp the input size. */ 1988 /* Clamp the input size. */
1989 fmt->width = clamp_t(u32, width, 32, 4096); 1989 fmt->width = clamp_t(u32, width, 32, 4096);
@@ -2007,19 +2007,19 @@ ccdc_try_format(struct isp_ccdc_device *ccdc, struct v4l2_subdev_fh *fh,
2007 * configured to pack bytes in BT.656, hiding the inaccuracy. 2007 * configured to pack bytes in BT.656, hiding the inaccuracy.
2008 * In all cases bytes can be swapped. 2008 * In all cases bytes can be swapped.
2009 */ 2009 */
2010 if (fmt->code == V4L2_MBUS_FMT_YUYV8_2X8 || 2010 if (fmt->code == MEDIA_BUS_FMT_YUYV8_2X8 ||
2011 fmt->code == V4L2_MBUS_FMT_UYVY8_2X8) { 2011 fmt->code == MEDIA_BUS_FMT_UYVY8_2X8) {
2012 /* Use the user requested format if YUV. */ 2012 /* Use the user requested format if YUV. */
2013 if (pixelcode == V4L2_MBUS_FMT_YUYV8_2X8 || 2013 if (pixelcode == MEDIA_BUS_FMT_YUYV8_2X8 ||
2014 pixelcode == V4L2_MBUS_FMT_UYVY8_2X8 || 2014 pixelcode == MEDIA_BUS_FMT_UYVY8_2X8 ||
2015 pixelcode == V4L2_MBUS_FMT_YUYV8_1X16 || 2015 pixelcode == MEDIA_BUS_FMT_YUYV8_1X16 ||
2016 pixelcode == V4L2_MBUS_FMT_UYVY8_1X16) 2016 pixelcode == MEDIA_BUS_FMT_UYVY8_1X16)
2017 fmt->code = pixelcode; 2017 fmt->code = pixelcode;
2018 2018
2019 if (fmt->code == V4L2_MBUS_FMT_YUYV8_2X8) 2019 if (fmt->code == MEDIA_BUS_FMT_YUYV8_2X8)
2020 fmt->code = V4L2_MBUS_FMT_YUYV8_1X16; 2020 fmt->code = MEDIA_BUS_FMT_YUYV8_1X16;
2021 else if (fmt->code == V4L2_MBUS_FMT_UYVY8_2X8) 2021 else if (fmt->code == MEDIA_BUS_FMT_UYVY8_2X8)
2022 fmt->code = V4L2_MBUS_FMT_UYVY8_1X16; 2022 fmt->code = MEDIA_BUS_FMT_UYVY8_1X16;
2023 } 2023 }
2024 2024
2025 /* Hardcode the output size to the crop rectangle size. */ 2025 /* Hardcode the output size to the crop rectangle size. */
@@ -2047,8 +2047,8 @@ ccdc_try_format(struct isp_ccdc_device *ccdc, struct v4l2_subdev_fh *fh,
2047 fmt->code = info->truncated; 2047 fmt->code = info->truncated;
2048 2048
2049 /* YUV formats are not supported by the video port. */ 2049 /* YUV formats are not supported by the video port. */
2050 if (fmt->code == V4L2_MBUS_FMT_YUYV8_2X8 || 2050 if (fmt->code == MEDIA_BUS_FMT_YUYV8_2X8 ||
2051 fmt->code == V4L2_MBUS_FMT_UYVY8_2X8) 2051 fmt->code == MEDIA_BUS_FMT_UYVY8_2X8)
2052 fmt->code = 0; 2052 fmt->code = 0;
2053 2053
2054 /* The number of lines that can be clocked out from the video 2054 /* The number of lines that can be clocked out from the video
@@ -2083,7 +2083,7 @@ static void ccdc_try_crop(struct isp_ccdc_device *ccdc,
2083 * to keep the Bayer pattern. 2083 * to keep the Bayer pattern.
2084 */ 2084 */
2085 info = omap3isp_video_format_info(sink->code); 2085 info = omap3isp_video_format_info(sink->code);
2086 if (info->flavor != V4L2_MBUS_FMT_Y8_1X8) { 2086 if (info->flavor != MEDIA_BUS_FMT_Y8_1X8) {
2087 crop->left &= ~1; 2087 crop->left &= ~1;
2088 crop->top &= ~1; 2088 crop->top &= ~1;
2089 } 2089 }
@@ -2103,7 +2103,7 @@ static void ccdc_try_crop(struct isp_ccdc_device *ccdc,
2103 sink->height - crop->top); 2103 sink->height - crop->top);
2104 2104
2105 /* Odd width/height values don't make sense for Bayer formats. */ 2105 /* Odd width/height values don't make sense for Bayer formats. */
2106 if (info->flavor != V4L2_MBUS_FMT_Y8_1X8) { 2106 if (info->flavor != MEDIA_BUS_FMT_Y8_1X8) {
2107 crop->width &= ~1; 2107 crop->width &= ~1;
2108 crop->height &= ~1; 2108 crop->height &= ~1;
2109 } 2109 }
@@ -2135,13 +2135,13 @@ static int ccdc_enum_mbus_code(struct v4l2_subdev *sd,
2135 format = __ccdc_get_format(ccdc, fh, code->pad, 2135 format = __ccdc_get_format(ccdc, fh, code->pad,
2136 V4L2_SUBDEV_FORMAT_TRY); 2136 V4L2_SUBDEV_FORMAT_TRY);
2137 2137
2138 if (format->code == V4L2_MBUS_FMT_YUYV8_2X8 || 2138 if (format->code == MEDIA_BUS_FMT_YUYV8_2X8 ||
2139 format->code == V4L2_MBUS_FMT_UYVY8_2X8) { 2139 format->code == MEDIA_BUS_FMT_UYVY8_2X8) {
2140 /* In YUV mode the CCDC can swap bytes. */ 2140 /* In YUV mode the CCDC can swap bytes. */
2141 if (code->index == 0) 2141 if (code->index == 0)
2142 code->code = V4L2_MBUS_FMT_YUYV8_1X16; 2142 code->code = MEDIA_BUS_FMT_YUYV8_1X16;
2143 else if (code->index == 1) 2143 else if (code->index == 1)
2144 code->code = V4L2_MBUS_FMT_UYVY8_1X16; 2144 code->code = MEDIA_BUS_FMT_UYVY8_1X16;
2145 else 2145 else
2146 return -EINVAL; 2146 return -EINVAL;
2147 } else { 2147 } else {
@@ -2383,9 +2383,7 @@ static int ccdc_set_format(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh,
2383 * return true if the combination is possible 2383 * return true if the combination is possible
2384 * return false otherwise 2384 * return false otherwise
2385 */ 2385 */
2386static bool ccdc_is_shiftable(enum v4l2_mbus_pixelcode in, 2386static bool ccdc_is_shiftable(u32 in, u32 out, unsigned int additional_shift)
2387 enum v4l2_mbus_pixelcode out,
2388 unsigned int additional_shift)
2389{ 2387{
2390 const struct isp_format_info *in_info, *out_info; 2388 const struct isp_format_info *in_info, *out_info;
2391 2389
@@ -2452,7 +2450,7 @@ static int ccdc_init_formats(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)
2452 memset(&format, 0, sizeof(format)); 2450 memset(&format, 0, sizeof(format));
2453 format.pad = CCDC_PAD_SINK; 2451 format.pad = CCDC_PAD_SINK;
2454 format.which = fh ? V4L2_SUBDEV_FORMAT_TRY : V4L2_SUBDEV_FORMAT_ACTIVE; 2452 format.which = fh ? V4L2_SUBDEV_FORMAT_TRY : V4L2_SUBDEV_FORMAT_ACTIVE;
2455 format.format.code = V4L2_MBUS_FMT_SGRBG10_1X10; 2453 format.format.code = MEDIA_BUS_FMT_SGRBG10_1X10;
2456 format.format.width = 4096; 2454 format.format.width = 4096;
2457 format.format.height = 4096; 2455 format.format.height = 4096;
2458 ccdc_set_format(sd, fh, &format); 2456 ccdc_set_format(sd, fh, &format);
diff --git a/drivers/media/platform/omap3isp/ispccp2.c b/drivers/media/platform/omap3isp/ispccp2.c
index 9cb49b3c04bd..f4aedb37e41e 100644
--- a/drivers/media/platform/omap3isp/ispccp2.c
+++ b/drivers/media/platform/omap3isp/ispccp2.c
@@ -289,10 +289,10 @@ static void ccp2_lcx_config(struct isp_ccp2_device *ccp2,
289 u32 val, format; 289 u32 val, format;
290 290
291 switch (config->format) { 291 switch (config->format) {
292 case V4L2_MBUS_FMT_SGRBG10_DPCM8_1X8: 292 case MEDIA_BUS_FMT_SGRBG10_DPCM8_1X8:
293 format = ISPCCP2_LCx_CTRL_FORMAT_RAW8_DPCM10_VP; 293 format = ISPCCP2_LCx_CTRL_FORMAT_RAW8_DPCM10_VP;
294 break; 294 break;
295 case V4L2_MBUS_FMT_SGRBG10_1X10: 295 case MEDIA_BUS_FMT_SGRBG10_1X10:
296 default: 296 default:
297 format = ISPCCP2_LCx_CTRL_FORMAT_RAW10_VP; /* RAW10+VP */ 297 format = ISPCCP2_LCx_CTRL_FORMAT_RAW10_VP; /* RAW10+VP */
298 break; 298 break;
@@ -438,7 +438,7 @@ static void ccp2_mem_configure(struct isp_ccp2_device *ccp2,
438 u32 val, hwords; 438 u32 val, hwords;
439 439
440 if (sink_pixcode != source_pixcode && 440 if (sink_pixcode != source_pixcode &&
441 sink_pixcode == V4L2_MBUS_FMT_SGRBG10_DPCM8_1X8) 441 sink_pixcode == MEDIA_BUS_FMT_SGRBG10_DPCM8_1X8)
442 dpcm_decompress = 1; 442 dpcm_decompress = 1;
443 443
444 ccp2_pwr_cfg(ccp2); 444 ccp2_pwr_cfg(ccp2);
@@ -604,8 +604,8 @@ void omap3isp_ccp2_isr(struct isp_ccp2_device *ccp2)
604 */ 604 */
605 605
606static const unsigned int ccp2_fmts[] = { 606static const unsigned int ccp2_fmts[] = {
607 V4L2_MBUS_FMT_SGRBG10_1X10, 607 MEDIA_BUS_FMT_SGRBG10_1X10,
608 V4L2_MBUS_FMT_SGRBG10_DPCM8_1X8, 608 MEDIA_BUS_FMT_SGRBG10_DPCM8_1X8,
609}; 609};
610 610
611/* 611/*
@@ -643,8 +643,8 @@ static void ccp2_try_format(struct isp_ccp2_device *ccp2,
643 643
644 switch (pad) { 644 switch (pad) {
645 case CCP2_PAD_SINK: 645 case CCP2_PAD_SINK:
646 if (fmt->code != V4L2_MBUS_FMT_SGRBG10_DPCM8_1X8) 646 if (fmt->code != MEDIA_BUS_FMT_SGRBG10_DPCM8_1X8)
647 fmt->code = V4L2_MBUS_FMT_SGRBG10_1X10; 647 fmt->code = MEDIA_BUS_FMT_SGRBG10_1X10;
648 648
649 if (ccp2->input == CCP2_INPUT_SENSOR) { 649 if (ccp2->input == CCP2_INPUT_SENSOR) {
650 fmt->width = clamp_t(u32, fmt->width, 650 fmt->width = clamp_t(u32, fmt->width,
@@ -671,7 +671,7 @@ static void ccp2_try_format(struct isp_ccp2_device *ccp2,
671 */ 671 */
672 format = __ccp2_get_format(ccp2, fh, CCP2_PAD_SINK, which); 672 format = __ccp2_get_format(ccp2, fh, CCP2_PAD_SINK, which);
673 memcpy(fmt, format, sizeof(*fmt)); 673 memcpy(fmt, format, sizeof(*fmt));
674 fmt->code = V4L2_MBUS_FMT_SGRBG10_1X10; 674 fmt->code = MEDIA_BUS_FMT_SGRBG10_1X10;
675 break; 675 break;
676 } 676 }
677 677
@@ -808,7 +808,7 @@ static int ccp2_init_formats(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)
808 memset(&format, 0, sizeof(format)); 808 memset(&format, 0, sizeof(format));
809 format.pad = CCP2_PAD_SINK; 809 format.pad = CCP2_PAD_SINK;
810 format.which = fh ? V4L2_SUBDEV_FORMAT_TRY : V4L2_SUBDEV_FORMAT_ACTIVE; 810 format.which = fh ? V4L2_SUBDEV_FORMAT_TRY : V4L2_SUBDEV_FORMAT_ACTIVE;
811 format.format.code = V4L2_MBUS_FMT_SGRBG10_1X10; 811 format.format.code = MEDIA_BUS_FMT_SGRBG10_1X10;
812 format.format.width = 4096; 812 format.format.width = 4096;
813 format.format.height = 4096; 813 format.format.height = 4096;
814 ccp2_set_format(sd, fh, &format); 814 ccp2_set_format(sd, fh, &format);
diff --git a/drivers/media/platform/omap3isp/ispcsi2.c b/drivers/media/platform/omap3isp/ispcsi2.c
index 6530b255f103..09c686d96ae8 100644
--- a/drivers/media/platform/omap3isp/ispcsi2.c
+++ b/drivers/media/platform/omap3isp/ispcsi2.c
@@ -78,15 +78,15 @@ static void csi2_recv_config(struct isp_device *isp,
78} 78}
79 79
80static const unsigned int csi2_input_fmts[] = { 80static const unsigned int csi2_input_fmts[] = {
81 V4L2_MBUS_FMT_SGRBG10_1X10, 81 MEDIA_BUS_FMT_SGRBG10_1X10,
82 V4L2_MBUS_FMT_SGRBG10_DPCM8_1X8, 82 MEDIA_BUS_FMT_SGRBG10_DPCM8_1X8,
83 V4L2_MBUS_FMT_SRGGB10_1X10, 83 MEDIA_BUS_FMT_SRGGB10_1X10,
84 V4L2_MBUS_FMT_SRGGB10_DPCM8_1X8, 84 MEDIA_BUS_FMT_SRGGB10_DPCM8_1X8,
85 V4L2_MBUS_FMT_SBGGR10_1X10, 85 MEDIA_BUS_FMT_SBGGR10_1X10,
86 V4L2_MBUS_FMT_SBGGR10_DPCM8_1X8, 86 MEDIA_BUS_FMT_SBGGR10_DPCM8_1X8,
87 V4L2_MBUS_FMT_SGBRG10_1X10, 87 MEDIA_BUS_FMT_SGBRG10_1X10,
88 V4L2_MBUS_FMT_SGBRG10_DPCM8_1X8, 88 MEDIA_BUS_FMT_SGBRG10_DPCM8_1X8,
89 V4L2_MBUS_FMT_YUYV8_2X8, 89 MEDIA_BUS_FMT_YUYV8_2X8,
90}; 90};
91 91
92/* To set the format on the CSI2 requires a mapping function that takes 92/* To set the format on the CSI2 requires a mapping function that takes
@@ -171,19 +171,19 @@ static u16 csi2_ctx_map_format(struct isp_csi2_device *csi2)
171 int fmtidx, destidx, is_3630; 171 int fmtidx, destidx, is_3630;
172 172
173 switch (fmt->code) { 173 switch (fmt->code) {
174 case V4L2_MBUS_FMT_SGRBG10_1X10: 174 case MEDIA_BUS_FMT_SGRBG10_1X10:
175 case V4L2_MBUS_FMT_SRGGB10_1X10: 175 case MEDIA_BUS_FMT_SRGGB10_1X10:
176 case V4L2_MBUS_FMT_SBGGR10_1X10: 176 case MEDIA_BUS_FMT_SBGGR10_1X10:
177 case V4L2_MBUS_FMT_SGBRG10_1X10: 177 case MEDIA_BUS_FMT_SGBRG10_1X10:
178 fmtidx = 0; 178 fmtidx = 0;
179 break; 179 break;
180 case V4L2_MBUS_FMT_SGRBG10_DPCM8_1X8: 180 case MEDIA_BUS_FMT_SGRBG10_DPCM8_1X8:
181 case V4L2_MBUS_FMT_SRGGB10_DPCM8_1X8: 181 case MEDIA_BUS_FMT_SRGGB10_DPCM8_1X8:
182 case V4L2_MBUS_FMT_SBGGR10_DPCM8_1X8: 182 case MEDIA_BUS_FMT_SBGGR10_DPCM8_1X8:
183 case V4L2_MBUS_FMT_SGBRG10_DPCM8_1X8: 183 case MEDIA_BUS_FMT_SGBRG10_DPCM8_1X8:
184 fmtidx = 1; 184 fmtidx = 1;
185 break; 185 break;
186 case V4L2_MBUS_FMT_YUYV8_2X8: 186 case MEDIA_BUS_FMT_YUYV8_2X8:
187 fmtidx = 2; 187 fmtidx = 2;
188 break; 188 break;
189 default: 189 default:
@@ -843,7 +843,7 @@ csi2_try_format(struct isp_csi2_device *csi2, struct v4l2_subdev_fh *fh,
843 unsigned int pad, struct v4l2_mbus_framefmt *fmt, 843 unsigned int pad, struct v4l2_mbus_framefmt *fmt,
844 enum v4l2_subdev_format_whence which) 844 enum v4l2_subdev_format_whence which)
845{ 845{
846 enum v4l2_mbus_pixelcode pixelcode; 846 u32 pixelcode;
847 struct v4l2_mbus_framefmt *format; 847 struct v4l2_mbus_framefmt *format;
848 const struct isp_format_info *info; 848 const struct isp_format_info *info;
849 unsigned int i; 849 unsigned int i;
@@ -858,7 +858,7 @@ csi2_try_format(struct isp_csi2_device *csi2, struct v4l2_subdev_fh *fh,
858 858
859 /* If not found, use SGRBG10 as default */ 859 /* If not found, use SGRBG10 as default */
860 if (i >= ARRAY_SIZE(csi2_input_fmts)) 860 if (i >= ARRAY_SIZE(csi2_input_fmts))
861 fmt->code = V4L2_MBUS_FMT_SGRBG10_1X10; 861 fmt->code = MEDIA_BUS_FMT_SGRBG10_1X10;
862 862
863 fmt->width = clamp_t(u32, fmt->width, 1, 8191); 863 fmt->width = clamp_t(u32, fmt->width, 1, 8191);
864 fmt->height = clamp_t(u32, fmt->height, 1, 8191); 864 fmt->height = clamp_t(u32, fmt->height, 1, 8191);
@@ -1029,7 +1029,7 @@ static int csi2_init_formats(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)
1029 memset(&format, 0, sizeof(format)); 1029 memset(&format, 0, sizeof(format));
1030 format.pad = CSI2_PAD_SINK; 1030 format.pad = CSI2_PAD_SINK;
1031 format.which = fh ? V4L2_SUBDEV_FORMAT_TRY : V4L2_SUBDEV_FORMAT_ACTIVE; 1031 format.which = fh ? V4L2_SUBDEV_FORMAT_TRY : V4L2_SUBDEV_FORMAT_ACTIVE;
1032 format.format.code = V4L2_MBUS_FMT_SGRBG10_1X10; 1032 format.format.code = MEDIA_BUS_FMT_SGRBG10_1X10;
1033 format.format.width = 4096; 1033 format.format.width = 4096;
1034 format.format.height = 4096; 1034 format.format.height = 4096;
1035 csi2_set_format(sd, fh, &format); 1035 csi2_set_format(sd, fh, &format);
diff --git a/drivers/media/platform/omap3isp/isppreview.c b/drivers/media/platform/omap3isp/isppreview.c
index 605f57ef0a49..dd9eed45d853 100644
--- a/drivers/media/platform/omap3isp/isppreview.c
+++ b/drivers/media/platform/omap3isp/isppreview.c
@@ -964,18 +964,16 @@ static void preview_setup_hw(struct isp_prev_device *prev, u32 update,
964 * @prev: pointer to previewer private structure 964 * @prev: pointer to previewer private structure
965 * @pixelcode: pixel code 965 * @pixelcode: pixel code
966 */ 966 */
967static void 967static void preview_config_ycpos(struct isp_prev_device *prev, u32 pixelcode)
968preview_config_ycpos(struct isp_prev_device *prev,
969 enum v4l2_mbus_pixelcode pixelcode)
970{ 968{
971 struct isp_device *isp = to_isp_device(prev); 969 struct isp_device *isp = to_isp_device(prev);
972 enum preview_ycpos_mode mode; 970 enum preview_ycpos_mode mode;
973 971
974 switch (pixelcode) { 972 switch (pixelcode) {
975 case V4L2_MBUS_FMT_YUYV8_1X16: 973 case MEDIA_BUS_FMT_YUYV8_1X16:
976 mode = YCPOS_CrYCbY; 974 mode = YCPOS_CrYCbY;
977 break; 975 break;
978 case V4L2_MBUS_FMT_UYVY8_1X16: 976 case MEDIA_BUS_FMT_UYVY8_1X16:
979 mode = YCPOS_YCrYCb; 977 mode = YCPOS_YCrYCb;
980 break; 978 break;
981 default: 979 default:
@@ -1028,16 +1026,16 @@ static void preview_config_input_format(struct isp_prev_device *prev,
1028 ISPPRV_PCR_WIDTH); 1026 ISPPRV_PCR_WIDTH);
1029 1027
1030 switch (info->flavor) { 1028 switch (info->flavor) {
1031 case V4L2_MBUS_FMT_SGRBG8_1X8: 1029 case MEDIA_BUS_FMT_SGRBG8_1X8:
1032 prev->params.cfa_order = 0; 1030 prev->params.cfa_order = 0;
1033 break; 1031 break;
1034 case V4L2_MBUS_FMT_SRGGB8_1X8: 1032 case MEDIA_BUS_FMT_SRGGB8_1X8:
1035 prev->params.cfa_order = 1; 1033 prev->params.cfa_order = 1;
1036 break; 1034 break;
1037 case V4L2_MBUS_FMT_SBGGR8_1X8: 1035 case MEDIA_BUS_FMT_SBGGR8_1X8:
1038 prev->params.cfa_order = 2; 1036 prev->params.cfa_order = 2;
1039 break; 1037 break;
1040 case V4L2_MBUS_FMT_SGBRG8_1X8: 1038 case MEDIA_BUS_FMT_SGBRG8_1X8:
1041 prev->params.cfa_order = 3; 1039 prev->params.cfa_order = 3;
1042 break; 1040 break;
1043 default: 1041 default:
@@ -1078,8 +1076,8 @@ static void preview_config_input_size(struct isp_prev_device *prev, u32 active)
1078 unsigned int elv = prev->crop.top + prev->crop.height - 1; 1076 unsigned int elv = prev->crop.top + prev->crop.height - 1;
1079 u32 features; 1077 u32 features;
1080 1078
1081 if (format->code != V4L2_MBUS_FMT_Y8_1X8 && 1079 if (format->code != MEDIA_BUS_FMT_Y8_1X8 &&
1082 format->code != V4L2_MBUS_FMT_Y10_1X10) { 1080 format->code != MEDIA_BUS_FMT_Y10_1X10) {
1083 sph -= 2; 1081 sph -= 2;
1084 eph += 2; 1082 eph += 2;
1085 slv -= 2; 1083 slv -= 2;
@@ -1709,21 +1707,21 @@ __preview_get_crop(struct isp_prev_device *prev, struct v4l2_subdev_fh *fh,
1709 1707
1710/* previewer format descriptions */ 1708/* previewer format descriptions */
1711static const unsigned int preview_input_fmts[] = { 1709static const unsigned int preview_input_fmts[] = {
1712 V4L2_MBUS_FMT_Y8_1X8, 1710 MEDIA_BUS_FMT_Y8_1X8,
1713 V4L2_MBUS_FMT_SGRBG8_1X8, 1711 MEDIA_BUS_FMT_SGRBG8_1X8,
1714 V4L2_MBUS_FMT_SRGGB8_1X8, 1712 MEDIA_BUS_FMT_SRGGB8_1X8,
1715 V4L2_MBUS_FMT_SBGGR8_1X8, 1713 MEDIA_BUS_FMT_SBGGR8_1X8,
1716 V4L2_MBUS_FMT_SGBRG8_1X8, 1714 MEDIA_BUS_FMT_SGBRG8_1X8,
1717 V4L2_MBUS_FMT_Y10_1X10, 1715 MEDIA_BUS_FMT_Y10_1X10,
1718 V4L2_MBUS_FMT_SGRBG10_1X10, 1716 MEDIA_BUS_FMT_SGRBG10_1X10,
1719 V4L2_MBUS_FMT_SRGGB10_1X10, 1717 MEDIA_BUS_FMT_SRGGB10_1X10,
1720 V4L2_MBUS_FMT_SBGGR10_1X10, 1718 MEDIA_BUS_FMT_SBGGR10_1X10,
1721 V4L2_MBUS_FMT_SGBRG10_1X10, 1719 MEDIA_BUS_FMT_SGBRG10_1X10,
1722}; 1720};
1723 1721
1724static const unsigned int preview_output_fmts[] = { 1722static const unsigned int preview_output_fmts[] = {
1725 V4L2_MBUS_FMT_UYVY8_1X16, 1723 MEDIA_BUS_FMT_UYVY8_1X16,
1726 V4L2_MBUS_FMT_YUYV8_1X16, 1724 MEDIA_BUS_FMT_YUYV8_1X16,
1727}; 1725};
1728 1726
1729/* 1727/*
@@ -1742,7 +1740,7 @@ static void preview_try_format(struct isp_prev_device *prev,
1742 struct v4l2_mbus_framefmt *fmt, 1740 struct v4l2_mbus_framefmt *fmt,
1743 enum v4l2_subdev_format_whence which) 1741 enum v4l2_subdev_format_whence which)
1744{ 1742{
1745 enum v4l2_mbus_pixelcode pixelcode; 1743 u32 pixelcode;
1746 struct v4l2_rect *crop; 1744 struct v4l2_rect *crop;
1747 unsigned int i; 1745 unsigned int i;
1748 1746
@@ -1774,7 +1772,7 @@ static void preview_try_format(struct isp_prev_device *prev,
1774 1772
1775 /* If not found, use SGRBG10 as default */ 1773 /* If not found, use SGRBG10 as default */
1776 if (i >= ARRAY_SIZE(preview_input_fmts)) 1774 if (i >= ARRAY_SIZE(preview_input_fmts))
1777 fmt->code = V4L2_MBUS_FMT_SGRBG10_1X10; 1775 fmt->code = MEDIA_BUS_FMT_SGRBG10_1X10;
1778 break; 1776 break;
1779 1777
1780 case PREV_PAD_SOURCE: 1778 case PREV_PAD_SOURCE:
@@ -1782,13 +1780,13 @@ static void preview_try_format(struct isp_prev_device *prev,
1782 *fmt = *__preview_get_format(prev, fh, PREV_PAD_SINK, which); 1780 *fmt = *__preview_get_format(prev, fh, PREV_PAD_SINK, which);
1783 1781
1784 switch (pixelcode) { 1782 switch (pixelcode) {
1785 case V4L2_MBUS_FMT_YUYV8_1X16: 1783 case MEDIA_BUS_FMT_YUYV8_1X16:
1786 case V4L2_MBUS_FMT_UYVY8_1X16: 1784 case MEDIA_BUS_FMT_UYVY8_1X16:
1787 fmt->code = pixelcode; 1785 fmt->code = pixelcode;
1788 break; 1786 break;
1789 1787
1790 default: 1788 default:
1791 fmt->code = V4L2_MBUS_FMT_YUYV8_1X16; 1789 fmt->code = MEDIA_BUS_FMT_YUYV8_1X16;
1792 break; 1790 break;
1793 } 1791 }
1794 1792
@@ -1843,8 +1841,8 @@ static void preview_try_crop(struct isp_prev_device *prev,
1843 * and no columns in other modes. Increase the margins based on the sink 1841 * and no columns in other modes. Increase the margins based on the sink
1844 * format. 1842 * format.
1845 */ 1843 */
1846 if (sink->code != V4L2_MBUS_FMT_Y8_1X8 && 1844 if (sink->code != MEDIA_BUS_FMT_Y8_1X8 &&
1847 sink->code != V4L2_MBUS_FMT_Y10_1X10) { 1845 sink->code != MEDIA_BUS_FMT_Y10_1X10) {
1848 left += 2; 1846 left += 2;
1849 right -= 2; 1847 right -= 2;
1850 top += 2; 1848 top += 2;
@@ -2092,7 +2090,7 @@ static int preview_init_formats(struct v4l2_subdev *sd,
2092 memset(&format, 0, sizeof(format)); 2090 memset(&format, 0, sizeof(format));
2093 format.pad = PREV_PAD_SINK; 2091 format.pad = PREV_PAD_SINK;
2094 format.which = fh ? V4L2_SUBDEV_FORMAT_TRY : V4L2_SUBDEV_FORMAT_ACTIVE; 2092 format.which = fh ? V4L2_SUBDEV_FORMAT_TRY : V4L2_SUBDEV_FORMAT_ACTIVE;
2095 format.format.code = V4L2_MBUS_FMT_SGRBG10_1X10; 2093 format.format.code = MEDIA_BUS_FMT_SGRBG10_1X10;
2096 format.format.width = 4096; 2094 format.format.width = 4096;
2097 format.format.height = 4096; 2095 format.format.height = 4096;
2098 preview_set_format(sd, fh, &format); 2096 preview_set_format(sd, fh, &format);
diff --git a/drivers/media/platform/omap3isp/ispresizer.c b/drivers/media/platform/omap3isp/ispresizer.c
index 05d1ace57451..2b9bc4839876 100644
--- a/drivers/media/platform/omap3isp/ispresizer.c
+++ b/drivers/media/platform/omap3isp/ispresizer.c
@@ -198,17 +198,16 @@ static void resizer_set_bilinear(struct isp_res_device *res,
198 * @res: Device context. 198 * @res: Device context.
199 * @pixelcode: pixel code. 199 * @pixelcode: pixel code.
200 */ 200 */
201static void resizer_set_ycpos(struct isp_res_device *res, 201static void resizer_set_ycpos(struct isp_res_device *res, u32 pixelcode)
202 enum v4l2_mbus_pixelcode pixelcode)
203{ 202{
204 struct isp_device *isp = to_isp_device(res); 203 struct isp_device *isp = to_isp_device(res);
205 204
206 switch (pixelcode) { 205 switch (pixelcode) {
207 case V4L2_MBUS_FMT_YUYV8_1X16: 206 case MEDIA_BUS_FMT_YUYV8_1X16:
208 isp_reg_set(isp, OMAP3_ISP_IOMEM_RESZ, ISPRSZ_CNT, 207 isp_reg_set(isp, OMAP3_ISP_IOMEM_RESZ, ISPRSZ_CNT,
209 ISPRSZ_CNT_YCPOS); 208 ISPRSZ_CNT_YCPOS);
210 break; 209 break;
211 case V4L2_MBUS_FMT_UYVY8_1X16: 210 case MEDIA_BUS_FMT_UYVY8_1X16:
212 isp_reg_clr(isp, OMAP3_ISP_IOMEM_RESZ, ISPRSZ_CNT, 211 isp_reg_clr(isp, OMAP3_ISP_IOMEM_RESZ, ISPRSZ_CNT,
213 ISPRSZ_CNT_YCPOS); 212 ISPRSZ_CNT_YCPOS);
214 break; 213 break;
@@ -1348,8 +1347,8 @@ static int resizer_set_selection(struct v4l2_subdev *sd,
1348 1347
1349/* resizer pixel formats */ 1348/* resizer pixel formats */
1350static const unsigned int resizer_formats[] = { 1349static const unsigned int resizer_formats[] = {
1351 V4L2_MBUS_FMT_UYVY8_1X16, 1350 MEDIA_BUS_FMT_UYVY8_1X16,
1352 V4L2_MBUS_FMT_YUYV8_1X16, 1351 MEDIA_BUS_FMT_YUYV8_1X16,
1353}; 1352};
1354 1353
1355static unsigned int resizer_max_in_width(struct isp_res_device *res) 1354static unsigned int resizer_max_in_width(struct isp_res_device *res)
@@ -1385,9 +1384,9 @@ static void resizer_try_format(struct isp_res_device *res,
1385 1384
1386 switch (pad) { 1385 switch (pad) {
1387 case RESZ_PAD_SINK: 1386 case RESZ_PAD_SINK:
1388 if (fmt->code != V4L2_MBUS_FMT_YUYV8_1X16 && 1387 if (fmt->code != MEDIA_BUS_FMT_YUYV8_1X16 &&
1389 fmt->code != V4L2_MBUS_FMT_UYVY8_1X16) 1388 fmt->code != MEDIA_BUS_FMT_UYVY8_1X16)
1390 fmt->code = V4L2_MBUS_FMT_YUYV8_1X16; 1389 fmt->code = MEDIA_BUS_FMT_YUYV8_1X16;
1391 1390
1392 fmt->width = clamp_t(u32, fmt->width, MIN_IN_WIDTH, 1391 fmt->width = clamp_t(u32, fmt->width, MIN_IN_WIDTH,
1393 resizer_max_in_width(res)); 1392 resizer_max_in_width(res));
@@ -1571,7 +1570,7 @@ static int resizer_init_formats(struct v4l2_subdev *sd,
1571 memset(&format, 0, sizeof(format)); 1570 memset(&format, 0, sizeof(format));
1572 format.pad = RESZ_PAD_SINK; 1571 format.pad = RESZ_PAD_SINK;
1573 format.which = fh ? V4L2_SUBDEV_FORMAT_TRY : V4L2_SUBDEV_FORMAT_ACTIVE; 1572 format.which = fh ? V4L2_SUBDEV_FORMAT_TRY : V4L2_SUBDEV_FORMAT_ACTIVE;
1574 format.format.code = V4L2_MBUS_FMT_YUYV8_1X16; 1573 format.format.code = MEDIA_BUS_FMT_YUYV8_1X16;
1575 format.format.width = 4096; 1574 format.format.width = 4096;
1576 format.format.height = 4096; 1575 format.format.height = 4096;
1577 resizer_set_format(sd, fh, &format); 1576 resizer_set_format(sd, fh, &format);
diff --git a/drivers/media/platform/omap3isp/ispvideo.c b/drivers/media/platform/omap3isp/ispvideo.c
index bc38c88c7bd9..b463fe172d16 100644
--- a/drivers/media/platform/omap3isp/ispvideo.c
+++ b/drivers/media/platform/omap3isp/ispvideo.c
@@ -39,74 +39,74 @@
39 * corresponding in-memory formats to the table below!!! 39 * corresponding in-memory formats to the table below!!!
40 */ 40 */
41static struct isp_format_info formats[] = { 41static struct isp_format_info formats[] = {
42 { V4L2_MBUS_FMT_Y8_1X8, V4L2_MBUS_FMT_Y8_1X8, 42 { MEDIA_BUS_FMT_Y8_1X8, MEDIA_BUS_FMT_Y8_1X8,
43 V4L2_MBUS_FMT_Y8_1X8, V4L2_MBUS_FMT_Y8_1X8, 43 MEDIA_BUS_FMT_Y8_1X8, MEDIA_BUS_FMT_Y8_1X8,
44 V4L2_PIX_FMT_GREY, 8, 1, }, 44 V4L2_PIX_FMT_GREY, 8, 1, },
45 { V4L2_MBUS_FMT_Y10_1X10, V4L2_MBUS_FMT_Y10_1X10, 45 { MEDIA_BUS_FMT_Y10_1X10, MEDIA_BUS_FMT_Y10_1X10,
46 V4L2_MBUS_FMT_Y10_1X10, V4L2_MBUS_FMT_Y8_1X8, 46 MEDIA_BUS_FMT_Y10_1X10, MEDIA_BUS_FMT_Y8_1X8,
47 V4L2_PIX_FMT_Y10, 10, 2, }, 47 V4L2_PIX_FMT_Y10, 10, 2, },
48 { V4L2_MBUS_FMT_Y12_1X12, V4L2_MBUS_FMT_Y10_1X10, 48 { MEDIA_BUS_FMT_Y12_1X12, MEDIA_BUS_FMT_Y10_1X10,
49 V4L2_MBUS_FMT_Y12_1X12, V4L2_MBUS_FMT_Y8_1X8, 49 MEDIA_BUS_FMT_Y12_1X12, MEDIA_BUS_FMT_Y8_1X8,
50 V4L2_PIX_FMT_Y12, 12, 2, }, 50 V4L2_PIX_FMT_Y12, 12, 2, },
51 { V4L2_MBUS_FMT_SBGGR8_1X8, V4L2_MBUS_FMT_SBGGR8_1X8, 51 { MEDIA_BUS_FMT_SBGGR8_1X8, MEDIA_BUS_FMT_SBGGR8_1X8,
52 V4L2_MBUS_FMT_SBGGR8_1X8, V4L2_MBUS_FMT_SBGGR8_1X8, 52 MEDIA_BUS_FMT_SBGGR8_1X8, MEDIA_BUS_FMT_SBGGR8_1X8,
53 V4L2_PIX_FMT_SBGGR8, 8, 1, }, 53 V4L2_PIX_FMT_SBGGR8, 8, 1, },
54 { V4L2_MBUS_FMT_SGBRG8_1X8, V4L2_MBUS_FMT_SGBRG8_1X8, 54 { MEDIA_BUS_FMT_SGBRG8_1X8, MEDIA_BUS_FMT_SGBRG8_1X8,
55 V4L2_MBUS_FMT_SGBRG8_1X8, V4L2_MBUS_FMT_SGBRG8_1X8, 55 MEDIA_BUS_FMT_SGBRG8_1X8, MEDIA_BUS_FMT_SGBRG8_1X8,
56 V4L2_PIX_FMT_SGBRG8, 8, 1, }, 56 V4L2_PIX_FMT_SGBRG8, 8, 1, },
57 { V4L2_MBUS_FMT_SGRBG8_1X8, V4L2_MBUS_FMT_SGRBG8_1X8, 57 { MEDIA_BUS_FMT_SGRBG8_1X8, MEDIA_BUS_FMT_SGRBG8_1X8,
58 V4L2_MBUS_FMT_SGRBG8_1X8, V4L2_MBUS_FMT_SGRBG8_1X8, 58 MEDIA_BUS_FMT_SGRBG8_1X8, MEDIA_BUS_FMT_SGRBG8_1X8,
59 V4L2_PIX_FMT_SGRBG8, 8, 1, }, 59 V4L2_PIX_FMT_SGRBG8, 8, 1, },
60 { V4L2_MBUS_FMT_SRGGB8_1X8, V4L2_MBUS_FMT_SRGGB8_1X8, 60 { MEDIA_BUS_FMT_SRGGB8_1X8, MEDIA_BUS_FMT_SRGGB8_1X8,
61 V4L2_MBUS_FMT_SRGGB8_1X8, V4L2_MBUS_FMT_SRGGB8_1X8, 61 MEDIA_BUS_FMT_SRGGB8_1X8, MEDIA_BUS_FMT_SRGGB8_1X8,
62 V4L2_PIX_FMT_SRGGB8, 8, 1, }, 62 V4L2_PIX_FMT_SRGGB8, 8, 1, },
63 { V4L2_MBUS_FMT_SBGGR10_DPCM8_1X8, V4L2_MBUS_FMT_SBGGR10_DPCM8_1X8, 63 { MEDIA_BUS_FMT_SBGGR10_DPCM8_1X8, MEDIA_BUS_FMT_SBGGR10_DPCM8_1X8,
64 V4L2_MBUS_FMT_SBGGR10_1X10, 0, 64 MEDIA_BUS_FMT_SBGGR10_1X10, 0,
65 V4L2_PIX_FMT_SBGGR10DPCM8, 8, 1, }, 65 V4L2_PIX_FMT_SBGGR10DPCM8, 8, 1, },
66 { V4L2_MBUS_FMT_SGBRG10_DPCM8_1X8, V4L2_MBUS_FMT_SGBRG10_DPCM8_1X8, 66 { MEDIA_BUS_FMT_SGBRG10_DPCM8_1X8, MEDIA_BUS_FMT_SGBRG10_DPCM8_1X8,
67 V4L2_MBUS_FMT_SGBRG10_1X10, 0, 67 MEDIA_BUS_FMT_SGBRG10_1X10, 0,
68 V4L2_PIX_FMT_SGBRG10DPCM8, 8, 1, }, 68 V4L2_PIX_FMT_SGBRG10DPCM8, 8, 1, },
69 { V4L2_MBUS_FMT_SGRBG10_DPCM8_1X8, V4L2_MBUS_FMT_SGRBG10_DPCM8_1X8, 69 { MEDIA_BUS_FMT_SGRBG10_DPCM8_1X8, MEDIA_BUS_FMT_SGRBG10_DPCM8_1X8,
70 V4L2_MBUS_FMT_SGRBG10_1X10, 0, 70 MEDIA_BUS_FMT_SGRBG10_1X10, 0,
71 V4L2_PIX_FMT_SGRBG10DPCM8, 8, 1, }, 71 V4L2_PIX_FMT_SGRBG10DPCM8, 8, 1, },
72 { V4L2_MBUS_FMT_SRGGB10_DPCM8_1X8, V4L2_MBUS_FMT_SRGGB10_DPCM8_1X8, 72 { MEDIA_BUS_FMT_SRGGB10_DPCM8_1X8, MEDIA_BUS_FMT_SRGGB10_DPCM8_1X8,
73 V4L2_MBUS_FMT_SRGGB10_1X10, 0, 73 MEDIA_BUS_FMT_SRGGB10_1X10, 0,
74 V4L2_PIX_FMT_SRGGB10DPCM8, 8, 1, }, 74 V4L2_PIX_FMT_SRGGB10DPCM8, 8, 1, },
75 { V4L2_MBUS_FMT_SBGGR10_1X10, V4L2_MBUS_FMT_SBGGR10_1X10, 75 { MEDIA_BUS_FMT_SBGGR10_1X10, MEDIA_BUS_FMT_SBGGR10_1X10,
76 V4L2_MBUS_FMT_SBGGR10_1X10, V4L2_MBUS_FMT_SBGGR8_1X8, 76 MEDIA_BUS_FMT_SBGGR10_1X10, MEDIA_BUS_FMT_SBGGR8_1X8,
77 V4L2_PIX_FMT_SBGGR10, 10, 2, }, 77 V4L2_PIX_FMT_SBGGR10, 10, 2, },
78 { V4L2_MBUS_FMT_SGBRG10_1X10, V4L2_MBUS_FMT_SGBRG10_1X10, 78 { MEDIA_BUS_FMT_SGBRG10_1X10, MEDIA_BUS_FMT_SGBRG10_1X10,
79 V4L2_MBUS_FMT_SGBRG10_1X10, V4L2_MBUS_FMT_SGBRG8_1X8, 79 MEDIA_BUS_FMT_SGBRG10_1X10, MEDIA_BUS_FMT_SGBRG8_1X8,
80 V4L2_PIX_FMT_SGBRG10, 10, 2, }, 80 V4L2_PIX_FMT_SGBRG10, 10, 2, },
81 { V4L2_MBUS_FMT_SGRBG10_1X10, V4L2_MBUS_FMT_SGRBG10_1X10, 81 { MEDIA_BUS_FMT_SGRBG10_1X10, MEDIA_BUS_FMT_SGRBG10_1X10,
82 V4L2_MBUS_FMT_SGRBG10_1X10, V4L2_MBUS_FMT_SGRBG8_1X8, 82 MEDIA_BUS_FMT_SGRBG10_1X10, MEDIA_BUS_FMT_SGRBG8_1X8,
83 V4L2_PIX_FMT_SGRBG10, 10, 2, }, 83 V4L2_PIX_FMT_SGRBG10, 10, 2, },
84 { V4L2_MBUS_FMT_SRGGB10_1X10, V4L2_MBUS_FMT_SRGGB10_1X10, 84 { MEDIA_BUS_FMT_SRGGB10_1X10, MEDIA_BUS_FMT_SRGGB10_1X10,
85 V4L2_MBUS_FMT_SRGGB10_1X10, V4L2_MBUS_FMT_SRGGB8_1X8, 85 MEDIA_BUS_FMT_SRGGB10_1X10, MEDIA_BUS_FMT_SRGGB8_1X8,
86 V4L2_PIX_FMT_SRGGB10, 10, 2, }, 86 V4L2_PIX_FMT_SRGGB10, 10, 2, },
87 { V4L2_MBUS_FMT_SBGGR12_1X12, V4L2_MBUS_FMT_SBGGR10_1X10, 87 { MEDIA_BUS_FMT_SBGGR12_1X12, MEDIA_BUS_FMT_SBGGR10_1X10,
88 V4L2_MBUS_FMT_SBGGR12_1X12, V4L2_MBUS_FMT_SBGGR8_1X8, 88 MEDIA_BUS_FMT_SBGGR12_1X12, MEDIA_BUS_FMT_SBGGR8_1X8,
89 V4L2_PIX_FMT_SBGGR12, 12, 2, }, 89 V4L2_PIX_FMT_SBGGR12, 12, 2, },
90 { V4L2_MBUS_FMT_SGBRG12_1X12, V4L2_MBUS_FMT_SGBRG10_1X10, 90 { MEDIA_BUS_FMT_SGBRG12_1X12, MEDIA_BUS_FMT_SGBRG10_1X10,
91 V4L2_MBUS_FMT_SGBRG12_1X12, V4L2_MBUS_FMT_SGBRG8_1X8, 91 MEDIA_BUS_FMT_SGBRG12_1X12, MEDIA_BUS_FMT_SGBRG8_1X8,
92 V4L2_PIX_FMT_SGBRG12, 12, 2, }, 92 V4L2_PIX_FMT_SGBRG12, 12, 2, },
93 { V4L2_MBUS_FMT_SGRBG12_1X12, V4L2_MBUS_FMT_SGRBG10_1X10, 93 { MEDIA_BUS_FMT_SGRBG12_1X12, MEDIA_BUS_FMT_SGRBG10_1X10,
94 V4L2_MBUS_FMT_SGRBG12_1X12, V4L2_MBUS_FMT_SGRBG8_1X8, 94 MEDIA_BUS_FMT_SGRBG12_1X12, MEDIA_BUS_FMT_SGRBG8_1X8,
95 V4L2_PIX_FMT_SGRBG12, 12, 2, }, 95 V4L2_PIX_FMT_SGRBG12, 12, 2, },
96 { V4L2_MBUS_FMT_SRGGB12_1X12, V4L2_MBUS_FMT_SRGGB10_1X10, 96 { MEDIA_BUS_FMT_SRGGB12_1X12, MEDIA_BUS_FMT_SRGGB10_1X10,
97 V4L2_MBUS_FMT_SRGGB12_1X12, V4L2_MBUS_FMT_SRGGB8_1X8, 97 MEDIA_BUS_FMT_SRGGB12_1X12, MEDIA_BUS_FMT_SRGGB8_1X8,
98 V4L2_PIX_FMT_SRGGB12, 12, 2, }, 98 V4L2_PIX_FMT_SRGGB12, 12, 2, },
99 { V4L2_MBUS_FMT_UYVY8_1X16, V4L2_MBUS_FMT_UYVY8_1X16, 99 { MEDIA_BUS_FMT_UYVY8_1X16, MEDIA_BUS_FMT_UYVY8_1X16,
100 V4L2_MBUS_FMT_UYVY8_1X16, 0, 100 MEDIA_BUS_FMT_UYVY8_1X16, 0,
101 V4L2_PIX_FMT_UYVY, 16, 2, }, 101 V4L2_PIX_FMT_UYVY, 16, 2, },
102 { V4L2_MBUS_FMT_YUYV8_1X16, V4L2_MBUS_FMT_YUYV8_1X16, 102 { MEDIA_BUS_FMT_YUYV8_1X16, MEDIA_BUS_FMT_YUYV8_1X16,
103 V4L2_MBUS_FMT_YUYV8_1X16, 0, 103 MEDIA_BUS_FMT_YUYV8_1X16, 0,
104 V4L2_PIX_FMT_YUYV, 16, 2, }, 104 V4L2_PIX_FMT_YUYV, 16, 2, },
105 { V4L2_MBUS_FMT_UYVY8_2X8, V4L2_MBUS_FMT_UYVY8_2X8, 105 { MEDIA_BUS_FMT_UYVY8_2X8, MEDIA_BUS_FMT_UYVY8_2X8,
106 V4L2_MBUS_FMT_UYVY8_2X8, 0, 106 MEDIA_BUS_FMT_UYVY8_2X8, 0,
107 V4L2_PIX_FMT_UYVY, 8, 2, }, 107 V4L2_PIX_FMT_UYVY, 8, 2, },
108 { V4L2_MBUS_FMT_YUYV8_2X8, V4L2_MBUS_FMT_YUYV8_2X8, 108 { MEDIA_BUS_FMT_YUYV8_2X8, MEDIA_BUS_FMT_YUYV8_2X8,
109 V4L2_MBUS_FMT_YUYV8_2X8, 0, 109 MEDIA_BUS_FMT_YUYV8_2X8, 0,
110 V4L2_PIX_FMT_YUYV, 8, 2, }, 110 V4L2_PIX_FMT_YUYV, 8, 2, },
111 /* Empty entry to catch the unsupported pixel code (0) used by the CCDC 111 /* Empty entry to catch the unsupported pixel code (0) used by the CCDC
112 * module and avoid NULL pointer dereferences. 112 * module and avoid NULL pointer dereferences.
@@ -114,8 +114,7 @@ static struct isp_format_info formats[] = {
114 { 0, } 114 { 0, }
115}; 115};
116 116
117const struct isp_format_info * 117const struct isp_format_info *omap3isp_video_format_info(u32 code)
118omap3isp_video_format_info(enum v4l2_mbus_pixelcode code)
119{ 118{
120 unsigned int i; 119 unsigned int i;
121 120
diff --git a/drivers/media/platform/omap3isp/ispvideo.h b/drivers/media/platform/omap3isp/ispvideo.h
index 0b7efedc3da9..4071dd7060ea 100644
--- a/drivers/media/platform/omap3isp/ispvideo.h
+++ b/drivers/media/platform/omap3isp/ispvideo.h
@@ -44,10 +44,10 @@ struct v4l2_pix_format;
44 * @bpp: Bytes per pixel (when stored in memory) 44 * @bpp: Bytes per pixel (when stored in memory)
45 */ 45 */
46struct isp_format_info { 46struct isp_format_info {
47 enum v4l2_mbus_pixelcode code; 47 u32 code;
48 enum v4l2_mbus_pixelcode truncated; 48 u32 truncated;
49 enum v4l2_mbus_pixelcode uncompressed; 49 u32 uncompressed;
50 enum v4l2_mbus_pixelcode flavor; 50 u32 flavor;
51 u32 pixelformat; 51 u32 pixelformat;
52 unsigned int width; 52 unsigned int width;
53 unsigned int bpp; 53 unsigned int bpp;
@@ -206,6 +206,6 @@ void omap3isp_video_resume(struct isp_video *video, int continuous);
206struct media_pad *omap3isp_video_remote_pad(struct isp_video *video); 206struct media_pad *omap3isp_video_remote_pad(struct isp_video *video);
207 207
208const struct isp_format_info * 208const struct isp_format_info *
209omap3isp_video_format_info(enum v4l2_mbus_pixelcode code); 209omap3isp_video_format_info(u32 code);
210 210
211#endif /* OMAP3_ISP_VIDEO_H */ 211#endif /* OMAP3_ISP_VIDEO_H */