diff options
Diffstat (limited to 'drivers/media/video/mxc/capture/fsl_csi.c')
-rw-r--r-- | drivers/media/video/mxc/capture/fsl_csi.c | 18 |
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 * |