diff options
author | Alexander Stein <alexander.stein@systec-electronic.com> | 2011-10-05 03:59:57 -0400 |
---|---|---|
committer | Florian Tobias Schandinat <FlorianSchandinat@gmx.de> | 2011-11-11 11:50:45 -0500 |
commit | 5d910426a6e80194a50e33351c91abcad266c809 (patch) | |
tree | 68931da14bd5b3161ff749fa96b1ad54b9372b2d | |
parent | 5a6b5e02d673486c96003d4a6e3e2510f4c59f92 (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.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-at91/board-neocore926.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-at91/board-sam9261ek.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-at91/board-sam9263ek.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-at91/board-sam9m10g45ek.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-at91/board-sam9rlek.c | 2 | ||||
-rw-r--r-- | drivers/video/atmel_lcdfb.c | 4 |
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); |