Anyone who want to use this solution should get reference design and firmware from Lontium.
Here is the block diagram of LT9611UXC Demo Board.
As the MIPI port of our EVK can provide 5V, 3V3 and 1V8.We can remove useless DC-DC chips from reference design.
Below is the LT9611UXC Demo Board.
Download the firmware into LT9611UXC. In Linux side, we need to drive the MIPI to output signals with standard timings of 1080P.
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-evk.dts b/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
index 1732b5c72380..c6a829be541f 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
@@ -696,13 +716,17 @@ &ldb_phy {
&mipi_dsi {
status = "okay";
+ panel@0{
+ compatible = "nxp,lt9611uxc";
+ reg = <0>;
+ status = "okay";
};
};
&snvs_pwrkey {
diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
index 4f78bbf63f33..90d99f12515b 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -4997,6 +4997,34 @@ struct panel_desc_dsi {
unsigned int lanes;
};
+static const struct drm_display_mode lt9611_panel_mode = {
+ .clock = 148500,
+ .hdisplay = 1920,
+ .hsync_start = 1920 + 88,
+ .hsync_end = 1920 + 88 + 44,
+ .htotal = 1920 + 88 + 44 + 148,
+ .vdisplay = 1080,
+ .vsync_start = 1080 + 4,
+ .vsync_end = 1080 + 4 + 5,
+ .vtotal = 1080 + 4 + 5 + 36,
+};
+
+static const struct panel_desc_dsi lt9611_panel = {
+ .desc = {
+ .modes = <9611_panel_mode,
+ .num_modes = 1,
+ .bpc = 8,
+ .size = {
+ .width = 62,
+ .height = 110,
+ },
+ .connector_type = DRM_MODE_CONNECTOR_DSI,
+ },
+ .flags = MIPI_DSI_MODE_VIDEO_HSE | MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_NO_EOT_PACKET | MIPI_DSI_MODE_VIDEO_SYNC_PULSE,
+ .format = MIPI_DSI_FMT_RGB888,
+ .lanes = 4,
+};
+
static const struct drm_display_mode auo_b080uan01_mode = {
.clock = 154500,
.hdisplay = 1200,
@@ -5201,6 +5229,9 @@ static const struct panel_desc_dsi osd101t2045_53ts = {
static const struct of_device_id dsi_of_match[] = {
{
+ .compatible = "nxp,lt9611uxc",
+ .data = <9611_panel,
+ },{
.compatible = "auo,b080uan01",
.data = &auo_b080uan01
}, {