diff --git a/drivers/media/platform/rockchip/isp/rkisp.c b/drivers/media/platform/rockchip/isp/rkisp.c index 80a7a4b359e4..3b54b9df20d7 100644 --- a/drivers/media/platform/rockchip/isp/rkisp.c +++ b/drivers/media/platform/rockchip/isp/rkisp.c @@ -194,6 +194,13 @@ int rkisp_align_sensor_resolution(struct rkisp_device *dev, h = clamp_t(u32, src_h, CIF_ISP_INPUT_H_MIN, CIF_ISP_INPUT_H_MAX_V13); + } else if (dev->isp_ver == ISP_V21) { + w = clamp_t(u32, src_w, + CIF_ISP_INPUT_W_MIN, + CIF_ISP_INPUT_W_MAX_V21); + h = clamp_t(u32, src_h, + CIF_ISP_INPUT_H_MIN, + CIF_ISP_INPUT_H_MAX_V21); } else { w = clamp_t(u32, src_w, CIF_ISP_INPUT_W_MIN, @@ -1512,6 +1519,9 @@ static int rkisp_isp_sd_get_selection(struct v4l2_subdev *sd, } else if (dev->isp_ver == ISP_V13) { max_w = CIF_ISP_INPUT_W_MAX_V13; max_h = CIF_ISP_INPUT_H_MAX_V13; + } else if (dev->isp_ver == ISP_V21) { + max_w = CIF_ISP_INPUT_W_MAX_V21; + max_h = CIF_ISP_INPUT_H_MAX_V21; } else { max_w = CIF_ISP_INPUT_W_MAX; max_h = CIF_ISP_INPUT_H_MAX; diff --git a/drivers/media/platform/rockchip/isp/rkisp.h b/drivers/media/platform/rockchip/isp/rkisp.h index 5957192de5ec..73db65805b51 100644 --- a/drivers/media/platform/rockchip/isp/rkisp.h +++ b/drivers/media/platform/rockchip/isp/rkisp.h @@ -49,8 +49,10 @@ #define CIF_ISP_INPUT_H_MAX_V12 2448 #define CIF_ISP_INPUT_W_MAX_V13 1920 #define CIF_ISP_INPUT_H_MAX_V13 1080 -#define CIF_ISP_INPUT_W_MIN 32 -#define CIF_ISP_INPUT_H_MIN 16 +#define CIF_ISP_INPUT_W_MAX_V21 4096 +#define CIF_ISP_INPUT_H_MAX_V21 2304 +#define CIF_ISP_INPUT_W_MIN 208 +#define CIF_ISP_INPUT_H_MIN 128 #define CIF_ISP_OUTPUT_W_MAX CIF_ISP_INPUT_W_MAX #define CIF_ISP_OUTPUT_H_MAX CIF_ISP_INPUT_H_MAX #define CIF_ISP_OUTPUT_W_MIN CIF_ISP_INPUT_W_MIN