From: H H. S. <har...@vi...> - 2009-05-26 16:29:58
|
On Sunday, May 24, 2009 10:34 PM, Ryan Mallon wrote: > This patch adds support for the ep93xx framebuffer. Patch is against > arm ep93xx branch. > > Can anybody with ep93xx hardware please test, specifically with regard > to the physical address bit 27 bug. My hardware has the bug, but I'm > not sure about other ep93xx chips. I have not seen the address bit 27 bug on my custom hardware with EP9307 Rev E0 silicon. > Signed-off-by: Ryan Mallon <ry...@bl...> > > --- > > diff --git a/arch/arm/mach-ep93xx/core.c b/arch/arm/mach-ep93xx/core.c > index c535e88..885786c 100644 > --- a/arch/arm/mach-ep93xx/core.c > +++ b/arch/arm/mach-ep93xx/core.c > @@ -53,6 +53,7 @@ > > #include <asm/hardware/vic.h> > > +#include <mach/fb.h> > > /************************************************************************* > * Static I/O mappings that are needed for all EP93xx platforms > @@ -546,6 +547,34 @@ void __init ep93xx_register_i2c(struct i2c_board_info *devices, int num) > platform_device_register(&ep93xx_i2c_device); > } > > +/************************************************************************* > + * EP93xx video peripheral handling > + *************************************************************************/ > +static struct ep93xxfb_mach_info ep93xxfb_data; > + > +static struct resource ep93xx_fb_resource[] = { > + { > + .start = EP93XX_RASTER_PHYS_BASE, > + .end = EP93XX_RASTER_PHYS_BASE + 0x800 - 1, > + .flags = IORESOURCE_MEM, > + }, > +}; > + > +static struct platform_device ep93xx_fb_device = { > + .name = "ep93xxfb", > + .id = 0, Since there can only be one framebuffer device how about using .id = -1? This will change the clk dev_id to "ep93xxfb". Also, maybe change the name to "ep93xx-fb", that's how the usb host is named. > + .dev.platform_data = &ep93xxfb_data, > + .dev.coherent_dma_mask = 0xf7ffffff, I think this is supposed to be .dev.coherent_dma_mask = DMA_BIT_MASK(32), Or is the missing bit due to the address bit 27 bug? > + .num_resources = ARRAY_SIZE(ep93xx_fb_resource), > + .resource = ep93xx_fb_resource, > +}; > + > +void __init ep93xx_register_fb(struct ep93xxfb_mach_info *data) > +{ > + ep93xxfb_data = *data; > + platform_device_register(&ep93xx_fb_device); > +} > + > extern void ep93xx_gpio_init(void); > > void __init ep93xx_init_devices(void) I will test the remainder of this patch later this week and comment then. Regards, Hartley |