summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKrzysztof Helt <krzysztof.h1@wp.pl>2007-10-16 01:28:57 -0700
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-16 09:43:16 -0700
commit1f4115376c488d3bb3490259ae5b2c3b035760a5 (patch)
tree26d93492e72aed892d1d752ce5082508fd2bd703
parent09fe75f6f934597f765748342ca6fb378ee7ecdb (diff)
s3c2410fb: add margin fields to s3c2410fb_display
This patch adds margins fields to the s3c2410fb_display structure. It also sets display type and horizontal margins in all platform files that use the s3c2410fb 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>
-rw-r--r--arch/arm/mach-s3c2410/mach-amlm5900.c7
-rw-r--r--arch/arm/mach-s3c2410/mach-bast.c27
-rw-r--r--arch/arm/mach-s3c2410/mach-h1940.c3
-rw-r--r--arch/arm/mach-s3c2410/mach-qt2410.c9
-rw-r--r--arch/arm/mach-s3c2440/mach-rx3715.c15
-rw-r--r--arch/arm/mach-s3c2440/mach-smdk2440.c2
-rw-r--r--include/asm-arm/arch-s3c2410/fb.h7
7 files changed, 61 insertions, 9 deletions
diff --git a/arch/arm/mach-s3c2410/mach-amlm5900.c b/arch/arm/mach-s3c2410/mach-amlm5900.c
index 19469340af04..e96b413a114d 100644
--- a/arch/arm/mach-s3c2410/mach-amlm5900.c
+++ b/arch/arm/mach-s3c2410/mach-amlm5900.c
@@ -172,12 +172,13 @@ static struct s3c2410fb_display __initdata amlm5900_lcd_info = {
.width = 160,
.height = 160,
-/* commented out until stn patch is submitted
-* .type = S3C2410_LCDCON1_STN4,
-*/
+ .type = S3C2410_LCDCON1_STN4,
+
.xres = 160,
.yres = 160,
.bpp = 4,
+ .left_margin = 1 << (4 + 3),
+ .right_margin = 8 << 3,
.regs = {
.lcdcon1 = 0x00008225,
diff --git a/arch/arm/mach-s3c2410/mach-bast.c b/arch/arm/mach-s3c2410/mach-bast.c
index be50201809a1..1b4f9f922c8a 100644
--- a/arch/arm/mach-s3c2410/mach-bast.c
+++ b/arch/arm/mach-s3c2410/mach-bast.c
@@ -469,10 +469,13 @@ static struct platform_device bast_device_axpp = {
static struct s3c2410fb_display __initdata bast_lcd_info[] = {
{
+ .type = S3C2410_LCDCON1_TFT,
.width = 640,
.height = 480,
.xres = 320,
.yres = 240,
+ .left_margin = 40,
+ .right_margin = 20,
.bpp = 4,
@@ -485,12 +488,15 @@ static struct s3c2410fb_display __initdata bast_lcd_info[] = {
}
},
{
+ .type = S3C2410_LCDCON1_TFT,
.width = 640,
.height = 480,
.xres = 640,
.yres = 480,
.bpp = 4,
+ .left_margin = 40,
+ .right_margin = 20,
.regs = {
.lcdcon1 = 0x00000176,
@@ -501,12 +507,15 @@ static struct s3c2410fb_display __initdata bast_lcd_info[] = {
}
},
{
+ .type = S3C2410_LCDCON1_TFT,
.width = 640,
.height = 480,
.xres = 800,
.yres = 600,
.bpp = 4,
+ .left_margin = 40,
+ .right_margin = 20,
.regs = {
.lcdcon1 = 0x00000176,
@@ -517,12 +526,15 @@ static struct s3c2410fb_display __initdata bast_lcd_info[] = {
}
},
{
+ .type = S3C2410_LCDCON1_TFT,
.width = 640,
.height = 480,
.xres = 320,
.yres = 240,
.bpp = 8,
+ .left_margin = 40,
+ .right_margin = 20,
.regs = {
.lcdcon1 = 0x00000176,
@@ -533,12 +545,15 @@ static struct s3c2410fb_display __initdata bast_lcd_info[] = {
}
},
{
+ .type = S3C2410_LCDCON1_TFT,
.width = 640,
.height = 480,
.xres = 640,
.yres = 480,
.bpp = 8,
+ .left_margin = 40,
+ .right_margin = 20,
.regs = {
.lcdcon1 = 0x00000176,
@@ -549,12 +564,15 @@ static struct s3c2410fb_display __initdata bast_lcd_info[] = {
}
},
{
+ .type = S3C2410_LCDCON1_TFT,
.width = 640,
.height = 480,
.xres = 800,
.yres = 600,
.bpp = 8,
+ .left_margin = 40,
+ .right_margin = 20,
.regs = {
.lcdcon1 = 0x00000176,
@@ -565,12 +583,15 @@ static struct s3c2410fb_display __initdata bast_lcd_info[] = {
}
},
{
+ .type = S3C2410_LCDCON1_TFT,
.width = 640,
.height = 480,
.xres = 320,
.yres = 240,
.bpp = 16,
+ .left_margin = 40,
+ .right_margin = 20,
.regs = {
.lcdcon1 = 0x00000176,
@@ -581,12 +602,15 @@ static struct s3c2410fb_display __initdata bast_lcd_info[] = {
}
},
{
+ .type = S3C2410_LCDCON1_TFT,
.width = 640,
.height = 480,
.xres = 640,
.yres = 480,
.bpp = 16,
+ .left_margin = 40,
+ .right_margin = 20,
.regs = {
.lcdcon1 = 0x00000176,
@@ -597,12 +621,15 @@ static struct s3c2410fb_display __initdata bast_lcd_info[] = {
}
},
{
+ .type = S3C2410_LCDCON1_TFT,
.width = 640,
.height = 480,
.xres = 800,
.yres = 600,
.bpp = 16,
+ .left_margin = 40,
+ .right_margin = 20,
.regs = {
.lcdcon1 = 0x00000176,
diff --git a/arch/arm/mach-s3c2410/mach-h1940.c b/arch/arm/mach-s3c2410/mach-h1940.c
index ab04b2961d6c..372caa289f2b 100644
--- a/arch/arm/mach-s3c2410/mach-h1940.c
+++ b/arch/arm/mach-s3c2410/mach-h1940.c
@@ -156,11 +156,14 @@ static struct s3c2410fb_display h1940_lcd __initdata = {
S3C2410_LCDCON5_HWSWP,
},
+ .type = S3C2410_LCDCON1_TFT,
.width = 240,
.height = 320,
.xres = 240,
.yres = 320,
.bpp = 16,
+ .left_margin = 20,
+ .right_margin = 8,
};
static struct s3c2410fb_mach_info h1940_fb_info __initdata = {
diff --git a/arch/arm/mach-s3c2410/mach-qt2410.c b/arch/arm/mach-s3c2410/mach-qt2410.c
index 03ea5d7b2a17..0c1ff0a41a99 100644
--- a/arch/arm/mach-s3c2410/mach-qt2410.c
+++ b/arch/arm/mach-s3c2410/mach-qt2410.c
@@ -123,12 +123,15 @@ static struct s3c2410fb_display qt2410_lcd_cfg[] __initdata = {
S3C2410_LCDCON5_HWSWP,
},
+ .type = S3C2410_LCDCON1_TFT,
.width = 640,
.height = 480,
.xres = 640,
.yres = 480,
.bpp = 16,
+ .left_margin = 44,
+ .right_margin = 116,
},
{
/* Configuration for 480x640 toppoly TD028TTEC1 */
@@ -157,11 +160,14 @@ static struct s3c2410fb_display qt2410_lcd_cfg[] __initdata = {
S3C2410_LCDCON5_HWSWP,
},
+ .type = S3C2410_LCDCON1_TFT,
.width = 480,
.height = 640,
.xres = 480,
.yres = 640,
.bpp = 16,
+ .left_margin = 8,
+ .right_margin = 24,
},
{
/* Config for 240x320 LCD */
@@ -190,11 +196,14 @@ static struct s3c2410fb_display qt2410_lcd_cfg[] __initdata = {
S3C2410_LCDCON5_HWSWP,
},
+ .type = S3C2410_LCDCON1_TFT,
.width = 240,
.height = 320,
.xres = 240,
.yres = 320,
.bpp = 16,
+ .left_margin = 13,
+ .right_margin = 8,
},
};
diff --git a/arch/arm/mach-s3c2440/mach-rx3715.c b/arch/arm/mach-s3c2440/mach-rx3715.c
index c83078878497..dab8e7b474d8 100644
--- a/arch/arm/mach-s3c2440/mach-rx3715.c
+++ b/arch/arm/mach-s3c2440/mach-rx3715.c
@@ -133,12 +133,15 @@ static struct s3c2410fb_display rx3715_lcdcfg __initdata = {
S3C2410_LCDCON5_HWSWP,
},
- .width = 240,
- .height = 320,
-
- .xres = 240,
- .yres = 320,
- .bpp = 16,
+ .type = S3C2410_LCDCON1_TFT,
+ .width = 240,
+ .height = 320,
+
+ .xres = 240,
+ .yres = 320,
+ .bpp = 16,
+ .left_margin = 36,
+ .right_margin = 36,
};
static struct s3c2410fb_mach_info rx3715_fb_info __initdata = {
diff --git a/arch/arm/mach-s3c2440/mach-smdk2440.c b/arch/arm/mach-s3c2440/mach-smdk2440.c
index f7dac7d54064..5930f1708027 100644
--- a/arch/arm/mach-s3c2440/mach-smdk2440.c
+++ b/arch/arm/mach-s3c2440/mach-smdk2440.c
@@ -137,6 +137,8 @@ static struct s3c2410fb_display smdk2440_lcd_cfg __initdata = {
.xres = 240,
.yres = 320,
.bpp = 16,
+ .left_margin = 20,
+ .right_margin = 8,
};
static struct s3c2410fb_mach_info smdk2440_fb_info __initdata = {
diff --git a/include/asm-arm/arch-s3c2410/fb.h b/include/asm-arm/arch-s3c2410/fb.h
index c0e18b2c2d4a..a76585ae651d 100644
--- a/include/asm-arm/arch-s3c2410/fb.h
+++ b/include/asm-arm/arch-s3c2410/fb.h
@@ -36,6 +36,13 @@ struct s3c2410fb_display {
unsigned short yres;
unsigned short bpp;
+ unsigned short left_margin; /* value in pixels (TFT) or HCLKs (STN) */
+ unsigned short right_margin; /* value in pixels (TFT) or HCLKs (STN) */
+ unsigned short hsync_len; /* value in pixels (TFT) or HCLKs (STN) */
+ unsigned short upper_margin; /* value in lines (TFT) or 0 (STN) */
+ unsigned short lower_margin; /* value in lines (TFT) or 0 (STN) */
+ unsigned short vsync_len; /* value in lines (TFT) or 0 (STN) */
+
/* lcd configuration registers */
struct s3c2410fb_hw regs;
};