cancel
Showing results for 
Search instead for 
Did you mean: 

How do you write to the TFT configuration registers?

dcheng
Associate II
Posted on December 18, 2003 at 08:57

How do you write to the TFT configuration registers?

4 REPLIES 4
dcheng
Associate II
Posted on November 12, 2003 at 16:30

Hi!

I am using the Atlas board with a NEC 6488 TFT.

Where are the TFT configuration registers (mentioned in Chapter 17 of the Atlas Programming Manual) located?

How do I read/write from these Configuration registers?

I am currently using default settings, and I am seeing a horizontal and vertical shift in the image displayed on the TFT. Anyone else seen this problem?

Any help/suggestions would be appreciated!

Thanks!

uwe
Associate II
Posted on November 26, 2003 at 04:16

Hi!

It depends on the operating system.

The TFT parameters are included in the last part (32kB?) of the BIOS-Chip on the Evaluation Boards.

Split a ROM image into BIOS and the VGA-Bios.

There is a Windows utility from ST online to patch the binary.

Then copy it together and flash the image into a BIOS chip.

Now boot.

If you have a large horizontal shift, your TFT sync polarity (not the VGA output) must be changed.

For Linux, the TFT-Parameters of VESA-Bios are used for the text mode.

Under XFree86 4.X it is included in a ''xfree86.a'' library file. There is a tft.h file deep in the GDK/SDK, where you find a table with the parameters and there you can change them. But you have to recompile everything.

The other and faster option is to search the known table in the stpc.o driver binary with a hex editor (like UltraEdit). It works.

Best Regards

Flipflpop

[ This message was edited by: flipflop on 26-11-2003 09:08 ]
dcheng
Associate II
Posted on November 26, 2003 at 13:17

Thanks for all the responses!

I tried changing the contents of TFT register 0x084CC014 (RGB Pixel, Power and Polarity Control Register) upon flipflop's recommendation to change polarity of the sync signals.

I have a few questions:

The first three are regarding TFT register 0x084CC014(RGB Pixel, Power and Polarity Control Register)

1) Bit 26 Evee - it says in the Atlas programming manual that when set '1', it enables VCC supply to the flat panel. I found that set '0' will enable display, set '1' will disable the display. Please confirm?

2) Bits 31-27 (TDP, DLP, TFP, TVP, THP) - It doesn't seem to matter what I set these to. I always get the same display results.. which is not what I would expect.

3) Bit 24 Reset - The ATLAS programming manual doesn't specify whether '1' means Reset or '0' means Reset. I don't notice any difference in the outcome, whether this is set to '1' or '0'. Is the Reset transient, or is it permanent?

This last question is a general one.

4) In the Atlas programming manual section 17.2.4 Programmable Image Positioning, it says ''Changing image position also requires reprogramming of some of the CRT Controller timing registers. For compatibility reasons, it is preferable to use the VGA Controller CRTC which supports shadowing of its timing control''.

Does this mean to change image positioning, set the configuration in the CRT configuration registers? Or can we just set the TFT configuration registers? or do we have to set it in both places?

If it is the last option (in both places), then which settings are used in the event of a conflict?

Thanks!

uwe
Associate II
Posted on December 18, 2003 at 08:57

Hi.

The STPC has an VGA-Controller and the output is then feeded into an LCD scaler. In most times, the CRT has more pixel than the LCD.

The idea is:

Set up an analog VGA Picture on you CRT with the desired resolution and sync polarity.

Then watch the LCD output. Use an oscilloscope

and watch, if the H (FPLINE) and V (FPFRAME) Syncs are inverted.

If inverted, toggle TLP, respective TFP.

If only the wrong position, invert TVP, respective THP.

TVP/THP must match the polarity of the VGA analog H/V sync outputs !

Bit 26 Evee and Bit 25 Evdd:

This depends on *your* hardware, which polarity disables the 3.3V supply of the LCD. I have to set it to 0, to switch it on.

Bit 24 Reset. If the ATLAS is in reset conditon (e.g. low voltage), the LCD must be disabled to prevent damage of the panel. Set it to 1. If the display diappeaser, I was wrong.

I use the value 0x99000000 for an LVDS transmitter.

Best Regards

fliplop

[ This message was edited by: flipflop on 18-12-2003 13:28 ]

[ This message was edited by: flipflop on 18-12-2003 13:30 ]