OSDN Git Service

msm: isp: Add output format support for camif
authorAbhishek Kondaveeti <akondave@codeaurora.org>
Sun, 13 Dec 2015 13:17:22 +0000 (18:47 +0530)
committerDavid Keitel <dkeitel@codeaurora.org>
Thu, 24 Mar 2016 04:15:07 +0000 (21:15 -0700)
Add output format support for camif raw path
in isp.

Change-Id: If8e633175a5488b8da740654c8204b0247d3c408
Signed-off-by: Abhishek Kondaveeti <akondave@codeaurora.org>
drivers/media/platform/msm/camera_v2/isp/msm_isp40.c
include/media/msmb_isp.h

index 37fea51..fb36050 100644 (file)
@@ -1383,7 +1383,20 @@ static void msm_vfe40_cfg_camif(struct vfe_device *vfe_dev,
                        if (vfe_dev->is_camif_raw_crop_supported) {
                                /* Pdaf output will be sent in PLAIN16 format*/
                                val = msm_camera_io_r(vfe_dev->vfe_base + 0x54);
-                               val |= 5 << 9;
+                               switch (subsample_cfg->output_format) {
+                               case CAMIF_PLAIN_8:
+                                       val |= 4 << 9;
+                                       break;
+                               case CAMIF_PLAIN_16:
+                                       val |= 5 << 9;
+                                       break;
+                               case CAMIF_MIPI_RAW:
+                                       val |= 1 << 9;
+                                       break;
+                               case CAMIF_QCOM_RAW:
+                               default:
+                                       break;
+                               }
                                msm_camera_io_w(val, vfe_dev->vfe_base + 0x54);
                                if (subsample_cfg->first_pixel ||
                                        subsample_cfg->last_pixel ||
index a9f0894..628f41a 100644 (file)
@@ -162,6 +162,14 @@ struct msm_vfe_fetch_engine_cfg {
        uint32_t buf_stride;
 };
 
+enum msm_vfe_camif_output_format {
+       CAMIF_QCOM_RAW,
+       CAMIF_MIPI_RAW,
+       CAMIF_PLAIN_8,
+       CAMIF_PLAIN_16,
+       CAMIF_MAX_FORMAT,
+};
+
 /*
  * Camif output general configuration
  */
@@ -175,6 +183,7 @@ struct msm_vfe_camif_subsample_cfg {
        uint32_t last_line;
        uint32_t first_pixel;
        uint32_t last_pixel;
+       enum msm_vfe_camif_output_format output_format;
 };
 
 /*