diff --git a/board/boundary/nitrogen8m_som/lcdif.c b/board/boundary/nitrogen8m_som/lcdif.c
index 71c1657f95f07c545996413668da263165f00243..77f13ca3cfe0e833eee4d1f5e49d3c991e13d7a8 100644
--- a/board/boundary/nitrogen8m_som/lcdif.c
+++ b/board/boundary/nitrogen8m_som/lcdif.c
@@ -984,3 +984,15 @@ out:
 	printf("lcdif: video_hw_init(): %s\n", err);
 	return NULL;
 }
+
+void
+video_hw_exit(void)
+{
+	lcdifreset();
+
+	mr(resetc, SRC_MIPIPHY_RCR, 0, RCR_MIPI_DSI_RESET_N);
+	mr(resetc, SRC_MIPIPHY_RCR, 0, RCR_MIPI_DSI_PCLK_RESET_N);
+	mr(resetc, SRC_MIPIPHY_RCR, 0, RCR_MIPI_DSI_ESC_RESET_N);
+	mr(resetc, SRC_MIPIPHY_RCR, 0, RCR_MIPI_DSI_RESET_BYTE_N);
+	mr(resetc, SRC_MIPIPHY_RCR, 0, RCR_MIPI_DSI_DPI_RESET_N);
+}
diff --git a/board/boundary/nitrogen8m_som/nitrogen8m_som.c b/board/boundary/nitrogen8m_som/nitrogen8m_som.c
index ae0fbe906f392ae74a5bf7ccdee1df93d3d591a6..c2373707f4030f4ac0637684e1d8b6dcefad49ad 100644
--- a/board/boundary/nitrogen8m_som/nitrogen8m_som.c
+++ b/board/boundary/nitrogen8m_som/nitrogen8m_som.c
@@ -391,3 +391,20 @@ int board_late_init(void)
 
 	return 0;
 }
+
+void
+board_quiesce_devices(void)
+{
+	extern void video_hw_exit(void);	/* lcdif.c */
+
+	/*
+	 * Linux kermel mode setting seems to fail to
+	 * properly reset the mipi core, causing the
+	 * screen to be shifted to the right.
+	 *
+	 * As a work around, we reset the lcdif and
+	 * mipi core for it.
+	 */
+	if (images.os.os == IH_OS_LINUX)
+		video_hw_exit();
+}