Can I mirror a LVDS channel on HDMI?

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

Can I mirror a LVDS channel on HDMI?

7,124 Views
patrickmccleary
Contributor II

Hello,

I'm trying to mirror the main LCD frame buffer (/dev/fb0 - LVDS0) to the HDMI framebuffer (/dev/fb2 - HDMI). It seems like this should be possible but I'm not finding much information on the matter. I'm using Linux without X11.

-Pat

Tags (3)
8 Replies

1,819 Views
robertjanes
Contributor I

Patrick, what did you end up doing to get it to work, I too have a i.mx6 and trying both LVDS and HDMI.

thanks,

dean

0 Kudos

1,819 Views
SergioSolis
NXP Employee
NXP Employee

Hello Patrick,

Yes, it is possible to mirror on LVDS and HDMI. Probably the problem is that you areusinb fb2 instead of fb1 for the HDMI.

You are only setting the mirror on the bootargs right?.

Can you try the following bootargs?:

setenv bootargs_mmc 'setenv bootargs ${bootargs} root=/dev/mmcblk0p1 rootwait rw video=mxcdi0fb:RGB24,1024x768M@60 hdmi video=mxcdi1fb:RGB666,XGA di0_primary ldb=di1 ip=none'

the penguin is shown only in the HDMI,then if you enter the command: 

echo 0 > /sys/class/graphics/fb1/blank

The penguin will be shown in the LVDS

You could also use this one:

setenv bootargs_mmc 'setenv bootargs ${bootargs} root=/dev/mmcblk0p1 rootwait rw video=mxcdi0fb:RGB24,1024x768M@60 hdmi video=mxcdi1fb:RGB666,XGA di1_primary ldb=di1 ip=none'

the penguin is only shown in the LVDS ,then if you enter the command:

echo 0 > /sys/class/graphics/fb1/blank

The penguin will be shown in the HDMI

Let me know if it works

0 Kudos

1,819 Views
patrickmccleary
Contributor II

Thanks for the reply SerchMX. Here is what I have set for my bootargs:

setenv bootargs_nand 'setenv bootargs ${bootargs} ubi.mtd=2 root=ubi0:rootfs rootfstype=ubifs consoleblank=0 video=mxcfb0:dev=ldb,VAR-WVGA video=mxcfb1:dev=hdmi,1920x1080M@60,if=RGB24 di0_primary ldb=di0 ip=none'

Changing the ldb=di0 and the dio_primary doesn't seem to change anything. I should have mentioned I'm using an MX6Q board. Using that bootarg, I always get HDMI on /dev/fb2.

-Pat

0 Kudos

1,819 Views
jamesbone
NXP TechSupport
NXP TechSupport

Are you getting any video output in both Interfaces at all? or  the problem you are getting it is only doing the mirroring?  can you share your complete bootargs,  I agree with SergioSolis that the example that he is giving provides mirroring in the i.MX6Q SABRE SDP.

0 Kudos

1,819 Views
robertjanes
Contributor I

James,

I read where you helped Patrick mirror his LVDS & HDMI.  I need to do the same thing, but have a custom bootscript that is only sets up the LVDS2 port on a Bounday i.mx6.  With everything connected... when I boot I see the bootscript message on the HDMI screen, after boot the script sets the output to the LVDS2 and the application appears only there.  Where do I start?

0 Kudos

1,819 Views
patrickmccleary
Contributor II

I've got the mirroring partially working. The HDMI video output looks good. The LVDS output is garbled. I believe this is due to the video modeline "800x480@30" in my bootargs which doesn't seem to be compatible with our LCD. If I use our display specific modeline ("VAR-WVGA"), I don't get any output from the HDMI connection.


HDMI Output:

image.jpeg.jpg

LVDS Output:

image_LCD.jpeg.jpg

Here is the setup that produces the images above:

bootargs:


console=ttymxc0,115200 video=mxcfb0:dev=hdmi,800x480M@30,if=RGB24 video=mxcfb1:dev=ldb

display setup in kernel:

static struct ipuv3_fb_platform_data var_som_fb_data[] = {

  { /*fb0*/

  .disp_dev = "ldb",

  .interface_pix_fmt = IPU_PIX_FMT_RGB24,

  .mode_str = "VAR-WVGA",

  .default_bpp = 16,

  .int_clk = false,

  .late_init = false,

  },

  {/*fb2*/

  .disp_dev = "hdmi",

  .interface_pix_fmt = IPU_PIX_FMT_RGB24,

  .mode_str = "1280x720M@60",

  .default_bpp = 32,

  .int_clk = false,

  },

};

static struct fsl_mxc_ldb_platform_data ldb_data = {

  .ipu_id = 0,

  .disp_id = 1,

  .ext_ref = 1,

  .mode = LDB_SIN0,

  .sec_ipu_id = 1,

  .sec_disp_id = 1,

};

static struct fsl_mxc_hdmi_core_platform_data hdmi_core_data = {

  .ipu_id = 0,

  .disp_id = 0,

};

0 Kudos

1,819 Views
patrickmccleary
Contributor II

Any ideas on how to alleviate the garbled image on the LCD panel? I believe I need to use different modelines for HDMI and LVDS but I'm not sure how to do this.

0 Kudos

1,819 Views
huang_dexiang
Contributor II

Did your problem get solved?

0 Kudos