README on the LCD Panels
========================

Configuration options for several LCD panels, available from Logic PD,
are included in the kernel source.  This README will help you
understand the configuration data and give you some guidance for
adding support for other panels if you wish.


lcd-panels.h
------------

There is no way, at present, to detect which panel is attached to the
system at runtime.  Thus the kernel configuration is static.  The file
arch/arm/mach-ld7a40x/lcd-panels.h (or similar) defines all of the
panel specific parameters.

It should be possible for this data to be shared among several device
families.  The current layout may be insufficiently general, but it is
amenable to improvement.


PIXEL_CLOCK
-----------

The panel data sheets will give a range of acceptable pixel clocks.
The fundamental LCDCLK input frequency is divided down by a PCD
constant in field '.tim2'.  It may happen that it is impossible to set
the pixel clock within this range.  A clock which is too slow will
tend to flicker.  For the highest quality image, set the clock as high
as possible.


MARGINS
-------

These values may be difficult to glean from the panel data sheet.  In
the case of the Sharp panels, the upper margin is explicitly called
out as a specific number of lines from the top of the frame.  The
other values may not matter as much as the panels tend to
automatically center the image.


Sync Sense
----------

The sense of the hsync and vsync pulses may be called out in the data
sheet.  On one panel, the sense of these pulses determine the height
of the visible region on the panel.  Most of the Sharp panels use
negative sense sync pulses set by the TIM2_IHS and TIM2_IVS bits in
'.tim2'.


Pel Layout
----------

The Sharp color TFT panels are all configured for 16 bit direct color
modes.  The amba-lcd driver sets the pel mode to 565 for 5 bits of
each red and blue and 6 bits of green.
