> there'is missing some infos. E.g:how fill values for : pixel
> clock, horizontal synchronization pulse width, horizontal
> front porch, horizontal back porch, vertical synchronization
> pulse width, vertical front porch, vertical back porch,
> ac-bias pin frequency.

Does your linux kernel already boot?  If yes, you can use a 
user-space tool to change those settings on the fly until the 
displayed image is what you need.

I once write a tool "pxaregs" for an PXA255 that could do this, 
you need to adapt this to your omap.

http://www.mn-logistik.de/unsupported/pxa250/pxaregs.c



In my experiments, the LCD was very forgiving for wrong timings, 
e.g. with a different timing when specified I still got a 
picture. If the timing was too slow, the picture flickered, 
especially if your room is lit with neon bulbs. If the timing 
was too high, then the PDA got a bit slower, because the PXA255 
used more bus bandwidth for video refresh.

The pulse width was also not that important, but pulse polarities 
of course mattered.

I cannot guarantee that you won't damage your LCD display, but I 
didn't damage mine :-)



For my current target, I'm using something like this to get all 
LCD controller settings and will re-use this on windows:

print "LCDC:"
print "mem32 10021000: %08x LSSAR" pmw(0x10021000)
print "mem32 10021004: %08x LSR" pmw(0x10021004)
print "mem32 10021008: %08x LVPWR" pmw(0x10021008)
print "mem32 1002100c: %08x LCPR" pmw(0x1002100c)
print "mem32 10021010: %08x LCWHBR" pmw(0x10021010)
print "mem32 10021014: %08x LCCMR" pmw(0x10021014)
print "mem32 10021018: %08x LPCR" pmw(0x10021018)
print "mem32 1002101c: %08x LHCR" pmw(0x1002101c)
print "mem32 10021020: %08x LVCR" pmw(0x10021020)
print "mem32 10021024: %08x LPOR" pmw(0x10021024)
print "mem32 10021028: %08x LSCR" pmw(0x10021028)
print "mem32 1002102c: %08x LPCCR" pmw(0x1002102c)
print "mem32 10021030: %08x LDCR" pmw(0x10021030)
print "mem32 10021034: %08x LRMCR" pmw(0x10021034)
print "mem32 10021038: %08x LICR" pmw(0x10021038)
print "mem32 1002103c: %08x LIER" pmw(0x1002103c)
print "mem32 10021040: %08x LISR" pmw(0x10021040)
print "mem32 10021050: %08x LGWSAR" pmw(0x10021050)
print "mem32 10021054: %08x LGWSR" pmw(0x10021054)
print "mem32 10021058: %08x LGWVPWR" pmw(0x10021058)
print "mem32 1002105c: %08x LGWPOR" pmw(0x1002105c)
print "mem32 10021060: %08x LGWPR" pmw(0x10021060)
print "mem32 10021064: %08x LGWCR" pmw(0x10021064)
print "mem32 10021068: %08x LGWDCR" pmw(0x10021068)

(But the above is correct only for an i.MX21 processor).

I'm capturing the output via haretconsole and have a pythonscript 
that can decode this. In the end I get output like this:

Chapter 26: LCD Controller (LCDC)

Address  Value     Register  Page  Description
  Bits   Value     Bit name        Description
--------------------------------------------------------------------------
10021000 c0101000  LSSAR      643  Screen Start Address Register

10021004 00f00140  LSR        644  Size Register
  0-9         140  YMAX            (320)
  20-25         f  XMAX/16         (15)

10021008 00000078  LVPWR        ?  Virtual Page Width Register
  0-9          78  VPW             Virtual Page Width (120)

1002100c 00000000  LCPR       651  Cursor Position Register
  0-9           0  CYP             X position
  16-25         0  CXP             Y position
  28            0  OP              Arithmetic Operation Control
  30-31         0  CC              Cursor Control [unused]
...

which is quite easy to understand :-)
_______________________________________________
Haret mailing list
[email protected]
https://handhelds.org/mailman/listinfo/haret

Reply via email to