LVDS and VGA at the same time?

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

LVDS and VGA at the same time?

1,950 Views
MarkRoy
Contributor III

Hey folks, 

I'm evaluating the i.mx53 for an embedded linux project but require duel lvds display.  Since the start board only makes available one of the two ldb outputs from the chip, I thought I would at least try and get LVDS and VGA at the same time.  

 

I've got LVDS working with a 10" SVGA panel by modifying the ldb driver which was fairly straight forward, but it took some effort to get the clocks working correctly.  It seemed that whenever I would boot, the ldb clock would be overwritten.  Later I discovered pll4 was being set by both the ldb driver and the tve driver. 

 

Anyways, so I got it working by disabling the tve when booting and then the LVDS panel works correctly.  However, both lvds and tve drivers require different clocks to display correctly, so I thought that maybe I coulld switch tve over to pll3.   I made the changes to the clock.c and tve.c and now when I boot up, I get an unstable image on my VGA display.   I also cant seem to get the LDB driver to work at the same time still.  Looking closer at clock.c I can see that many other peripherals are using pll3 so what I think may be happening is that these peripherals drivers are changing the pll3 which causes the display clock to change and thus disrupts the VGA output temporarily.  

 

Is this something I should even bother messing around with or is it not possible to have both TVE and LDB at the same time on the quick start board?  Maybe if I disable the other peripherals on pll3 (there are a lot of them!  csi0, csi1, hsi2, cspi, ieee_rtc, ssi1, ssi2, ssi_ext1, ssi_ext2 , esai, usb_phy). 

 

I'm also working on a simple adapter board that will take the parallel display output from the expansion connector and put it through an lvds transmitter chip for my second output.  In this case I was thinking I would try and configure the second LDB display on the imx53 and just grab the same data that it would see on the parallel for my lvds transmitter.  Should work right?

 

Suggestions or ideas would be appreciated. 

Labels (1)
2 Replies

1,260 Views
MarkRoy
Contributor III

I was able to get the 800x600 LCD working without problems.   I updated drivers/video/mxc/ldb.c with the correct video mode(s) for my display(s).   The recommended timings can be found in the LCDs datasheet.   The panel I am using is an LG panel, which gave me the following timings:

{
"SVGA", 60, 800, 600, 25000,
88,72,
15, 4,
64, 6,
0,
FB_VMODE_NONINTERLACED,
FB_MODE_IS_DETAILED,}

 

Then, when booting, change the boot parameters to something like video=mxcdi0fb:RGB24,SVGA ldb di0_primary -tve  

"ldb" makes sure that the lvds bridge is enabled.  "-tve" disables the TV encoder (vga), which I found was necessary.

 

I have been having difficulties, however, getting both the LCD and VGA to work at the same time.  I think this results from the way the clocks are setup in the tve and ldb drivers, they both want to use pll4 and override eachothers settings depending on which driver is loaded first.   It should be possible to change one of these clocks from pll4 to pll3 so that they can have different clock rates, but then you must go through and make sure that nothing else is attempting to use pll3.   It may also be possible to try and choose a clock speed that works for both TVE and ldb displays, but I was not able to find one for the two displays I wanted to use.  

In the end, I decided to not bother with the trouble of figuring out the clocks because I will be using both channels of the LVDS bridge to run two identical displays, in which case they both will run from the same clock.  However, I'm not able to do this with the current QSB because only one LVDS port is brought out to the connector on the bottom.

 

Hope this helps,

Cheers. 

Mark Roy 

0 Kudos

1,261 Views
MassimilianoPav
Contributor I

Hi Mark,

i'm sorry but i cannot reply to your question... Have you solved it?? How did u get the correct parameter for your 10" LVDS?

Cause i'm trying to change the default lvds to a 800x600 lcd, but i'm not able to load the correct configuration. Can you help me?

Tnx a lot

Max

0 Kudos