Hello,
we have a strange problem with our LVDS displays.
Our goal is to display one QT application on two LVDS displays (each shows different content).
Imagine the top half of the QT application on display 1 shows the top side of the application and the second half on display two shows the second half of the application.
- Can we use the dual modus for this or do we need to use the split mode?
- Is it possible to do this in one application or do we need to start two separate applications with different frame buffers?
- We have tested images with dual mode and the CinematicExperienceDemo looks great being mirrored on both displays. Since we thought the split mode is required for two individual displays, we just changed the mode in the overlay two “split-mode”. Split Mode doesn’t start correctly. Displays simultaneously start to become white during the stat. Then they fade to black and do not change. Here, no terminal is visible. What’s wrong here and how can we debug it?
- Do we have to change anything else than the overlay to successfully start the split-mode?
Thank you very much for your help!
The patch for the overlay:
From 0e7e5a693ecb95d763aaa28d5f3ed173e8972d5f Mon Sep 17 00:00:00 2001
From: b b <b.b@yahoo.de>
Date: Fri, 2 Feb 2018 14:14:16 +0100
Subject: [PATCH 1/1] Add support for the CD-Tech S08-DC08
Add timings and 24-bit-lvds for the CD-Tech S08-DC08.
Set the LCD to fb0 and the LDB (LVDS) to fb1.
Enable both.
---
arch/arm/boot/dts/imx6qdl-apalis.dtsi | 63 +++++++++++++++++++++++++----------
1 file changed, 46 insertions(+), 17 deletions(-)
diff --git a/arch/arm/boot/dts/imx6qdl-apalis.dtsi b/arch/arm/boot/dts/imx6qdl-apalis.dtsi
index f093b93..76e8dfc 100644
--- a/arch/arm/boot/dts/imx6qdl-apalis.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-apalis.dtsi
@@ -89,29 +89,29 @@
mxcfb1: fb@0 {
compatible = "fsl,mxc_sdc_fb";
disp_dev = "ldb";
- interface_pix_fmt = "RGB666";
- default_bpp = <16>;
+ interface_pix_fmt = "RGB24";
+ default_bpp = <32>;
int_clk = <0>;
late_init = <0>;
- status = "disabled";
+ status = "okay";
};
mxcfb2: fb@1 {
compatible = "fsl,mxc_sdc_fb";
- disp_dev = "hdmi";
+ disp_dev = "lcd";
interface_pix_fmt = "RGB24";
- mode_str ="1920x1080M@60";
- default_bpp = <16>;
+ mode_str ="CLAA-WVGA";
+ default_bpp = <32>;
int_clk = <0>;
late_init = <0>;
- status = "disabled";
+ status = "okay";
};
mxcfb3: fb@2 {
compatible = "fsl,mxc_sdc_fb";
- disp_dev = "lcd";
- interface_pix_fmt = "RGB565";
- mode_str ="CLAA-WVGA";
+ disp_dev = "hdmi";
+ interface_pix_fmt = "RGB24";
+ mode_str ="1920x1080M@60";
default_bpp = <16>;
int_clk = <0>;
late_init = <0>;
@@ -508,19 +508,34 @@
&ldb {
status = "okay";
-// split-mode;
-// dual-mode;
+//https://git.congatec.com/arm/qmx6_kernel/blob/b8a5656180f4eee73437263c58d1973a89454843/Documentation/devicetree/bindings/video/fsl,ldb.txt#L24 //https://www.toradex.cn/community/questions/16754/imx-6-lvds-display-configuration-problem.html
+ dual-mode;
lvds-channel@0 {
reg = <0>;
fsl,data-mapping = "spwg"; /* "jeida"; */
- fsl,data-width = <18>;
+ fsl,data-width = <24>; /* "18"; */
crtc = "ipu2-di1";
primary;
status = "okay";
display-timings {
- native-mode = <&timing_xga>;
+ native-mode = <&timing_S08_DC08_ch1>;
+ /* CD-Tech S08-DC08 */
+ timing_S08_DC08_ch1: 1280x320 {
+ clock-frequency = <36000000>;
+ hactive = <1280>;
+ vactive = <320>;
+ hback-porch = <20>;
+ hfront-porch = <72>;
+ vback-porch = <70>;
+ vfront-porch = <20>;
+ hsync-len = <10>;
+ vsync-len = <10>;
+ hsync-active = <0>;
+ vsync-active = <0>;
+ pixelclk-active = <0>;
+ };
/* LDB-AM-800600LTNQW-A0H */
timing_svga: 800x600 {
clock-frequency = <55000000>;
@@ -585,13 +600,27 @@
lvds-channel@1 {
reg = <1>;
fsl,data-mapping = "spwg";
- fsl,data-width = <18>;
+ fsl,data-width = <24>; /* "18"; */
crtc = "ipu1-di0";
status = "okay";
display-timings {
-/* native-mode = <&timing_svga_ch2>;*/
- /* LDB-AM-800600LTNQW-A0H */
+ native-mode = <&timing_S08_DC08_ch2>;
+ /* CD-Tech S08-DC08 */
+ timing_S08_DC08_ch2: 1280x320 {
+ clock-frequency = <36000000>;
+ hactive = <1280>;
+ vactive = <320>;
+ hback-porch = <20>;
+ hfront-porch = <72>;
+ vback-porch = <70>;
+ vfront-porch = <20>;
+ hsync-len = <10>;
+ vsync-len = <10>;
+ hsync-active = <0>;
+ vsync-active = <0>;
+ pixelclk-active = <0>;
+ };
timing_svga_ch2: 800x600 {
clock-frequency = <55000000>;
hactive = <800>;
--
2.7.4