Mirror or cloning the same fb0 data to LVDS and Paraleel VGA(lcdif)

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Mirror or cloning the same fb0 data to LVDS and Paraleel VGA(lcdif)

1,516 Views
호영노
Contributor II

CPU : i.MX6dl( Dual Lite, signle IPU)

Kernel : 3.0.35

I want to mirroring the fb0's data to LVDS and Parallel VGA(lcdif).

Basically, only one TFT LCD is output through LVDS, but I want to output the same video to the VGA side through the parallel port.

If I set the each LVDS and Parallel for individually, then it working well for output.

Now, I set like below diagram to output to both screens at the same time.

- HW Configuration

pastedImage_3.png

- Kernel

: linux-3.0.35/arch/arm/mach-mx6/ board-mx6dl_mvt.h

> add parallel pin for vga LCD

pastedImage_7.png

: linux-3.0.35/arch/arm/mach-mx6/ board-mx6q_mvt.c

> add lcdif struct.

pastedImage_9.png

pastedImage_10.png

: linux3.0.35/drivers/video/mxc/mxc_lcdif.c

> add "LCD-720P" resolution

pastedImage_11.png

- U-boot

configs/mx6dl_mvt.h

> add boot argument

pastedImage_12.png

As a result of testing after setting as above
If you output it at the same time, LVDS will output but Parallel will not. ("out over range" message on the screen of Parallel VGA side)

In addition, fsl_ipuv3_fb.txt describes the DI0 and DI1 of the IPU as follows.

For LDB/LVDS panel, there are two LVDS channels(LVDS0 and LVDS1) which can

transfer video data, these two channels can be used as

split/dual/single/separate mode.

-split mode means display data from DI0 or DI1 will send to both channels

 LVDS0+LVDS1.

-dual mode means display data from DI0 or DI1 will be duplicated on LVDS0

 and LVDS1, it said, LVDS0 and LVDS1 has the same content.

-single mode means only work for DI0/DI1->LVDS0 or DI0/DI1->LVDS1.

-separate mode means you can make DI0/DI1->LVDS0 and DI0/DI1->LVDS1 work

 at the same time.

 "ldb=spl0/1" --      split mode on DI0/1

 "ldb=dul0/1" --      dual mode on DI0/1

 "ldb=sin0/1" --      single mode on LVDS0/1

 "ldb=sep0/1" --      separate mode begin from LVDS0/1

 

> 추가 적으로 아래 그림에 있는 mode split, dual, separate로도 각각 변경해 보았지만 결과는 마찬가지 입니다.

pastedImage_15.png

Which part need to be modified to output the same video (LVDS, VGA) on two screens?

Labels (2)
0 Kudos
4 Replies

1,222 Views
joanxie
NXP TechSupport
NXP TechSupport

try to change the lcd clock to true.

static struct ipuv3_fb_platform_data sabresd_fb_data[] = {

       { /*fb0*/

       .disp_dev = "lcd",

       .interface_pix_fmt = IPU_PIX_FMT_RGB565,

       .mode_str = "CLAA-WVGA",

       .default_bpp = 16,

       .int_clk = true,

       .late_init = false,

       }

0 Kudos

1,222 Views
호영노
Contributor II

As you can see the above my setting, 

already I tried . but not helpful.

0 Kudos

1,222 Views
joanxie
NXP TechSupport
NXP TechSupport

have you already changed the clock? I don't find this settings, could you point to me again?

0 Kudos

1,222 Views
호영노
Contributor II

You can find below text what I wrote,

: linux-3.0.35/arch/arm/mach-mx6/ board-mx6q_mvt.c

> add lcdif struct.

Below this text, 

I attached picture that my code.

You can see this struct..

static struct ipuv3_fb_platform_data mvt_fb_data[] = {

}

0 Kudos