cal_write(phy->cal, CAL_CSI2_COMPLEXIO_IRQENABLE(phy->instance), 0);
 }
 
+static void cal_camerarx_ppi_enable(struct cal_camerarx *phy)
+{
+       cal_write(phy->cal, CAL_CSI2_PPI_CTRL(phy->instance),
+                 CAL_CSI2_PPI_CTRL_FRAME_MASK);
+       cal_write_field(phy->cal, CAL_CSI2_PPI_CTRL(phy->instance),
+                       1, CAL_CSI2_PPI_CTRL_IF_EN_MASK);
+}
+
+void cal_camerarx_ppi_disable(struct cal_camerarx *phy)
+{
+       cal_write_field(phy->cal, CAL_CSI2_PPI_CTRL(phy->instance),
+                       0, CAL_CSI2_PPI_CTRL_IF_EN_MASK);
+}
+
 static int cal_camerarx_start(struct cal_camerarx *phy)
 {
        s64 external_rate;
         * implemented.
         */
 
+       /* Finally, enable the PHY Protocol Interface (PPI). */
+       cal_camerarx_ppi_enable(phy);
+
        return 0;
 }
 
        camerarx_write(phy, CAL_CSI2_PHY_REG10, reg10);
 }
 
-void cal_camerarx_ppi_enable(struct cal_camerarx *phy)
-{
-       cal_write(phy->cal, CAL_CSI2_PPI_CTRL(phy->instance),
-                 CAL_CSI2_PPI_CTRL_FRAME_MASK);
-       cal_write_field(phy->cal, CAL_CSI2_PPI_CTRL(phy->instance),
-                       1, CAL_CSI2_PPI_CTRL_IF_EN_MASK);
-}
-
-void cal_camerarx_ppi_disable(struct cal_camerarx *phy)
-{
-       cal_write_field(phy->cal, CAL_CSI2_PPI_CTRL(phy->instance),
-                       0, CAL_CSI2_PPI_CTRL_IF_EN_MASK);
-}
-
 static int cal_camerarx_regmap_init(struct cal_dev *cal,
                                    struct cal_camerarx *phy)
 {
 
        cal_ctx_csi2_config(ctx);
        cal_ctx_pix_proc_config(ctx);
        cal_ctx_wr_dma_config(ctx);
+       cal_ctx_wr_dma_addr(ctx, addr);
        cal_ctx_enable_irqs(ctx);
 
        ret = v4l2_subdev_call(&ctx->phy->subdev, video, s_stream, 1);
        if (ret)
                goto err;
 
-       cal_ctx_wr_dma_addr(ctx, addr);
-       cal_camerarx_ppi_enable(ctx->phy);
-
        if (cal_debug >= 4)
                cal_quickdump_regs(ctx->cal);
 
 
 void cal_quickdump_regs(struct cal_dev *cal);
 
 void cal_camerarx_disable(struct cal_camerarx *phy);
-void cal_camerarx_ppi_enable(struct cal_camerarx *phy);
 void cal_camerarx_ppi_disable(struct cal_camerarx *phy);
 void cal_camerarx_i913_errata(struct cal_camerarx *phy);
 struct cal_camerarx *cal_camerarx_create(struct cal_dev *cal,