It's not part of the original question, but I'll throw in some more info
(becasue info is good).
Rotation can be done 2 ways, either through hardware or software. The most
efficient way to "rotate" permanently is to use an LCD that supports the
orientation you want (there are lanscape and portrait LCDs). The other
efficient way is to physically route the display signals rotated through the
LCD cable.
The third would be to use a micro or some piece of hardware to condition the
signal after it leaves the display driver and before it reached the panel.
A fourth is to use a video accelerator/framebuffer that supports rotation.
All of these are good *if* you can affect hardware design changes.
The next step is through SW. If the device has an accelerator that supports
rotation, a call to the driver *may* be all that is needed. I say may
because even if the chip supports it, the driver still must implement the
feature.
This is a good point ot digress into display controllers. Many processors,
like the SA1110 and PXA255 have internal controllers. They can driver the
LCD themselves without any hardware, and this is typically done becasue it's
cost effective. The downside is that the processor must handle all video
updates plus run all of your apps, so performance can be a problem,
expecially at 640x480 and higher. Greater color depth exacerbates the
problem.
The OEM can add a separate accelerator to handle all of this, which gives
much better video performance and capabilities, but at a cost of $ and board
real-estate.
Yet another way to achieve rotation, which is not great, but the only option
if you have no hardware mechanism to support rotation, is a rotation driver.
The driver either replaces or works with the current display driver. It
takes the display data and does a matrix translation on it to rotate the
bits, then sends it off to the display frame buffer.
While this works, it's a hell of a lot of math, and it usually gives a
pretty bad perf hit. Using Intel's IPP helps if you're using an Intel chip,
but it still can't replace the perf from a separate part.
There you go. The class in Displays 101 is now over.
