diff options
Diffstat (limited to 'arch/arm/mach-aaec2000/aaed2000.c')
-rw-r--r-- | arch/arm/mach-aaec2000/aaed2000.c | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/arch/arm/mach-aaec2000/aaed2000.c b/arch/arm/mach-aaec2000/aaed2000.c index c9d899886648..f5ef69702296 100644 --- a/arch/arm/mach-aaec2000/aaed2000.c +++ b/arch/arm/mach-aaec2000/aaed2000.c | |||
@@ -27,16 +27,65 @@ | |||
27 | #include <asm/mach/map.h> | 27 | #include <asm/mach/map.h> |
28 | #include <asm/mach/irq.h> | 28 | #include <asm/mach/irq.h> |
29 | 29 | ||
30 | #include <asm/arch/aaed2000.h> | ||
31 | |||
30 | #include "core.h" | 32 | #include "core.h" |
31 | 33 | ||
34 | static void aaed2000_clcd_disable(struct clcd_fb *fb) | ||
35 | { | ||
36 | AAED_EXT_GPIO &= ~AAED_EGPIO_LCD_PWR_EN; | ||
37 | } | ||
38 | |||
39 | static void aaed2000_clcd_enable(struct clcd_fb *fb) | ||
40 | { | ||
41 | AAED_EXT_GPIO |= AAED_EGPIO_LCD_PWR_EN; | ||
42 | } | ||
43 | |||
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, | ||
62 | }, | ||
63 | .width = -1, | ||
64 | .height = -1, | ||
65 | .tim2 = TIM2_IVS | TIM2_IHS, | ||
66 | .cntl = CNTL_LCDTFT, | ||
67 | .bpp = 16, | ||
68 | }, | ||
69 | }; | ||
70 | |||
32 | static void __init aaed2000_init_irq(void) | 71 | static void __init aaed2000_init_irq(void) |
33 | { | 72 | { |
34 | aaec2000_init_irq(); | 73 | aaec2000_init_irq(); |
35 | } | 74 | } |
36 | 75 | ||
76 | static void __init aaed2000_init(void) | ||
77 | { | ||
78 | aaec2000_set_clcd_plat_data(&clcd_info); | ||
79 | } | ||
80 | |||
81 | static struct map_desc aaed2000_io_desc[] __initdata = { | ||
82 | { EXT_GPIO_VBASE, EXT_GPIO_PBASE, EXT_GPIO_LENGTH, MT_DEVICE }, /* Ext GPIO */ | ||
83 | }; | ||
84 | |||
37 | static void __init aaed2000_map_io(void) | 85 | static void __init aaed2000_map_io(void) |
38 | { | 86 | { |
39 | aaec2000_map_io(); | 87 | aaec2000_map_io(); |
88 | iotable_init(aaed2000_io_desc, ARRAY_SIZE(aaed2000_io_desc)); | ||
40 | } | 89 | } |
41 | 90 | ||
42 | MACHINE_START(AAED2000, "Agilent AAED-2000 Development Platform") | 91 | MACHINE_START(AAED2000, "Agilent AAED-2000 Development Platform") |
@@ -47,4 +96,5 @@ MACHINE_START(AAED2000, "Agilent AAED-2000 Development Platform") | |||
47 | .map_io = aaed2000_map_io, | 96 | .map_io = aaed2000_map_io, |
48 | .init_irq = aaed2000_init_irq, | 97 | .init_irq = aaed2000_init_irq, |
49 | .timer = &aaec2000_timer, | 98 | .timer = &aaec2000_timer, |
99 | .init_machine = aaed2000_init, | ||
50 | MACHINE_END | 100 | MACHINE_END |