Commit 616b3bcd authored by Jamey Hicks's avatar Jamey Hicks Committed by Deepak Saxena

[ARM PATCH] 1224/1: add fb support for h3800, remove sa1100fb_blank_helper, remove broken bits

This adds support for the H3800 screen, and removes sa1100fb_blank_helper
which has been superseded by sa1100fb_backlight_power. 

It removes the setting of bits that should not be set in the info
structures.
parent 245ed550
...@@ -205,9 +205,6 @@ ...@@ -205,9 +205,6 @@
extern void (*sa1100fb_backlight_power)(int on); extern void (*sa1100fb_backlight_power)(int on);
extern void (*sa1100fb_lcd_power)(int on); extern void (*sa1100fb_lcd_power)(int on);
void (*sa1100fb_blank_helper)(int blank);
EXPORT_SYMBOL(sa1100fb_blank_helper);
/* /*
* IMHO this looks wrong. In 8BPP, length should be 8. * IMHO this looks wrong. In 8BPP, length should be 8.
*/ */
...@@ -262,7 +259,7 @@ static struct sa1100fb_mach_info pal_info __initdata = { ...@@ -262,7 +259,7 @@ static struct sa1100fb_mach_info pal_info __initdata = {
#endif #endif
#endif #endif
#ifdef CONFIG_SA1100_H3XXX #ifdef CONFIG_SA1100_H3800
static struct sa1100fb_mach_info h3800_info __initdata = { static struct sa1100fb_mach_info h3800_info __initdata = {
pixclock: 174757, bpp: 16, pixclock: 174757, bpp: 16,
xres: 320, yres: 240, xres: 320, yres: 240,
...@@ -274,9 +271,13 @@ static struct sa1100fb_mach_info h3800_info __initdata = { ...@@ -274,9 +271,13 @@ static struct sa1100fb_mach_info h3800_info __initdata = {
sync: 0, cmap_static: 1, sync: 0, cmap_static: 1,
lccr0: LCCR0_Color | LCCR0_Sngl | LCCR0_Act, lccr0: LCCR0_Color | LCCR0_Sngl | LCCR0_Act,
lccr3: LCCR3_ACBsCntOff | LCCR3_PixFlEdg | LCCR3_OutEnH, // lccr3: LCCR3_ACBsCntOff | LCCR3_PixFlEdg | LCCR3_OutEnH,
lccr3: LCCR3_ACBsDiv(2) |
LCCR3_ACBsCntOff,
}; };
#endif
#ifdef CONFIG_SA1100_H3600
static struct sa1100fb_mach_info h3600_info __initdata = { static struct sa1100fb_mach_info h3600_info __initdata = {
pixclock: 174757, bpp: 16, pixclock: 174757, bpp: 16,
xres: 320, yres: 240, xres: 320, yres: 240,
...@@ -288,7 +289,13 @@ static struct sa1100fb_mach_info h3600_info __initdata = { ...@@ -288,7 +289,13 @@ static struct sa1100fb_mach_info h3600_info __initdata = {
sync: 0, cmap_static: 1, sync: 0, cmap_static: 1,
lccr0: LCCR0_Color | LCCR0_Sngl | LCCR0_Act, lccr0: LCCR0_Color | LCCR0_Sngl | LCCR0_Act,
#if 0
lccr3: LCCR3_ACBsCntOff | LCCR3_OutEnH | LCCR3_PixFlEdg, lccr3: LCCR3_ACBsCntOff | LCCR3_OutEnH | LCCR3_PixFlEdg,
#else
lccr3: LCCR3_ACBsDiv(2) |
LCCR3_ACBsCntOff,
#endif
}; };
static struct sa1100fb_rgb h3600_rgb_16 = { static struct sa1100fb_rgb h3600_rgb_16 = {
...@@ -297,7 +304,9 @@ static struct sa1100fb_rgb h3600_rgb_16 = { ...@@ -297,7 +304,9 @@ static struct sa1100fb_rgb h3600_rgb_16 = {
blue: { offset: 1, length: 4, }, blue: { offset: 1, length: 4, },
transp: { offset: 0, length: 0, }, transp: { offset: 0, length: 0, },
}; };
#endif
#ifdef CONFIG_SA1100_H3100
static struct sa1100fb_mach_info h3100_info __initdata = { static struct sa1100fb_mach_info h3100_info __initdata = {
pixclock: 406977, bpp: 4, pixclock: 406977, bpp: 4,
xres: 320, yres: 240, xres: 320, yres: 240,
...@@ -680,14 +689,18 @@ sa1100fb_get_machine_info(struct sa1100fb_info *fbi) ...@@ -680,14 +689,18 @@ sa1100fb_get_machine_info(struct sa1100fb_info *fbi)
#endif #endif
} }
#endif #endif
#ifdef CONFIG_SA1100_H3XXX #ifdef CONFIG_SA1100_H3100
if (machine_is_h3100()) {
inf = &h3100_info;
}
#endif
#ifdef CONFIG_SA1100_H3600
if (machine_is_h3600()) { if (machine_is_h3600()) {
inf = &h3600_info; inf = &h3600_info;
fbi->rgb[RGB_16] = &h3600_rgb_16; fbi->rgb[RGB_16] = &h3600_rgb_16;
} }
if (machine_is_h3100()) { #endif
inf = &h3100_info; #ifdef CONFIG_SA1100_H3800
}
if (machine_is_h3800()) { if (machine_is_h3800()) {
inf = &h3800_info; inf = &h3800_info;
} }
...@@ -1310,13 +1323,9 @@ static int sa1100fb_blank(int blank, struct fb_info *info) ...@@ -1310,13 +1323,9 @@ static int sa1100fb_blank(int blank, struct fb_info *info)
for (i = 0; i < fbi->palette_size; i++) for (i = 0; i < fbi->palette_size; i++)
sa1100fb_setpalettereg(i, 0, 0, 0, 0, info); sa1100fb_setpalettereg(i, 0, 0, 0, 0, info);
sa1100fb_schedule_task(fbi, C_DISABLE); sa1100fb_schedule_task(fbi, C_DISABLE);
if (sa1100fb_blank_helper)
sa1100fb_blank_helper(blank);
break; break;
case VESA_NO_BLANKING: case VESA_NO_BLANKING:
if (sa1100fb_blank_helper)
sa1100fb_blank_helper(blank);
if (fbi->fb.disp->visual == FB_VISUAL_PSEUDOCOLOR || if (fbi->fb.disp->visual == FB_VISUAL_PSEUDOCOLOR ||
fbi->fb.disp->visual == FB_VISUAL_STATIC_PSEUDOCOLOR) fbi->fb.disp->visual == FB_VISUAL_STATIC_PSEUDOCOLOR)
fb_set_cmap(&fbi->fb.cmap, 1, info); fb_set_cmap(&fbi->fb.cmap, 1, info);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment