diff --git a/drivers/media/platform/rockchip/cif/capture.c b/drivers/media/platform/rockchip/cif/capture.c
index f5631dc561f4a957cf11b0f8af292133a347d728..bbc8e9525ec688c9512f1f75508504d6c2f34a22 100644
--- a/drivers/media/platform/rockchip/cif/capture.c
+++ b/drivers/media/platform/rockchip/cif/capture.c
@@ -12043,16 +12043,29 @@ unsigned int rkcif_irq_global(struct rkcif_device *cif_dev)
 	else
 		return intstat_glb;
 
-	/* VICAP_GLB_INTST frame_end_toisp (all channels on both ISPs), see TRM1 page 2085-2086 */
-	if (intstat_glb & GENMASK(25,20)) {
-		int val = gpiod_get_value(cif_dev->hw_dev->frame_end_gpio);
-		gpiod_set_value(cif_dev->hw_dev->frame_end_gpio, !val);
+	/* VICAP_GLB_INTST frame_end_toisp1_chX (all channels on ISP1), see TRM1 page 2085-2086 */
+	if (intstat_glb & GENMASK(25,23)) {
+		int val = gpiod_get_value(cif_dev->hw_dev->isp0_frame_end_gpio);
+		gpiod_set_value(cif_dev->hw_dev->isp0_frame_end_gpio, !val);
 	}
 
-	/* VICAP_GLB_INTST frame_start_toisp (all channels on both ISPs), see TRM1 page 2085-2086 */
-	if (intstat_glb & GENMASK(19,14)) {
-		int val = gpiod_get_value(cif_dev->hw_dev->frame_start_gpio);
-		gpiod_set_value(cif_dev->hw_dev->frame_start_gpio, !val);
+	/* VICAP_GLB_INTST frame_end_toisp0_chX (all channels on ISP0), see TRM1 page 2085-2086 */
+	if (intstat_glb & GENMASK(22,20)) {
+		int val = gpiod_get_value(cif_dev->hw_dev->isp0_frame_end_gpio);
+		gpiod_set_value(cif_dev->hw_dev->isp0_frame_end_gpio, !val);
+	}
+
+	/* VICAP_GLB_INTST frame_start_toisp1_chX (all channels on ISP1), see TRM1 page 2085-2086 */
+	if (intstat_glb & GENMASK(19,17)) {
+		int val = gpiod_get_value(cif_dev->hw_dev->isp0_frame_start_gpio);
+		gpiod_set_value(cif_dev->hw_dev->isp0_frame_start_gpio, !val);
+	}
+
+
+	/* VICAP_GLB_INTST frame_start_toisp0_chX (all channels on ISP0), see TRM1 page 2085-2086 */
+	if (intstat_glb & GENMASK(16,14)) {
+		int val = gpiod_get_value(cif_dev->hw_dev->isp0_frame_start_gpio);
+		gpiod_set_value(cif_dev->hw_dev->isp0_frame_start_gpio, !val);
 	}
 
 	if (intstat_glb & SCALE_TOISP_AXI0_ERR) {
diff --git a/drivers/media/platform/rockchip/cif/hw.c b/drivers/media/platform/rockchip/cif/hw.c
index 4c0937c9a62ccfb2c0c90b035138e2bd23e4f5eb..840f619690e647fb01185b1e5dda47a510eb62b3 100644
--- a/drivers/media/platform/rockchip/cif/hw.c
+++ b/drivers/media/platform/rockchip/cif/hw.c
@@ -1473,12 +1473,18 @@ static int rkcif_plat_hw_probe(struct platform_device *pdev)
 	if (irq < 0)
 		return irq;
 
-	cif_hw->frame_start_gpio = gpiod_get_optional(dev, "frame-start-notify", GPIOD_OUT_LOW);
-	if (IS_ERR(cif_hw->frame_start_gpio))
-		return dev_err_probe(dev, PTR_ERR(cif_hw->frame_start_gpio), "failed to get frame start notify GPIO");
-	cif_hw->frame_end_gpio = gpiod_get_optional(dev, "frame-end-notify", GPIOD_OUT_LOW);
-	if (IS_ERR(cif_hw->frame_end_gpio))
-		return dev_err_probe(dev, PTR_ERR(cif_hw->frame_end_gpio), "failed to get frame end notify GPIO");
+	cif_hw->isp0_frame_start_gpio = gpiod_get_optional(dev, "isp0-frame-start-notify", GPIOD_OUT_LOW);
+	if (IS_ERR(cif_hw->isp0_frame_start_gpio))
+		return dev_err_probe(dev, PTR_ERR(cif_hw->isp0_frame_start_gpio), "failed to get frame start notify GPIO");
+	cif_hw->isp0_frame_end_gpio = gpiod_get_optional(dev, "isp0-frame-end-notify", GPIOD_OUT_LOW);
+	if (IS_ERR(cif_hw->isp0_frame_end_gpio))
+		return dev_err_probe(dev, PTR_ERR(cif_hw->isp0_frame_end_gpio), "failed to get frame end notify GPIO");
+	cif_hw->isp1_frame_start_gpio = gpiod_get_optional(dev, "isp1-frame-start-notify", GPIOD_OUT_LOW);
+	if (IS_ERR(cif_hw->isp1_frame_start_gpio))
+		return dev_err_probe(dev, PTR_ERR(cif_hw->isp1_frame_start_gpio), "failed to get frame start notify GPIO");
+	cif_hw->isp1_frame_end_gpio = gpiod_get_optional(dev, "isp1-frame-end-notify", GPIOD_OUT_LOW);
+	if (IS_ERR(cif_hw->isp1_frame_end_gpio))
+		return dev_err_probe(dev, PTR_ERR(cif_hw->isp1_frame_end_gpio), "failed to get frame end notify GPIO");
 
 	ret = devm_request_irq(dev, irq, rkcif_irq_handler,
 			       IRQF_SHARED,
diff --git a/drivers/media/platform/rockchip/cif/hw.h b/drivers/media/platform/rockchip/cif/hw.h
index 04dcd24fbff9b9e41db18ad24fdb046d390cece9..95a1a2c579e8109b845c3c7847f1ce4403a67f88 100644
--- a/drivers/media/platform/rockchip/cif/hw.h
+++ b/drivers/media/platform/rockchip/cif/hw.h
@@ -154,8 +154,10 @@ struct rkcif_hw {
 	bool				adapt_to_usbcamerahal;
 	u64				irq_time;
 	bool				is_rk3588s2;
-	struct gpio_desc		*frame_start_gpio;
-	struct gpio_desc		*frame_end_gpio;
+	struct gpio_desc		*isp0_frame_start_gpio;
+	struct gpio_desc		*isp0_frame_end_gpio;
+	struct gpio_desc		*isp1_frame_start_gpio;
+	struct gpio_desc		*isp1_frame_end_gpio;
 };
 
 void rkcif_hw_soft_reset(struct rkcif_hw *cif_hw, bool is_rst_iommu);