imxfb: calculate bpix value from bits_per_pixel

Signed-off-by: Sascha Hauer <[email protected]>
This commit is contained in:
Sascha Hauer 2009-03-18 11:29:31 +01:00
commit f497d0153a
2 changed files with 20 additions and 2 deletions

View file

@ -33,6 +33,7 @@
#include <linux/math64.h>
#include <mach/imxfb.h>
#include <mach/hardware.h>
/*
* Complain if VAR is out of range.
@ -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);