From c20449e5f4d33e31365c92f6c36a3b6adfaffeab Mon Sep 17 00:00:00 2001
From: Troy Kisky <troy.kisky@boundarydevices.com>
Date: Thu, 21 Nov 2019 12:06:19 -0800
Subject: [PATCH] fbpanel: add jeida/spwg/split-mode support to mipi panels

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
---
 arch/arm/mach-imx/fbpanel.c | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/arch/arm/mach-imx/fbpanel.c b/arch/arm/mach-imx/fbpanel.c
index a9bad42d57f..0e3f17602c8 100644
--- a/arch/arm/mach-imx/fbpanel.c
+++ b/arch/arm/mach-imx/fbpanel.c
@@ -387,6 +387,25 @@ static void setup_cmd_fb(unsigned fb, const struct display_info_t *di, char *buf
 			buf += sz;
 			size -= sz;
 		}
+	} else if (fb == FB_MIPI) {
+		sz = snprintf(buf, size,
+			"fdt set %s dsi-format %s;", fbnames[fb], (interface_width == 24) ? "rgb888" : "rgb666");
+		buf += sz;
+		size -= sz;
+
+		if ((di->addr_num == 0x2c) || (di->fbflags & (FBF_JEIDA | FBF_SPLITMODE))) {
+			if (interface_width == 24) {
+				sz = snprintf(buf, size,
+					"fdt set mipi_to_lvds %s;", (di->fbflags & FBF_JEIDA) ? "jeida" : "spwg");
+				buf += sz;
+				size -= sz;
+			}
+			if (di->fbflags & FBF_SPLITMODE) {
+				sz = snprintf(buf, size, "fdt set mipi_to_lvds split-mode;");
+				buf += sz;
+				size -= sz;
+			}
+		}
 	}
 
 	if (di->fbflags & FBF_PINCTRL) {
-- 
GitLab