aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Stein <alexander.stein@systec-electronic.com>2011-10-05 03:59:57 -0400
committerFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>2011-11-11 11:50:45 -0500
commit5d910426a6e80194a50e33351c91abcad266c809 (patch)
tree68931da14bd5b3161ff749fa96b1ad54b9372b2d
parent5a6b5e02d673486c96003d4a6e3e2510f4c59f92 (diff)
atmel_lcdfb: Adjust HFP calculation so it matches the manual.
In the AT91SAM9263 Manual the HFP part in LCDTIM2 is described as follows: * HFP: Horizontal Front Porch Number of idle LCDDOTCK cycles at the end of the line. Idle period is (HFP+2) LCDDOTCK cycles. It is only a minor issue. I also changed all boards using atmel_lcdfb I found to respect the new calculation. Signed-off-by: Alexander Stein <alexander.stein@systec-electronic.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
-rw-r--r--arch/arm/mach-at91/board-cap9adk.c2
-rw-r--r--arch/arm/mach-at91/board-neocore926.c2
-rw-r--r--arch/arm/mach-at91/board-sam9261ek.c4
-rw-r--r--arch/arm/mach-at91/board-sam9263ek.c2
-rw-r--r--arch/arm/mach-at91/board-sam9m10g45ek.c2
-rw-r--r--arch/arm/mach-at91/board-sam9rlek.c2
-rw-r--r--drivers/video/atmel_lcdfb.c4
7 files changed, 9 insertions, 9 deletions
diff --git a/arch/arm/mach-at91/board-cap9adk.c b/arch/arm/mach-at91/board-cap9adk.c
index 679b0b743e92..ae962bf7ca0d 100644
--- a/arch/arm/mach-at91/board-cap9adk.c
+++ b/arch/arm/mach-at91/board-cap9adk.c
@@ -304,7 +304,7 @@ static struct fb_videomode at91_tft_vga_modes[] = {
304 .xres = 240, .yres = 320, 304 .xres = 240, .yres = 320,
305 .pixclock = KHZ2PICOS(4965), 305 .pixclock = KHZ2PICOS(4965),
306 306
307 .left_margin = 1, .right_margin = 33, 307 .left_margin = 1, .right_margin = 34,
308 .upper_margin = 1, .lower_margin = 0, 308 .upper_margin = 1, .lower_margin = 0,
309 .hsync_len = 5, .vsync_len = 1, 309 .hsync_len = 5, .vsync_len = 1,
310 310
diff --git a/arch/arm/mach-at91/board-neocore926.c b/arch/arm/mach-at91/board-neocore926.c
index 9bc6ab32e0ac..583878ed9a6d 100644
--- a/arch/arm/mach-at91/board-neocore926.c
+++ b/arch/arm/mach-at91/board-neocore926.c
@@ -235,7 +235,7 @@ static struct fb_videomode at91_tft_vga_modes[] = {
235 .xres = 240, .yres = 320, 235 .xres = 240, .yres = 320,
236 .pixclock = KHZ2PICOS(5000), 236 .pixclock = KHZ2PICOS(5000),
237 237
238 .left_margin = 1, .right_margin = 33, 238 .left_margin = 1, .right_margin = 34,
239 .upper_margin = 1, .lower_margin = 0, 239 .upper_margin = 1, .lower_margin = 0,
240 .hsync_len = 5, .vsync_len = 1, 240 .hsync_len = 5, .vsync_len = 1,
241 241
diff --git a/arch/arm/mach-at91/board-sam9261ek.c b/arch/arm/mach-at91/board-sam9261ek.c
index 5096a0ec50c1..8dda83bd2791 100644
--- a/arch/arm/mach-at91/board-sam9261ek.c
+++ b/arch/arm/mach-at91/board-sam9261ek.c
@@ -370,7 +370,7 @@ static struct fb_videomode at91_stn_modes[] = {
370 .xres = 320, .yres = 240, 370 .xres = 320, .yres = 240,
371 .pixclock = KHZ2PICOS(1440), 371 .pixclock = KHZ2PICOS(1440),
372 372
373 .left_margin = 1, .right_margin = 1, 373 .left_margin = 1, .right_margin = 2,
374 .upper_margin = 0, .lower_margin = 0, 374 .upper_margin = 0, .lower_margin = 0,
375 .hsync_len = 1, .vsync_len = 1, 375 .hsync_len = 1, .vsync_len = 1,
376 376
@@ -431,7 +431,7 @@ static struct fb_videomode at91_tft_vga_modes[] = {
431 .xres = 240, .yres = 320, 431 .xres = 240, .yres = 320,
432 .pixclock = KHZ2PICOS(4965), 432 .pixclock = KHZ2PICOS(4965),
433 433
434 .left_margin = 1, .right_margin = 33, 434 .left_margin = 1, .right_margin = 34,
435 .upper_margin = 1, .lower_margin = 0, 435 .upper_margin = 1, .lower_margin = 0,
436 .hsync_len = 5, .vsync_len = 1, 436 .hsync_len = 5, .vsync_len = 1,
437 437
diff --git a/arch/arm/mach-at91/board-sam9263ek.c b/arch/arm/mach-at91/board-sam9263ek.c
index ea8f185d3b9d..e26007004402 100644
--- a/arch/arm/mach-at91/board-sam9263ek.c
+++ b/arch/arm/mach-at91/board-sam9263ek.c
@@ -258,7 +258,7 @@ static struct fb_videomode at91_tft_vga_modes[] = {
258 .xres = 240, .yres = 320, 258 .xres = 240, .yres = 320,
259 .pixclock = KHZ2PICOS(4965), 259 .pixclock = KHZ2PICOS(4965),
260 260
261 .left_margin = 1, .right_margin = 33, 261 .left_margin = 1, .right_margin = 34,
262 .upper_margin = 1, .lower_margin = 0, 262 .upper_margin = 1, .lower_margin = 0,
263 .hsync_len = 5, .vsync_len = 1, 263 .hsync_len = 5, .vsync_len = 1,
264 264
diff --git a/arch/arm/mach-at91/board-sam9m10g45ek.c b/arch/arm/mach-at91/board-sam9m10g45ek.c
index ad234ccbf57e..5e9a5ca54d4c 100644
--- a/arch/arm/mach-at91/board-sam9m10g45ek.c
+++ b/arch/arm/mach-at91/board-sam9m10g45ek.c
@@ -197,7 +197,7 @@ static struct fb_videomode at91_tft_vga_modes[] = {
197 .xres = 480, .yres = 272, 197 .xres = 480, .yres = 272,
198 .pixclock = KHZ2PICOS(9000), 198 .pixclock = KHZ2PICOS(9000),
199 199
200 .left_margin = 1, .right_margin = 1, 200 .left_margin = 1, .right_margin = 2,
201 .upper_margin = 40, .lower_margin = 1, 201 .upper_margin = 40, .lower_margin = 1,
202 .hsync_len = 45, .vsync_len = 1, 202 .hsync_len = 45, .vsync_len = 1,
203 203
diff --git a/arch/arm/mach-at91/board-sam9rlek.c b/arch/arm/mach-at91/board-sam9rlek.c
index 4f14b54b93a8..ad9e5c93d876 100644
--- a/arch/arm/mach-at91/board-sam9rlek.c
+++ b/arch/arm/mach-at91/board-sam9rlek.c
@@ -154,7 +154,7 @@ static struct fb_videomode at91_tft_vga_modes[] = {
154 .xres = 240, .yres = 320, 154 .xres = 240, .yres = 320,
155 .pixclock = KHZ2PICOS(4965), 155 .pixclock = KHZ2PICOS(4965),
156 156
157 .left_margin = 1, .right_margin = 33, 157 .left_margin = 1, .right_margin = 34,
158 .upper_margin = 1, .lower_margin = 0, 158 .upper_margin = 1, .lower_margin = 0,
159 .hsync_len = 5, .vsync_len = 1, 159 .hsync_len = 5, .vsync_len = 1,
160 160
diff --git a/drivers/video/atmel_lcdfb.c b/drivers/video/atmel_lcdfb.c
index 244d55b7c0ae..7e66263b18c1 100644
--- a/drivers/video/atmel_lcdfb.c
+++ b/drivers/video/atmel_lcdfb.c
@@ -396,7 +396,7 @@ static int atmel_lcdfb_check_var(struct fb_var_screeninfo *var,
396 var->lower_margin = min_t(u32, var->lower_margin, 396 var->lower_margin = min_t(u32, var->lower_margin,
397 ATMEL_LCDC_VFP); 397 ATMEL_LCDC_VFP);
398 var->right_margin = min_t(u32, var->right_margin, 398 var->right_margin = min_t(u32, var->right_margin,
399 (ATMEL_LCDC_HFP >> ATMEL_LCDC_HFP_OFFSET) + 1); 399 (ATMEL_LCDC_HFP >> ATMEL_LCDC_HFP_OFFSET) + 2);
400 var->hsync_len = min_t(u32, var->hsync_len, 400 var->hsync_len = min_t(u32, var->hsync_len,
401 (ATMEL_LCDC_HPW >> ATMEL_LCDC_HPW_OFFSET) + 1); 401 (ATMEL_LCDC_HPW >> ATMEL_LCDC_HPW_OFFSET) + 1);
402 var->left_margin = min_t(u32, var->left_margin, 402 var->left_margin = min_t(u32, var->left_margin,
@@ -581,7 +581,7 @@ static int atmel_lcdfb_set_par(struct fb_info *info)
581 lcdc_writel(sinfo, ATMEL_LCDC_TIM1, value); 581 lcdc_writel(sinfo, ATMEL_LCDC_TIM1, value);
582 582
583 /* Horizontal timing */ 583 /* Horizontal timing */
584 value = (info->var.right_margin - 1) << ATMEL_LCDC_HFP_OFFSET; 584 value = (info->var.right_margin - 2) << ATMEL_LCDC_HFP_OFFSET;
585 value |= (info->var.hsync_len - 1) << ATMEL_LCDC_HPW_OFFSET; 585 value |= (info->var.hsync_len - 1) << ATMEL_LCDC_HPW_OFFSET;
586 value |= (info->var.left_margin - 1); 586 value |= (info->var.left_margin - 1);
587 dev_dbg(info->device, " * LCDTIM2 = %08lx\n", value); 587 dev_dbg(info->device, " * LCDTIM2 = %08lx\n", value);