Skip to content

Commit

Permalink
imxfb: calculate bpix value from bits_per_pixel
Browse files Browse the repository at this point in the history
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
  • Loading branch information
Sascha Hauer committed Aug 7, 2009
1 parent 9b0e6db commit f497d01
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 2 deletions.
3 changes: 2 additions & 1 deletion arch/arm/plat-mxc/include/mach/imxfb.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@
#define PCR_BPIX_4 (2 << 25)
#define PCR_BPIX_8 (3 << 25)
#define PCR_BPIX_12 (4 << 25)
#define PCR_BPIX_16 (4 << 25)
#define PCR_BPIX_16 (5 << 25)
#define PCR_BPIX_18 (6 << 25)
#define PCR_PIXPOL (1 << 24)
#define PCR_FLMPOL (1 << 23)
#define PCR_LPPOL (1 << 22)
Expand Down
19 changes: 18 additions & 1 deletion drivers/video/imxfb.c
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
#include <linux/math64.h>

#include <mach/imxfb.h>
#include <mach/hardware.h>

/*
* Complain if VAR is out of range.
Expand Down Expand Up @@ -530,8 +531,24 @@ static int imxfb_activate_var(struct fb_var_screeninfo *var, struct fb_info *inf
lcd_clk / pcr);
}

switch (var->bits_per_pixel) {
case 32:
pcr |= PCR_BPIX_18;
break;
case 16:
default:
if (cpu_is_mx1())
pcr |= PCR_BPIX_12;
else
pcr |= PCR_BPIX_16;
break;
case 8:
pcr |= PCR_BPIX_8;
break;
}

/* add sync polarities */
pcr |= fbi->pcr & ~0x3F;
pcr |= fbi->pcr & ~(0x3f | (7 << 25));

writel(pcr, fbi->regs + LCDC_PCR);
writel(fbi->pwmr, fbi->regs + LCDC_PWMR);
Expand Down

0 comments on commit f497d01

Please sign in to comment.