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 |
