diff --git a/drivers/media/platform/mtk-mdp/mtk_mdp_m2m.c b/drivers/media/platform/mtk-mdp/mtk_mdp_m2m.c
index 2a774f2..11a6a47 100644
--- a/drivers/media/platform/mtk-mdp/mtk_mdp_m2m.c
+++ b/drivers/media/platform/mtk-mdp/mtk_mdp_m2m.c
@@ -1086,10 +1086,12 @@
 	int ret;
 	bool valid = false;
 
-	if (s->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) {
+	if (s->type == V4L2_BUF_TYPE_VIDEO_CAPTURE ||
+	    s->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) {
 		if (s->target == V4L2_SEL_TGT_COMPOSE)
 			valid = true;
-	} else if (s->type == V4L2_BUF_TYPE_VIDEO_OUTPUT) {
+	} else if (s->type == V4L2_BUF_TYPE_VIDEO_OUTPUT ||
+		   s->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) {
 		if (s->target == V4L2_SEL_TGT_CROP)
 			valid = true;
 	}
@@ -1136,6 +1138,32 @@
 	return 0;
 }
 
+static int mtk_mdp_m2m_g_crop(struct file *file, void *prv,
+			      struct v4l2_crop *cr)
+{
+	struct v4l2_selection selection;
+	int ret;
+
+	ret = mtk_mdp_m2m_g_selection(file, prv, &selection);
+
+	cr->c = selection.r;
+	cr->type = selection.type;
+
+	return ret;
+}
+
+static int mtk_mdp_m2m_s_crop(struct file *file, void *prv,
+			      const struct v4l2_crop *cr)
+{
+	struct v4l2_selection selection = {
+		.type = cr->type,
+		.target = V4L2_SEL_TGT_CROP,
+		.r = cr->c,
+	};
+
+	return mtk_mdp_m2m_s_selection(file, prv, &selection);
+}
+
 static const struct v4l2_ioctl_ops mtk_mdp_m2m_ioctl_ops = {
 	.vidioc_querycap		= mtk_mdp_m2m_querycap,
 	.vidioc_enum_fmt_vid_cap_mplane	= mtk_mdp_m2m_enum_fmt_mplane_vid_cap,
@@ -1157,7 +1185,9 @@
 	.vidioc_streamon		= mtk_mdp_m2m_streamon,
 	.vidioc_streamoff		= v4l2_m2m_ioctl_streamoff,
 	.vidioc_g_selection		= mtk_mdp_m2m_g_selection,
-	.vidioc_s_selection		= mtk_mdp_m2m_s_selection
+	.vidioc_s_selection		= mtk_mdp_m2m_s_selection,
+	.vidioc_g_crop			= mtk_mdp_m2m_g_crop,
+	.vidioc_s_crop			= mtk_mdp_m2m_s_crop,
 };
 
 static int mtk_mdp_m2m_queue_init(void *priv, struct vb2_queue *src_vq,
