aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKrzysztof Helt <krzysztof.h1@wp.pl>2007-10-16 04:28:57 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-16 12:43:16 -0400
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 = {
172 .width = 160, 172 .width = 160,
173 .height = 160, 173 .height = 160,
174 174
175/* commented out until stn patch is submitted 175 .type = S3C2410_LCDCON1_STN4,
176* .type = S3C2410_LCDCON1_STN4, 176
177*/
178 .xres = 160, 177 .xres = 160,
179 .yres = 160, 178 .yres = 160,
180 .bpp = 4, 179 .bpp = 4,
180 .left_margin = 1 << (4 + 3),
181 .right_margin = 8 << 3,
181 182
182 .regs = { 183 .regs = {
183 .lcdcon1 = 0x00008225, 184 .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 = {
469 469
470static struct s3c2410fb_display __initdata bast_lcd_info[] = { 470static struct s3c2410fb_display __initdata bast_lcd_info[] = {
471 { 471 {
472 .type = S3C2410_LCDCON1_TFT,
472 .width = 640, 473 .width = 640,
473 .height = 480, 474 .height = 480,
474 .xres = 320, 475 .xres = 320,
475 .yres = 240, 476 .yres = 240,
477 .left_margin = 40,
478 .right_margin = 20,
476 479
477 .bpp = 4, 480 .bpp = 4,
478 481
@@ -485,12 +488,15 @@ static struct s3c2410fb_display __initdata bast_lcd_info[] = {
485 } 488 }
486 }, 489 },
487 { 490 {
491 .type = S3C2410_LCDCON1_TFT,
488 .width = 640, 492 .width = 640,
489 .height = 480, 493 .height = 480,
490 494
491 .xres = 640, 495 .xres = 640,
492 .yres = 480, 496 .yres = 480,
493 .bpp = 4, 497 .bpp = 4,
498 .left_margin = 40,
499 .right_margin = 20,
494 500
495 .regs = { 501 .regs = {
496 .lcdcon1 = 0x00000176, 502 .lcdcon1 = 0x00000176,
@@ -501,12 +507,15 @@ static struct s3c2410fb_display __initdata bast_lcd_info[] = {
501 } 507 }
502 }, 508 },
503 { 509 {
510 .type = S3C2410_LCDCON1_TFT,
504 .width = 640, 511 .width = 640,
505 .height = 480, 512 .height = 480,
506 513
507 .xres = 800, 514 .xres = 800,
508 .yres = 600, 515 .yres = 600,
509 .bpp = 4, 516 .bpp = 4,
517 .left_margin = 40,
518 .right_margin = 20,
510 519
511 .regs = { 520 .regs = {
512 .lcdcon1 = 0x00000176, 521 .lcdcon1 = 0x00000176,
@@ -517,12 +526,15 @@ static struct s3c2410fb_display __initdata bast_lcd_info[] = {
517 } 526 }
518 }, 527 },
519 { 528 {
529 .type = S3C2410_LCDCON1_TFT,
520 .width = 640, 530 .width = 640,
521 .height = 480, 531 .height = 480,
522 532
523 .xres = 320, 533 .xres = 320,
524 .yres = 240, 534 .yres = 240,
525 .bpp = 8, 535 .bpp = 8,
536 .left_margin = 40,
537 .right_margin = 20,
526 538
527 .regs = { 539 .regs = {
528 .lcdcon1 = 0x00000176, 540 .lcdcon1 = 0x00000176,
@@ -533,12 +545,15 @@ static struct s3c2410fb_display __initdata bast_lcd_info[] = {
533 } 545 }
534 }, 546 },
535 { 547 {
548 .type = S3C2410_LCDCON1_TFT,
536 .width = 640, 549 .width = 640,
537 .height = 480, 550 .height = 480,
538 551
539 .xres = 640, 552 .xres = 640,
540 .yres = 480, 553 .yres = 480,
541 .bpp = 8, 554 .bpp = 8,
555 .left_margin = 40,
556 .right_margin = 20,
542 557
543 .regs = { 558 .regs = {
544 .lcdcon1 = 0x00000176, 559 .lcdcon1 = 0x00000176,
@@ -549,12 +564,15 @@ static struct s3c2410fb_display __initdata bast_lcd_info[] = {
549 } 564 }
550 }, 565 },
551 { 566 {
567 .type = S3C2410_LCDCON1_TFT,
552 .width = 640, 568 .width = 640,
553 .height = 480, 569 .height = 480,
554 570
555 .xres = 800, 571 .xres = 800,
556 .yres = 600, 572 .yres = 600,
557 .bpp = 8, 573 .bpp = 8,
574 .left_margin = 40,
575 .right_margin = 20,
558 576
559 .regs = { 577 .regs = {
560 .lcdcon1 = 0x00000176, 578 .lcdcon1 = 0x00000176,
@@ -565,12 +583,15 @@ static struct s3c2410fb_display __initdata bast_lcd_info[] = {
565 } 583 }
566 }, 584 },
567 { 585 {
586 .type = S3C2410_LCDCON1_TFT,
568 .width = 640, 587 .width = 640,
569 .height = 480, 588 .height = 480,
570 589
571 .xres = 320, 590 .xres = 320,
572 .yres = 240, 591 .yres = 240,
573 .bpp = 16, 592 .bpp = 16,
593 .left_margin = 40,
594 .right_margin = 20,
574 595
575 .regs = { 596 .regs = {
576 .lcdcon1 = 0x00000176, 597 .lcdcon1 = 0x00000176,
@@ -581,12 +602,15 @@ static struct s3c2410fb_display __initdata bast_lcd_info[] = {
581 } 602 }
582 }, 603 },
583 { 604 {
605 .type = S3C2410_LCDCON1_TFT,
584 .width = 640, 606 .width = 640,
585 .height = 480, 607 .height = 480,
586 608
587 .xres = 640, 609 .xres = 640,
588 .yres = 480, 610 .yres = 480,
589 .bpp = 16, 611 .bpp = 16,
612 .left_margin = 40,
613 .right_margin = 20,
590 614
591 .regs = { 615 .regs = {
592 .lcdcon1 = 0x00000176, 616 .lcdcon1 = 0x00000176,
@@ -597,12 +621,15 @@ static struct s3c2410fb_display __initdata bast_lcd_info[] = {
597 } 621 }
598 }, 622 },
599 { 623 {
624 .type = S3C2410_LCDCON1_TFT,
600 .width = 640, 625 .width = 640,
601 .height = 480, 626 .height = 480,
602 627
603 .xres = 800, 628 .xres = 800,
604 .yres = 600, 629 .yres = 600,
605 .bpp = 16, 630 .bpp = 16,
631 .left_margin = 40,
632 .right_margin = 20,
606 633
607 .regs = { 634 .regs = {
608 .lcdcon1 = 0x00000176, 635 .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 = {
156 S3C2410_LCDCON5_HWSWP, 156 S3C2410_LCDCON5_HWSWP,
157 }, 157 },
158 158
159 .type = S3C2410_LCDCON1_TFT,
159 .width = 240, 160 .width = 240,
160 .height = 320, 161 .height = 320,
161 .xres = 240, 162 .xres = 240,
162 .yres = 320, 163 .yres = 320,
163 .bpp = 16, 164 .bpp = 16,
165 .left_margin = 20,
166 .right_margin = 8,
164}; 167};
165 168
166static struct s3c2410fb_mach_info h1940_fb_info __initdata = { 169static 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 = {
123 S3C2410_LCDCON5_HWSWP, 123 S3C2410_LCDCON5_HWSWP,
124 }, 124 },
125 125
126 .type = S3C2410_LCDCON1_TFT,
126 .width = 640, 127 .width = 640,
127 .height = 480, 128 .height = 480,
128 129
129 .xres = 640, 130 .xres = 640,
130 .yres = 480, 131 .yres = 480,
131 .bpp = 16, 132 .bpp = 16,
133 .left_margin = 44,
134 .right_margin = 116,
132 }, 135 },
133 { 136 {
134 /* Configuration for 480x640 toppoly TD028TTEC1 */ 137 /* Configuration for 480x640 toppoly TD028TTEC1 */
@@ -157,11 +160,14 @@ static struct s3c2410fb_display qt2410_lcd_cfg[] __initdata = {
157 S3C2410_LCDCON5_HWSWP, 160 S3C2410_LCDCON5_HWSWP,
158 }, 161 },
159 162
163 .type = S3C2410_LCDCON1_TFT,
160 .width = 480, 164 .width = 480,
161 .height = 640, 165 .height = 640,
162 .xres = 480, 166 .xres = 480,
163 .yres = 640, 167 .yres = 640,
164 .bpp = 16, 168 .bpp = 16,
169 .left_margin = 8,
170 .right_margin = 24,
165 }, 171 },
166 { 172 {
167 /* Config for 240x320 LCD */ 173 /* Config for 240x320 LCD */
@@ -190,11 +196,14 @@ static struct s3c2410fb_display qt2410_lcd_cfg[] __initdata = {
190 S3C2410_LCDCON5_HWSWP, 196 S3C2410_LCDCON5_HWSWP,
191 }, 197 },
192 198
199 .type = S3C2410_LCDCON1_TFT,
193 .width = 240, 200 .width = 240,
194 .height = 320, 201 .height = 320,
195 .xres = 240, 202 .xres = 240,
196 .yres = 320, 203 .yres = 320,
197 .bpp = 16, 204 .bpp = 16,
205 .left_margin = 13,
206 .right_margin = 8,
198 }, 207 },
199}; 208};
200 209
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 = {
133 S3C2410_LCDCON5_HWSWP, 133 S3C2410_LCDCON5_HWSWP,
134 }, 134 },
135 135
136 .width = 240, 136 .type = S3C2410_LCDCON1_TFT,
137 .height = 320, 137 .width = 240,
138 138 .height = 320,
139 .xres = 240, 139
140 .yres = 320, 140 .xres = 240,
141 .bpp = 16, 141 .yres = 320,
142 .bpp = 16,
143 .left_margin = 36,
144 .right_margin = 36,
142}; 145};
143 146
144static struct s3c2410fb_mach_info rx3715_fb_info __initdata = { 147static 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 = {
137 .xres = 240, 137 .xres = 240,
138 .yres = 320, 138 .yres = 320,
139 .bpp = 16, 139 .bpp = 16,
140 .left_margin = 20,
141 .right_margin = 8,
140}; 142};
141 143
142static struct s3c2410fb_mach_info smdk2440_fb_info __initdata = { 144static 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 {
36 unsigned short yres; 36 unsigned short yres;
37 unsigned short bpp; 37 unsigned short bpp;
38 38
39 unsigned short left_margin; /* value in pixels (TFT) or HCLKs (STN) */
40 unsigned short right_margin; /* value in pixels (TFT) or HCLKs (STN) */
41 unsigned short hsync_len; /* value in pixels (TFT) or HCLKs (STN) */
42 unsigned short upper_margin; /* value in lines (TFT) or 0 (STN) */
43 unsigned short lower_margin; /* value in lines (TFT) or 0 (STN) */
44 unsigned short vsync_len; /* value in lines (TFT) or 0 (STN) */
45
39 /* lcd configuration registers */ 46 /* lcd configuration registers */
40 struct s3c2410fb_hw regs; 47 struct s3c2410fb_hw regs;
41}; 48};