Letux Kernel

Issue 22: Better initialize DSS for our LCM

Reported by Nikolaus Schaller, Feb 19, 2010

when booting the kernel it appears as if quite at the beginning some 
parts of the OMAP are reset. This stops HSYNC/VSYNC until it is 
programmed again by the DSS driver.

This has two effects:
a) the boot splash disappears until the X-Server starts
b) this is running the LCM outside of the Specs where such changes 
should be announced to the LCM controller through the SPI interface. 
The bad effect is that the display "blurs out". This may 
reduce the lifetime of the liquid chrystal

Comment 1 by Nikolaus Schaller, Feb 26, 2010

There is a driver


but it is not clear what the role of this file is. It is compiled 
into the kernel, but it does a 768x1024 init of the omap 
framebuffer. So it appears as if it has nothing to do with the DVI 
driver and theinitialization by command line.

Comment 2 by Nikolaus Schaller, Feb 27, 2010

Here I found the documentation file for DSS2


and it refers to the "mode DB":

Owner: hns

Comment 3 by Nikolaus Schaller, Feb 27, 2010


After digging into modedb.c the question is why the LCM did work at 
all for the FOSDEM demo.

We do 'omapfb.mode=dvi:480x640MR-16@60' and there is NO matching 
entry in the database!

Comment 4 by Nikolaus Schaller, Feb 28, 2010

Ok, next piece of information


First, make sure to select your desired resolution at boot, e.g. 
omapfb.mode=dvi:1024x768-16@60. Avoid the R flag (reduced blanking).

When the system is up, cat the following file: 

The output is in the format 

Field	Unit	Description
pixclock	picoseconds	The duration of one pixel
xres	pixels	Width of visible area (typically width of framebuffer)
hfp	pixels	Horizontal front porch
hbp	pixels	Horizontal back porch
hsw	pixels	Horizontal sync width
yres	rows	Height of visible area (typically height of framebuffer)
vfp	rows	Vertical front porch
vbp	rows	Vertical back porch
vsw	rows	Vertical sync "width" (in rows)
Details are available in the kernel sources, in 

Comment 5 by Nikolaus Schaller, Feb 28, 2010

According to the Data Sheet we should have this (minimum) timing:


Comment 6 by Nikolaus Schaller, Feb 28, 2010

What we get from the initialization string




All values appear to be on the safe side.

Probing with the Scope shows that the polarity of the impulses looks 
to be wrong! So it may be that the one LCM where we had good results 
may auto-detect the polarity...

Comment 7 by Nikolaus Schaller, Feb 28, 2010

At least for a Sharp Panel there is a specific/individual driver 


Probably we should define a similar one for the TPO display and 
include the SPI based driver.

But - how do we enable/switch to such a driver/panel during Linux 

Comment 8 by Nikolaus Schaller, Apr 1, 2010

More information became available through:


Comment 9 by Nikolaus Schaller, Apr 22, 2010

The original GTA02 jbt6k driver has been added to the kernel tree 

Comment 10 by Nikolaus Schaller, May 19, 2010

Done. Suspend/Powerdown appears to work as well (shutdown -h now).
Status: Fixed

Created: 14 years 4 months ago by Nikolaus Schaller

Updated: 14 years 1 month ago

Status: Fixed

Owner: Nikolaus Schaller