1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
---
arch/arm/mach-mx3/mx31lite.c | 26 ++++++++++++++++++++++++++
drivers/video/mxc/mxcfb_modedb.c | 25 +++++++++++++++++++++++++
2 files changed, 51 insertions(+)
Index: linux-2.6.19.2/arch/arm/mach-mx3/mx31lite.c
===================================================================
--- linux-2.6.19.2.orig/arch/arm/mach-mx3/mx31lite.c 2007-10-03 19:37:43.000000000 +0200
+++ linux-2.6.19.2/arch/arm/mach-mx3/mx31lite.c 2007-10-03 19:43:09.000000000 +0200
@@ -280,6 +280,31 @@
}
#endif
+#if defined(CONFIG_FB_MXC_SYNC_PANEL) || defined(CONFIG_FB_MXC_SYNC_PANEL_MODULE)
+static const char fb_default_mode[] = "Sharpsix-VGA";
+
+/* mxc lcd driver */
+static struct platform_device mxc_fb_device = {
+ .name = "mxc_sdc_fb",
+ .id = 0,
+ .dev = {
+ .release = mxc_nop_release,
+ .platform_data = &fb_default_mode,
+ .coherent_dma_mask = 0xFFFFFFFF,
+ },
+};
+
+static void mxc_init_fb(void)
+{
+ (void)platform_device_register(&mxc_fb_device);
+}
+#else
+static inline void mxc_init_fb(void)
+{
+}
+#endif
+
+
/*!
* Board specific fixup function. It is called by \b setup_arch() in
* setup.c file very early on during kernel starts. It allows the user to
@@ -400,6 +425,7 @@
mxc_init_nor_mtd();
mxc_init_nand_mtd();
mxc_init_eth();
+ mxc_init_fb();
}
/*
Index: linux-2.6.19.2/drivers/video/mxc/mxcfb_modedb.c
===================================================================
--- linux-2.6.19.2.orig/drivers/video/mxc/mxcfb_modedb.c 2007-10-03 19:37:43.000000000 +0200
+++ linux-2.6.19.2/drivers/video/mxc/mxcfb_modedb.c 2007-10-03 19:43:02.000000000 +0200
@@ -55,6 +55,31 @@
"TV-VGA", 60, 640, 480, 40574, 35, 45, 9, 1, 46, 5,
0, FB_VMODE_NONINTERLACED, 0,
},
+ [5] = {
+ /* 640x480 @ 60 Hz, 6" */
+ "Sharpsix-VGA",
+ 60, 640, 480, // 60 Hz, 640x480
+ 35285, // 36.66 ns clock period
+ 128, 128, // left & right margin
+ 34, 10, // upper & lower margin
+ 2, 2, // hsync & vsync len
+ FB_SYNC_OE_ACT_HIGH,
+ FB_VMODE_NONINTERLACED,
+ 0,
+ },
+ [6] = {
+ /* 640x480 @ 60 Hz 10" */
+ "Sharpten-VGA",
+ 60, 640, 480, // 60 Hz, 640x480
+ 35285, // 35.285b ns clock period
+ 128, 128, // left & right margin
+ 34, 10, // upper & lower margin
+ 2, 2, // hsync & vsync len
+ FB_SYNC_OE_ACT_HIGH,
+ FB_VMODE_NONINTERLACED,
+ 0,
+ },
+
};
int mxcfb_modedb_sz = ARRAY_SIZE(mxcfb_modedb);
|