このソリューションを使用したい方は、Lontium からリファレンス・デザインとファームウェアを入手する必要があります。
こちらがLT9611UXCデモボードのブロック図です。
当社の EVK の MIPI ポートは 5V、3V3、1V8 を供給できるため、リファレンス・デザインから不要な DC-DC チップを削除できます。
以下はLT9611UXCデモ・ボードです。
ファームウェアを LT9611UXC にダウンロードしてください。Linux 側では、MIPI を駆動して 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
}, {