Mirroring the LVDS & LCD in iMX6DL

cancel
Showing results for 
Search instead for 
Did you mean: 

Mirroring the LVDS & LCD in iMX6DL

347 Views
호영노
Contributor II

Hi,

I'm using the iMX6DL and Linux kernel 3.0.35

I tested each of LCD(via ADV7125) and LVDS. 

But my ultimate goal is see the same screen at same time. (Mirroring.)

So I tried below step, 

1. set the bootargs

"root=/dev/mmcblk0p1 rootfstype=ext4 rootwait rw video=mxcfb0:dev=ldb,LDB-VGA,bpp=32 video=mxcfb1:dev=lcd,LCD-640, if=RGB24, bpp=32 \0"

2. set the lcdif_data & ldb_data in the kernel source.

static struct fsl_mxc_lcd_platform_data lcdif_data = {
.ipu_id = 0,
.disp_id = 0,
};

static struct fsl_mxc_ldb_platform_data ldb_data = {
.ipu_id = 0,
.disp_id = 0,
.ext_ref = 1,
.mode = LDB_SEP0,
.sec_ipu_id = 1,
.sec_disp_id = 1,
};

※ I think, this is mirroring. so, it need same setting of ipu_id & disp_id. Isn't it??

3. in the initializing code, I added each datas like this,

imx6q_add_ldb(&ldb_data);
imx6q_add_lcdif(&lcdif_data);

Is this add order affect the "bootargs"'s framebuffer setting?  

ex ) if I set the mxcfb0 to ldb, then should I call the "imx6q_add_ldb(&ldb_data);" earlier than "imx6q_add_lcdif(&lcdif_data);" ??

 

Actually, 

I tried change the "ipu_id" and "disp_id " and 

bootargs 's this line -> "video=mxcfb0:dev=ldb,LDB-VGA,bpp=32 video=mxcfb1:dev=lcd,LCD-640, if=RGB24, bpp=32"

(mxcfb0 and mxcfb1) by so many combinations. 

In this tests, I saw only one output of lcd or lvds. Sometimes I cannot see any output of lcd & lvds.

But I never seen the both output at same time. 

What can I do?? 

Labels (1)
Tags (2)
0 Kudos
2 Replies

122 Views
호영노
Contributor II

I understood another thing.

If I connecting the DISP0_DAT0~DAT23 to IPU1_DISP0_DAT_0~23,

Then each display pins are looking the IPU1. 

So even if I set the only LVDS output(IPU1) in the bootargs, lcd monitor can get a data.

But problem is,

mxcfb0 is same as LVDS & LCD. 

So, they are get a same timing.

But if I matching the LVDS's timing for good output,

then LCD cannot show the screen. (out of range.)

Also,  if I set the LCD's timing, then LCD can showing the output but LVDS cannot showing anything.

I think, best solution is change the LVDS part. (could following the LCD's timing)

But at this time, it is hard for me.

So, if I could cloning the framebuffer, then I can allocating the cloned framebuffer to lcd or lvds.

Is this possible??

If not, I considering about change the iMX6Dual. 

Actually, already I designed iMX6Dual-Lite, but is this possible to pin to pin changing the upper model? 

Thank you for your kindly concerning..

0 Kudos

122 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hi

You will have to change the kernel version to newer version, In 3.0.35 is not supported, however if you like to try:

https://community.nxp.com/thread/435587 

0 Kudos