diff --git a/drivers/gpu/drm/imx/nwl_dsi-imx.c b/drivers/gpu/drm/imx/nwl_dsi-imx.c
index da1239f350bcefe6a3840f54233b148da9e74523..6586199367455670ca269e4600ce1015310518f3 100644
--- a/drivers/gpu/drm/imx/nwl_dsi-imx.c
+++ b/drivers/gpu/drm/imx/nwl_dsi-imx.c
@@ -246,6 +246,31 @@ static int imx8q_dsi_poweron(struct imx_mipi_dsi *dsi, bool v2)
 			     mipi_id,
 			     dc_id);
 
+	/* Assert DPI and MIPI bits */
+	sci_err = sc_misc_set_control(ipc_handle,
+				      mipi_id,
+				      SC_C_DPI_RESET,
+				      0);
+	if (sci_err != SC_ERR_NONE) {
+		DRM_DEV_ERROR(dev,
+			      "Failed to assert DPI reset (%d)\n",
+			      sci_err);
+		ret = -ENODEV;
+		goto err_ipc;
+	}
+
+	sci_err = sc_misc_set_control(ipc_handle,
+				      mipi_id,
+				      SC_C_MIPI_RESET,
+				      0);
+	if (sci_err != SC_ERR_NONE) {
+		DRM_DEV_ERROR(dev,
+			      "Failed to assert MIPI reset (%d)\n",
+			      sci_err);
+		ret = -ENODEV;
+		goto err_ipc;
+	}
+
 	if (v2) {
 		sci_err = sc_misc_set_control(ipc_handle,
 				mipi_id, SC_C_MODE, 0);
@@ -310,14 +335,14 @@ static int imx8q_dsi_poweron(struct imx_mipi_dsi *dsi, bool v2)
 		goto err_ipc;
 	}
 
-	/* Assert DPI and MIPI bits */
+	/* De-Assert DPI and MIPI bits */
 	sci_err = sc_misc_set_control(ipc_handle,
 				      mipi_id,
 				      SC_C_DPI_RESET,
 				      1);
 	if (sci_err != SC_ERR_NONE) {
 		DRM_DEV_ERROR(dev,
-			"Failed to assert DPI reset (%d)\n",
+			"Failed to deassert DPI reset (%d)\n",
 			sci_err);
 		ret = -ENODEV;
 		goto err_ipc;
@@ -329,7 +354,7 @@ static int imx8q_dsi_poweron(struct imx_mipi_dsi *dsi, bool v2)
 				      1);
 	if (sci_err != SC_ERR_NONE) {
 		DRM_DEV_ERROR(dev,
-			"Failed to assert MIPI reset (%d)\n",
+			"Failed to deassert MIPI reset (%d)\n",
 			sci_err);
 		ret = -ENODEV;
 		goto err_ipc;