Commit 86efc504 authored by Laurent Pinchart's avatar Laurent Pinchart Committed by Mauro Carvalho Chehab

[media] v4l: omap4iss: ipipeif: Shift input data according to the input format

Input samples must be left-aligned on the ISIF 16-bit data bus.
Configure the 16-to-16-bit selector to shift data according to the input
format.
Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
parent 74536b2f
...@@ -129,6 +129,7 @@ static void ipipeif_set_outaddr(struct iss_ipipeif_device *ipipeif, u32 addr) ...@@ -129,6 +129,7 @@ static void ipipeif_set_outaddr(struct iss_ipipeif_device *ipipeif, u32 addr)
static void ipipeif_configure(struct iss_ipipeif_device *ipipeif) static void ipipeif_configure(struct iss_ipipeif_device *ipipeif)
{ {
struct iss_device *iss = to_iss_device(ipipeif); struct iss_device *iss = to_iss_device(ipipeif);
const struct iss_format_info *info;
struct v4l2_mbus_framefmt *format; struct v4l2_mbus_framefmt *format;
u32 isif_ccolp = 0; u32 isif_ccolp = 0;
...@@ -194,9 +195,10 @@ static void ipipeif_configure(struct iss_ipipeif_device *ipipeif) ...@@ -194,9 +195,10 @@ static void ipipeif_configure(struct iss_ipipeif_device *ipipeif)
ISIF_MODESET_INPMOD_RAW | ISIF_MODESET_CCDW_2BIT, ISIF_MODESET_INPMOD_RAW | ISIF_MODESET_CCDW_2BIT,
iss->regs[OMAP4_ISS_MEM_ISP_ISIF] + ISIF_MODESET); iss->regs[OMAP4_ISS_MEM_ISP_ISIF] + ISIF_MODESET);
info = omap4iss_video_format_info(format->code);
writel((readl(iss->regs[OMAP4_ISS_MEM_ISP_ISIF] + ISIF_CGAMMAWD) & writel((readl(iss->regs[OMAP4_ISS_MEM_ISP_ISIF] + ISIF_CGAMMAWD) &
~ISIF_CGAMMAWD_GWDI_MASK) | ~ISIF_CGAMMAWD_GWDI_MASK) |
ISIF_CGAMMAWD_GWDI_BIT11, ISIF_CGAMMAWD_GWDI(info->bpp),
iss->regs[OMAP4_ISS_MEM_ISP_ISIF] + ISIF_CGAMMAWD); iss->regs[OMAP4_ISS_MEM_ISP_ISIF] + ISIF_CGAMMAWD);
/* Set RAW Bayer pattern */ /* Set RAW Bayer pattern */
......
...@@ -368,7 +368,7 @@ ...@@ -368,7 +368,7 @@
#define ISIF_CGAMMAWD (0x0080) #define ISIF_CGAMMAWD (0x0080)
#define ISIF_CGAMMAWD_GWDI_MASK (0xF << 1) #define ISIF_CGAMMAWD_GWDI_MASK (0xF << 1)
#define ISIF_CGAMMAWD_GWDI_BIT11 (0x4 << 1) #define ISIF_CGAMMAWD_GWDI(bpp) ((16 - (bpp)) << 1)
#define ISIF_CCDCFG (0x0088) #define ISIF_CCDCFG (0x0088)
#define ISIF_CCDCFG_Y8POS (1 << 11) #define ISIF_CCDCFG_Y8POS (1 << 11)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment