s3c2410fb: multi-display support

This patch adds a new structure to describe and handle
more than one panel (display mode) for the s3c2410 framebuffer.
This structure is added after the pxafb driver.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Krzysztof Helt
2007-10-16 01:28:56 -07:00
committed by Linus Torvalds
parent 110c1fa754
commit 09fe75f6f9
9 changed files with 383 additions and 292 deletions
+17 -16
View File
@@ -14,12 +14,6 @@
#include <asm/arch/regs-lcd.h>
struct s3c2410fb_val {
unsigned int defval;
unsigned int min;
unsigned int max;
};
struct s3c2410fb_hw {
unsigned long lcdcon1;
unsigned long lcdcon2;
@@ -28,23 +22,30 @@ struct s3c2410fb_hw {
unsigned long lcdcon5;
};
struct s3c2410fb_mach_info {
unsigned char fixed_syncs; /* do not update sync/border */
/* LCD types */
int type;
/* LCD description */
struct s3c2410fb_display {
/* LCD type */
unsigned type;
/* Screen size */
int width;
int height;
unsigned short width;
unsigned short height;
/* Screen info */
struct s3c2410fb_val xres;
struct s3c2410fb_val yres;
struct s3c2410fb_val bpp;
unsigned short xres;
unsigned short yres;
unsigned short bpp;
/* lcd configuration registers */
struct s3c2410fb_hw regs;
};
struct s3c2410fb_mach_info {
unsigned char fixed_syncs; /* do not update sync/border */
struct s3c2410fb_display *displays; /* attached diplays info */
unsigned num_displays; /* number of defined displays */
unsigned default_display;
/* GPIOs */