From 9127fa28595093a146fc3e2c937747e014e4bfa2 Mon Sep 17 00:00:00 2001
From: Peter 'p2' De Schrijver <p2@mind.be>
Date: Mon, 7 Nov 2005 01:00:42 -0800
Subject: [PATCH] pm2fb: Manual configuration of timings for Elsa Winner 2000
 Office

Attached is a small patch which configures the correct memory clock and
timings on the Elsa Winner 2000 Office pm2 based card.  This is necessary when
the card is used on a platform which does not support PC style BIOS
initialization.

Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
---
 drivers/video/pm2fb.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

(limited to 'drivers/video')

diff --git a/drivers/video/pm2fb.c b/drivers/video/pm2fb.c
index f4188fe6dd9a..0277ce031e5e 100644
--- a/drivers/video/pm2fb.c
+++ b/drivers/video/pm2fb.c
@@ -1120,6 +1120,22 @@ static int __devinit pm2fb_probe(struct pci_dev *pdev,
 		default_par->mem_control, default_par->boot_address,
 		default_par->mem_config);
 
+	if(default_par->mem_control == 0 &&
+		default_par->boot_address == 0x31 &&
+		default_par->mem_config == 0x259fffff &&
+		pdev->subsystem_vendor == 0x1048 &&
+		pdev->subsystem_device == 0x0a31) {
+		DPRINTK("subsystem_vendor: %04x, subsystem_device: %04x\n",
+			pdev->subsystem_vendor, pdev->subsystem_device);
+		DPRINTK("We have not been initialized by VGA BIOS "
+			"and are running on an Elsa Winner 2000 Office\n");
+		DPRINTK("Initializing card timings manually...\n");
+		default_par->mem_control=0;
+		default_par->boot_address=0x20;
+		default_par->mem_config=0xe6002021;
+		default_par->memclock=100000;
+	}
+
 	/* Now work out how big lfb is going to be. */
 	switch(default_par->mem_config & PM2F_MEM_CONFIG_RAM_MASK) {
 	case PM2F_MEM_BANKS_1:
-- 
cgit v1.2.3