Merge branch 'for-linus' of git://neil.brown.name/md
[sfrench/cifs-2.6.git] / arch / arm / mach-pxa / e400_lcd.c
1 /*
2  * e400_lcd.c
3  *
4  * (c) 2005 Ian Molton <spyro@f2s.com>
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2 as
8  * published by the Free Software Foundation.
9  *
10  */
11
12 #include <linux/kernel.h>
13 #include <linux/init.h>
14 #include <linux/module.h>
15
16 #include <asm/mach-types.h>
17 #include <asm/arch/pxa-regs.h>
18 #include <asm/arch/pxafb.h>
19
20 static struct pxafb_mode_info e400_pxafb_mode_info = {
21         .pixclock       = 140703,
22         .xres           = 240,
23         .yres           = 320,
24         .bpp            = 16,
25         .hsync_len      = 4,
26         .left_margin    = 28,
27         .right_margin   = 8,
28         .vsync_len      = 3,
29         .upper_margin   = 5,
30         .lower_margin   = 6,
31         .sync           = 0,
32 };
33
34 static struct pxafb_mach_info e400_pxafb_mach_info = {
35         .modes          = &e400_pxafb_mode_info,
36         .num_modes      = 1,
37         .lccr0          = LCCR0_Color | LCCR0_Sngl | LCCR0_Act,
38         .lccr3          = 0,
39         .pxafb_backlight_power  = NULL,
40 };
41
42 static int __init e400_lcd_init(void)
43 {
44         if (!machine_is_e400())
45                 return -ENODEV;
46
47         set_pxa_fb_info(&e400_pxafb_mach_info);
48         return 0;
49 }
50
51 module_init(e400_lcd_init);
52
53 MODULE_AUTHOR("Ian Molton <spyro@f2s.com>");
54 MODULE_DESCRIPTION("e400 lcd driver");
55 MODULE_LICENSE("GPLv2");
56