Merge nommu branch
[pandora-kernel.git] / arch / arm / mach-aaec2000 / aaed2000.c
index 7b0a1c7..83f57da 100644 (file)
 
 #include "core.h"
 
+static void aaed2000_clcd_disable(struct clcd_fb *fb)
+{
+       AAED_EXT_GPIO &= ~AAED_EGPIO_LCD_PWR_EN;
+}
+
+static void aaed2000_clcd_enable(struct clcd_fb *fb)
+{
+       AAED_EXT_GPIO |= AAED_EGPIO_LCD_PWR_EN;
+}
+
+struct aaec2000_clcd_info clcd_info = {
+       .enable = aaed2000_clcd_enable,
+       .disable = aaed2000_clcd_disable,
+       .panel = {
+               .mode   = {
+                       .name           = "Sharp",
+                       .refresh        = 60,
+                       .xres           = 640,
+                       .yres           = 480,
+                       .pixclock       = 39721,
+                       .left_margin    = 20,
+                       .right_margin   = 44,
+                       .upper_margin   = 21,
+                       .lower_margin   = 34,
+                       .hsync_len      = 96,
+                       .vsync_len      = 2,
+                       .sync           = 0,
+                       .vmode  = FB_VMODE_NONINTERLACED,
+               },
+               .width  = -1,
+               .height = -1,
+               .tim2   = TIM2_IVS | TIM2_IHS,
+               .cntl   = CNTL_LCDTFT,
+               .bpp    = 16,
+       },
+};
+
 static void __init aaed2000_init_irq(void)
 {
        aaec2000_init_irq();
 }
 
+static void __init aaed2000_init(void)
+{
+       aaec2000_set_clcd_plat_data(&clcd_info);
+}
+
 static struct map_desc aaed2000_io_desc[] __initdata = {
-  { EXT_GPIO_VBASE, EXT_GPIO_PBASE, EXT_GPIO_LENGTH, MT_DEVICE }, /* Ext GPIO */
+       {
+               .virtual        = EXT_GPIO_VBASE,
+               .pfn            = __phys_to_pfn(EXT_GPIO_PBASE),
+               .length         = EXT_GPIO_LENGTH,
+               .type           = MT_DEVICE
+       },
 };
 
 static void __init aaed2000_map_io(void)
@@ -48,10 +95,10 @@ static void __init aaed2000_map_io(void)
 
 MACHINE_START(AAED2000, "Agilent AAED-2000 Development Platform")
        /* Maintainer: Nicolas Bellido Y Ortega */
-       .phys_ram       = 0xf0000000,
        .phys_io        = PIO_BASE,
        .io_pg_offst    = ((VIO_BASE) >> 18) & 0xfffc,
        .map_io         = aaed2000_map_io,
        .init_irq       = aaed2000_init_irq,
        .timer          = &aaec2000_timer,
+       .init_machine   = aaed2000_init,
 MACHINE_END