Commit 13055192 authored by Hartley Sweeten's avatar Hartley Sweeten Committed by Russell King

ARM: 6643/1: ep93xx: add framebuffer support to edb93xx boards

The ep9307, ep9312, and ep9315 variants of the ep93xx processor include
the raster engine needed for framebuffer support.

This allows the EDB93xx boards with those processors to use the
framebuffer driver.

Tested on an EDB9307A with the following kernel parameters:
	video=640x480-16@60
	video=1024x768-16@60
Signed-off-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Acked-by: default avatarRyan Mallon <ryan@bluewatersys.com>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 5d046af0
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
#include <linux/i2c-gpio.h> #include <linux/i2c-gpio.h>
#include <mach/hardware.h> #include <mach/hardware.h>
#include <mach/fb.h>
#include <asm/mach-types.h> #include <asm/mach-types.h>
#include <asm/mach/arch.h> #include <asm/mach/arch.h>
...@@ -111,6 +112,37 @@ static void __init edb93xx_register_pwm(void) ...@@ -111,6 +112,37 @@ static void __init edb93xx_register_pwm(void)
} }
/*************************************************************************
* EDB93xx framebuffer
*************************************************************************/
static struct ep93xxfb_mach_info __initdata edb93xxfb_info = {
.num_modes = EP93XXFB_USE_MODEDB,
.bpp = 16,
.flags = 0,
};
static int __init edb93xx_has_fb(void)
{
/* These platforms have an ep93xx with video capability */
return machine_is_edb9307() || machine_is_edb9307a() ||
machine_is_edb9312() || machine_is_edb9315() ||
machine_is_edb9315a();
}
static void __init edb93xx_register_fb(void)
{
if (!edb93xx_has_fb())
return;
if (machine_is_edb9307a() || machine_is_edb9315a())
edb93xxfb_info.flags |= EP93XXFB_USE_SDCSN0;
else
edb93xxfb_info.flags |= EP93XXFB_USE_SDCSN3;
ep93xx_register_fb(&edb93xxfb_info);
}
static void __init edb93xx_init_machine(void) static void __init edb93xx_init_machine(void)
{ {
ep93xx_init_devices(); ep93xx_init_devices();
...@@ -118,6 +150,7 @@ static void __init edb93xx_init_machine(void) ...@@ -118,6 +150,7 @@ static void __init edb93xx_init_machine(void)
ep93xx_register_eth(&edb93xx_eth_data, 1); ep93xx_register_eth(&edb93xx_eth_data, 1);
edb93xx_register_i2c(); edb93xx_register_i2c();
edb93xx_register_pwm(); edb93xx_register_pwm();
edb93xx_register_fb();
} }
......
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