#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 */
 };
        .map_io         = aaed2000_map_io,
        .init_irq       = aaed2000_init_irq,
        .timer          = &aaec2000_timer,
+       .init_machine   = aaed2000_init,
 MACHINE_END