Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groec...
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / arch / arm / mach-aaec2000 / aaed2000.c
CommitLineData
038c5b60
BN
1/*
2 * linux/arch/arm/mach-aaec2000/aaed2000.c
3 *
4 * Support for the Agilent AAED-2000 Development Platform.
5 *
6 * Copyright (c) 2005 Nicolas Bellido Y Ortega
7 *
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.
11 *
12 */
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>
19
20#include <asm/setup.h>
21#include <asm/memory.h>
22#include <asm/mach-types.h>
a09e64fb 23#include <mach/hardware.h>
038c5b60
BN
24#include <asm/irq.h>
25
26#include <asm/mach/arch.h>
27#include <asm/mach/map.h>
28#include <asm/mach/irq.h>
29
a09e64fb 30#include <mach/aaed2000.h>
4028ef4c 31
038c5b60
BN
32#include "core.h"
33
50f4c001
BN
34static void aaed2000_clcd_disable(struct clcd_fb *fb)
35{
36 AAED_EXT_GPIO &= ~AAED_EGPIO_LCD_PWR_EN;
37}
38
39static void aaed2000_clcd_enable(struct clcd_fb *fb)
40{
41 AAED_EXT_GPIO |= AAED_EGPIO_LCD_PWR_EN;
42}
43
44struct 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
038c5b60
BN
71static void __init aaed2000_init_irq(void)
72{
73 aaec2000_init_irq();
74}
75
50f4c001
BN
76static void __init aaed2000_init(void)
77{
78 aaec2000_set_clcd_plat_data(&clcd_info);
79}
80
4028ef4c 81static struct map_desc aaed2000_io_desc[] __initdata = {
74fae122
BN
82 {
83 .virtual = EXT_GPIO_VBASE,
84 .pfn = __phys_to_pfn(EXT_GPIO_PBASE),
85 .length = EXT_GPIO_LENGTH,
86 .type = MT_DEVICE
87 },
4028ef4c
BN
88};
89
038c5b60
BN
90static void __init aaed2000_map_io(void)
91{
92 aaec2000_map_io();
4028ef4c 93 iotable_init(aaed2000_io_desc, ARRAY_SIZE(aaed2000_io_desc));
038c5b60
BN
94}
95
96MACHINE_START(AAED2000, "Agilent AAED-2000 Development Platform")
e9dea0c6 97 /* Maintainer: Nicolas Bellido Y Ortega */
e9dea0c6
RK
98 .map_io = aaed2000_map_io,
99 .init_irq = aaed2000_init_irq,
038c5b60 100 .timer = &aaec2000_timer,
50f4c001 101 .init_machine = aaed2000_init,
038c5b60 102MACHINE_END