void s3c_fimc_set_source_format(struct s3c_fimc_control *ctrl) { struct s3c_fimc_camera *cam = ctrl->in_cam; u32 cfg = 0; cfg |= (cam->mode | cam->order422); cfg |= S3C_CISRCFMT_SOURCEHSIZE(cam->width); cfg |= S3C_CISRCFMT_SOURCEVSIZE(cam->height); writel(cfg, ctrl->regs + S3C_CISRCFMT); }
int fimc_hwset_camera_source(struct fimc_control *ctrl) { struct s3c_platform_camera *cam = ctrl->cam; u32 cfg = 0; /* for now, we support only ITU601 8 bit mode */ cfg |= S3C_CISRCFMT_ITU601_8BIT; cfg |= cam->order422; if (cam->type == CAM_TYPE_ITU) cfg |= cam->fmt; cfg |= S3C_CISRCFMT_SOURCEHSIZE(cam->width); cfg |= S3C_CISRCFMT_SOURCEVSIZE(cam->height); writel(cfg, ctrl->regs + S3C_CISRCFMT); return 0; }