Full support for Ginger Console
[linux-ginger.git] / arch / arm / mach-aaec2000 / aaed2000.c
blob81a3ecc0d104d0eddc0eb74a7609c42b082aff75
1 /*
2 * linux/arch/arm/mach-aaec2000/aaed2000.c
4 * Support for the Agilent AAED-2000 Development Platform.
6 * Copyright (c) 2005 Nicolas Bellido Y Ortega
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation.
13 #include <linux/module.h>
14 #include <linux/kernel.h>
15 #include <linux/init.h>
16 #include <linux/device.h>
17 #include <linux/major.h>
18 #include <linux/interrupt.h>
20 #include <asm/setup.h>
21 #include <asm/memory.h>
22 #include <asm/mach-types.h>
23 #include <mach/hardware.h>
24 #include <asm/irq.h>
26 #include <asm/mach/arch.h>
27 #include <asm/mach/map.h>
28 #include <asm/mach/irq.h>
30 #include <mach/aaed2000.h>
32 #include "core.h"
34 static void aaed2000_clcd_disable(struct clcd_fb *fb)
36 AAED_EXT_GPIO &= ~AAED_EGPIO_LCD_PWR_EN;
39 static void aaed2000_clcd_enable(struct clcd_fb *fb)
41 AAED_EXT_GPIO |= AAED_EGPIO_LCD_PWR_EN;
44 struct aaec2000_clcd_info clcd_info = {
45 .enable = aaed2000_clcd_enable,
46 .disable = aaed2000_clcd_disable,
47 .panel = {
48 .mode = {
49 .name = "Sharp",
50 .refresh = 60,
51 .xres = 640,
52 .yres = 480,
53 .pixclock = 39721,
54 .left_margin = 20,
55 .right_margin = 44,
56 .upper_margin = 21,
57 .lower_margin = 34,
58 .hsync_len = 96,
59 .vsync_len = 2,
60 .sync = 0,
61 .vmode = FB_VMODE_NONINTERLACED,
63 .width = -1,
64 .height = -1,
65 .tim2 = TIM2_IVS | TIM2_IHS,
66 .cntl = CNTL_LCDTFT,
67 .bpp = 16,
71 static void __init aaed2000_init_irq(void)
73 aaec2000_init_irq();
76 static void __init aaed2000_init(void)
78 aaec2000_set_clcd_plat_data(&clcd_info);
81 static struct map_desc aaed2000_io_desc[] __initdata = {
83 .virtual = EXT_GPIO_VBASE,
84 .pfn = __phys_to_pfn(EXT_GPIO_PBASE),
85 .length = EXT_GPIO_LENGTH,
86 .type = MT_DEVICE
90 static void __init aaed2000_map_io(void)
92 aaec2000_map_io();
93 iotable_init(aaed2000_io_desc, ARRAY_SIZE(aaed2000_io_desc));
96 MACHINE_START(AAED2000, "Agilent AAED-2000 Development Platform")
97 /* Maintainer: Nicolas Bellido Y Ortega */
98 .phys_io = PIO_BASE,
99 .io_pg_offst = ((VIO_BASE) >> 18) & 0xfffc,
100 .map_io = aaed2000_map_io,
101 .init_irq = aaed2000_init_irq,
102 .timer = &aaec2000_timer,
103 .init_machine = aaed2000_init,
104 MACHINE_END