summaryrefslogtreecommitdiff
path: root/drivers/media/video/mxc/capture/fsl_csi.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/video/mxc/capture/fsl_csi.c')
-rw-r--r--drivers/media/video/mxc/capture/fsl_csi.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/media/video/mxc/capture/fsl_csi.c b/drivers/media/video/mxc/capture/fsl_csi.c
index 5368b57c7a61..b3badfa4215b 100644
--- a/drivers/media/video/mxc/capture/fsl_csi.c
+++ b/drivers/media/video/mxc/capture/fsl_csi.c
@@ -124,6 +124,24 @@ void csi_init_interface(void)
}
EXPORT_SYMBOL(csi_init_interface);
+void csi_init_format(int fmt)
+{
+ unsigned int val;
+
+ val = __raw_readl(CSI_CSICR1);
+ if (fmt == V4L2_PIX_FMT_YUYV) {
+ val &= ~BIT_PACK_DIR;
+ val &= ~BIT_SWAP16_EN;
+ } else if (fmt == V4L2_PIX_FMT_UYVY) {
+ val |= BIT_PACK_DIR;
+ val |= BIT_SWAP16_EN;
+ } else
+ pr_warning("unsupported format, old format remains.\n");
+
+ __raw_writel(val, CSI_CSICR1);
+}
+EXPORT_SYMBOL(csi_init_format);
+
/*!
* csi_enable_mclk
*