driver: display: use LP mode for ilitek,ili9806e-dsi

Update driver code to use LPM

Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
diff --git a/drivers/display/display_ili9806e_dsi.c b/drivers/display/display_ili9806e_dsi.c
index ed54d41..6c9a59a 100644
--- a/drivers/display/display_ili9806e_dsi.c
+++ b/drivers/display/display_ili9806e_dsi.c
@@ -212,7 +212,28 @@
 	int ret;
 	const struct ili9806e_config *cfg = dev->config;
 
-	ret = mipi_dsi_dcs_write(cfg->mipi_dsi, cfg->channel, reg, buf, len);
+	struct mipi_dsi_msg msg = {
+		.cmd = reg,
+		.tx_buf = buf,
+		.tx_len = len,
+		.flags = MIPI_DSI_MSG_USE_LPM,
+	};
+
+	switch (len) {
+	case 0U:
+		msg.type = MIPI_DSI_DCS_SHORT_WRITE;
+		break;
+
+	case 1U:
+		msg.type = MIPI_DSI_DCS_SHORT_WRITE_PARAM;
+		break;
+
+	default:
+		msg.type = MIPI_DSI_DCS_LONG_WRITE;
+		break;
+	}
+
+	ret = mipi_dsi_transfer(cfg->mipi_dsi, cfg->channel, &msg);
 	if (ret < 0) {
 		LOG_ERR("Failed writing reg: 0x%x result: (%d)", reg, ret);
 		return ret;
@@ -384,7 +405,7 @@
 		mdev.pixfmt = MIPI_DSI_PIXFMT_RGB888;
 	}
 	mdev.data_lanes = cfg->data_lanes;
-	mdev.mode_flags = MIPI_DSI_MODE_VIDEO;
+	mdev.mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_LPM;
 	mdev.timings.hactive = cfg->width;
 	mdev.timings.hbp = ILITEK_ILI9806E_HBP;
 	mdev.timings.hfp = ILITEK_ILI9806E_HFP;