aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-sa1100/collie.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-sa1100/collie.c')
-rw-r--r--arch/arm/mach-sa1100/collie.c46
1 files changed, 24 insertions, 22 deletions
diff --git a/arch/arm/mach-sa1100/collie.c b/arch/arm/mach-sa1100/collie.c
index 0e7359785159..d4339d639475 100644
--- a/arch/arm/mach-sa1100/collie.c
+++ b/arch/arm/mach-sa1100/collie.c
@@ -29,6 +29,8 @@
29#include <linux/gpio.h> 29#include <linux/gpio.h>
30#include <linux/pda_power.h> 30#include <linux/pda_power.h>
31 31
32#include <video/sa1100fb.h>
33
32#include <mach/hardware.h> 34#include <mach/hardware.h>
33#include <asm/mach-types.h> 35#include <asm/mach-types.h>
34#include <asm/irq.h> 36#include <asm/irq.h>
@@ -49,11 +51,7 @@
49#include "generic.h" 51#include "generic.h"
50 52
51static struct resource collie_scoop_resources[] = { 53static struct resource collie_scoop_resources[] = {
52 [0] = { 54 [0] = DEFINE_RES_MEM(0x40800000, SZ_4K),
53 .start = 0x40800000,
54 .end = 0x40800fff,
55 .flags = IORESOURCE_MEM,
56 },
57}; 55};
58 56
59static struct scoop_config collie_scoop_setup = { 57static struct scoop_config collie_scoop_setup = {
@@ -143,8 +141,6 @@ static struct pda_power_pdata collie_power_data = {
143static struct resource collie_power_resource[] = { 141static struct resource collie_power_resource[] = {
144 { 142 {
145 .name = "ac", 143 .name = "ac",
146 .start = gpio_to_irq(COLLIE_GPIO_AC_IN),
147 .end = gpio_to_irq(COLLIE_GPIO_AC_IN),
148 .flags = IORESOURCE_IRQ | 144 .flags = IORESOURCE_IRQ |
149 IORESOURCE_IRQ_HIGHEDGE | 145 IORESOURCE_IRQ_HIGHEDGE |
150 IORESOURCE_IRQ_LOWEDGE, 146 IORESOURCE_IRQ_LOWEDGE,
@@ -228,16 +224,8 @@ device_initcall(collie_uart_init);
228 224
229 225
230static struct resource locomo_resources[] = { 226static struct resource locomo_resources[] = {
231 [0] = { 227 [0] = DEFINE_RES_MEM(0x40000000, SZ_8K),
232 .start = 0x40000000, 228 [1] = DEFINE_RES_IRQ(IRQ_GPIO25),
233 .end = 0x40001fff,
234 .flags = IORESOURCE_MEM,
235 },
236 [1] = {
237 .start = IRQ_GPIO25,
238 .end = IRQ_GPIO25,
239 .flags = IORESOURCE_IRQ,
240 },
241}; 229};
242 230
243static struct locomo_platform_data locomo_info = { 231static struct locomo_platform_data locomo_info = {
@@ -310,11 +298,21 @@ static struct flash_platform_data collie_flash_data = {
310}; 298};
311 299
312static struct resource collie_flash_resources[] = { 300static struct resource collie_flash_resources[] = {
313 { 301 DEFINE_RES_MEM(SA1100_CS0_PHYS, SZ_32M),
314 .start = SA1100_CS0_PHYS, 302};
315 .end = SA1100_CS0_PHYS + SZ_32M - 1, 303
316 .flags = IORESOURCE_MEM, 304static struct sa1100fb_mach_info collie_lcd_info = {
317 } 305 .pixclock = 171521, .bpp = 16,
306 .xres = 320, .yres = 240,
307
308 .hsync_len = 5, .vsync_len = 1,
309 .left_margin = 11, .upper_margin = 2,
310 .right_margin = 30, .lower_margin = 0,
311
312 .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
313
314 .lccr0 = LCCR0_Color | LCCR0_Sngl | LCCR0_Act,
315 .lccr3 = LCCR3_OutEnH | LCCR3_PixRsEdg | LCCR3_ACBsDiv(2),
318}; 316};
319 317
320static void __init collie_init(void) 318static void __init collie_init(void)
@@ -346,6 +344,9 @@ static void __init collie_init(void)
346 344
347 GPSR |= _COLLIE_GPIO_UCB1x00_RESET; 345 GPSR |= _COLLIE_GPIO_UCB1x00_RESET;
348 346
347 collie_power_resource[0].start = gpio_to_irq(COLLIE_GPIO_AC_IN);
348 collie_power_resource[0].end = gpio_to_irq(COLLIE_GPIO_AC_IN);
349
349 sa11x0_ppc_configure_mcp(); 350 sa11x0_ppc_configure_mcp();
350 351
351 352
@@ -356,6 +357,7 @@ static void __init collie_init(void)
356 printk(KERN_WARNING "collie: Unable to register LoCoMo device\n"); 357 printk(KERN_WARNING "collie: Unable to register LoCoMo device\n");
357 } 358 }
358 359
360 sa11x0_register_lcd(&collie_lcd_info);
359 sa11x0_register_mtd(&collie_flash_data, collie_flash_resources, 361 sa11x0_register_mtd(&collie_flash_data, collie_flash_resources,
360 ARRAY_SIZE(collie_flash_resources)); 362 ARRAY_SIZE(collie_flash_resources));
361 sa11x0_register_mcp(&collie_mcp_data); 363 sa11x0_register_mcp(&collie_mcp_data);