How to configure independent LVDS displays?  I have dual mode working

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

How to configure independent LVDS displays?  I have dual mode working

跳至解决方案
1,491 次查看
mstevens
Contributor II

About 6 months ago, I successfully brought up two Industrial 800x480 LVDS displays running in dual mode (my patch to the dts file is attached).

 

What changes do I need to make to make the displays independent? 

Simply changing the mode is not enough.  My displays show that I have something clocked wrong (they do the funky wave of black).

My timing is correct for both of them for dual.  In looking at ldb.c I see that dual mode runs with a different divider than other modes.  (in certain modes it is divide by 3.5).

 

First what the correct mode so I can have two independent display?  I think split.

Second do I double or halve the clock?  I've tried both for split mode, no joy

 

Is there another setting I need to change? 

 

I've tried making fb2 and fb3 matching fb1.

mxcfb1: fb@0 {
compatible = "fsl,mxc_sdc_fb";
disp_dev = "ldb";
mode_str ="LDB-XGA";
interface_pix_fmt = "RGB24";
default_bpp = <24>;
int_clk = <0>;
late_init = <0>;
status = "disabled";
};

Any help would be appreciated.  I've struggled with this for a while.  

Original Attachment has been moved to: 0004-Display.patch.zip

0 项奖励
1 解答
1,163 次查看
mstevens
Contributor II

The answer is separate-mode was all I was missing (thank Igor)

Also note that my second display ended up on fb2.  

ldb {
status = "okay";
separate-mode;  //MSS: THIS IS THE KEY!
lvds-channel@0 {
fsl,data-mapping = "jeida";
fsl,data-width = <24>;
primary;  //MSS: Make sure you have this
status = "okay";

display-timings {
native-mode = <&timing0>;
timing0: hsd100pxn1 {
clock-frequency = <33260000>;
hfront-porch = <40>;
hactive = <800>;
hback-porch = <88>;
hsync-len = <128>;

vactive = <480>;
vfront-porch = <10>;
vback-porch = <33>;
vsync-len = <2>;
};
};
};

lvds-channel@1 {
fsl,data-mapping = "jeida";
fsl,data-width = <24>;
status = "okay";
crtc = "ipu1-di1"; //MSS Make sure you have this

display-timings {
native-mode = <&timing1>;
timing1: hsd100pxn1 {
clock-frequency = <33260000>;
hfront-porch = <40>;
hactive = <800>;
hback-porch = <88>;
hsync-len = <128>;

vactive = <480>;
vfront-porch = <10>;
vback-porch = <33>;
vsync-len = <2>;
};
};
};
};

在原帖中查看解决方案

0 项奖励
3 回复数
1,164 次查看
mstevens
Contributor II

The answer is separate-mode was all I was missing (thank Igor)

Also note that my second display ended up on fb2.  

ldb {
status = "okay";
separate-mode;  //MSS: THIS IS THE KEY!
lvds-channel@0 {
fsl,data-mapping = "jeida";
fsl,data-width = <24>;
primary;  //MSS: Make sure you have this
status = "okay";

display-timings {
native-mode = <&timing0>;
timing0: hsd100pxn1 {
clock-frequency = <33260000>;
hfront-porch = <40>;
hactive = <800>;
hback-porch = <88>;
hsync-len = <128>;

vactive = <480>;
vfront-porch = <10>;
vback-porch = <33>;
vsync-len = <2>;
};
};
};

lvds-channel@1 {
fsl,data-mapping = "jeida";
fsl,data-width = <24>;
status = "okay";
crtc = "ipu1-di1"; //MSS Make sure you have this

display-timings {
native-mode = <&timing1>;
timing1: hsd100pxn1 {
clock-frequency = <33260000>;
hfront-porch = <40>;
hactive = <800>;
hback-porch = <88>;
hsync-len = <128>;

vactive = <480>;
vfront-porch = <10>;
vback-porch = <33>;
vsync-len = <2>;
};
};
};
};

0 项奖励
1,163 次查看
igorpadykov
NXP Employee
NXP Employee

Hi Michael

split mode is used for one display with high resolution,

for two independent displays separate mode should be used.

Please refer to Table 39-5. Channel Mapping i.MX6DQ Reference Manual

http://cache.freescale.com/files/32bit/doc/ref_manual/IMX6DQRM.pdf

and attached Release Notes from older kernel Table 6. Kernel Boot Parameters

"ldb" parameter, it provides some better description.

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

1,163 次查看
mstevens
Contributor II

Igor,

I did not get the release notes.  The Channel Mapping is extremely low level and I hope the driver will handle it.  

0 项奖励