---
drivers/video/sm501fb.c | 35 +++++++++++++++++++++++++++++++++++
1 files changed, 35 insertions(+), 0 deletions(-)
diff --git a/drivers/video/sm501fb.c b/drivers/video/sm501fb.c
index a78254c..c4e1a45 100644
--- a/drivers/video/sm501fb.c
+++ b/drivers/video/sm501fb.c
@@ -61,6 +61,34 @@ static struct fb_videomode __devinitdata sm501_default_mode
= {
.vmode = FB_VMODE_NONINTERLACED
};
+#ifdef CONFIG_DEXXON_GDIUM
+/*
+ * SM501 Modes for Gdium as 1024X600 is not defined in default mode(modedb.c).
+ */
+static const struct fb_videomode __initdata sm501_gdium_modedb[] = {
+{
+ /* 1024x600-60 */
+NULL, 60, 1024, 600, 20423, 144, 40, 18, 1, 104, 3,
+FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, FB_VMODE_NONINTERLACED
+},
+{
+ /* 1024x600-70 */
+ NULL, 70, 1024, 600, 17211, 152, 48, 21, 1, 104, 3,
+FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, FB_VMODE_NONINTERLACED
+},
+{
+ /* 1024x600-75 */
+ NULL, 75, 1024, 600, 15822, 160, 56, 23, 1, 104, 3,
+FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, FB_VMODE_NONINTERLACED
+},
+{
+ /* 1024x600-85 */
+ NULL, 85, 1024, 600, 13730, 168, 56, 26, 1, 112, 3,
+FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, FB_VMODE_NONINTERLACED
+}
+};
+#endif
+
#define NR_PALETTE 256
enum sm501_controller {
@@ -1781,9 +1809,16 @@ static int __devinit sm501fb_init_fb(struct fb_info *fb,
&sm501_default_mode, default_bpp);
/* edid_data is no longer needed, free it */
kfree(info->edid_data);
+#ifdef CONFIG_DEXXON_GDIUM
+ } else {
+ ret = fb_find_mode(&fb->var, fb,
+ NULL, sm501_gdium_modedb, 4, NULL,
+ 16);
+#else
} else {
ret = fb_find_mode(&fb->var, fb,
NULL, NULL, 0, NULL, 8);
+#endif
}
switch (ret) {
--
1.7.9.1
--
You received this message because you are subscribed to the Google Groups
"loongson-dev" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/loongson-dev?hl=en.