Patchwork W83697xx superio flash enable

login
register
about
Submitter David Borg
Date 2010-09-13 22:53:04
Message ID <AANLkTi=QdHDVR3sM8Ld418JDjvWW7kXDtcS+M8BW2QSG@mail.gmail.com>
Download mbox | patch
Permalink /patch/1926/
State Accepted
Commit r1529
Headers show

Comments

David Borg - 2010-09-13 22:53:04
Adds a function to enable the flash interface on w83697xx superio's.
Still needs to be hooked up to the superio detection framework though.


Signed-off-by: David Borg <borg.db@gmail.com>
Carl-Daniel Hailfinger - 2012-05-05 20:44:43
Am 14.09.2010 00:53 schrieb David Borg:
> Adds a function to enable the flash interface on w83697xx superio's.
> Still needs to be hooked up to the superio detection framework though.
>
>
> Signed-off-by: David Borg <borg.db@gmail.com>

Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
and committed in r1529.

Sorry it took us so long to merge this.

Regards,
Carl-Daniel

Patch

Index: board_enable.c
===================================================================
--- board_enable.c	(revision 1162)
+++ board_enable.c	(working copy)
@@ -380,6 +380,39 @@ 
 	w836xx_ext_leave(port);
 }
 
+/**
+ * Enable MEMW# and set ROM size to max.
+ * Supported chips:
+ * W83697HF/F/HG, W83697SF/UF/UG
+ */
+static void w83697xx_memw_enable(uint16_t port)
+{
+	w836xx_ext_enter(port);
+	if (!(sio_read(port, 0x24) & 0x02)) { /* Flash ROM enabled? */
+		if((sio_read(port, 0x2A) & 0xF0) == 0xF0) {
+
+		/* CR24 Bits 7 & 2 must be set to 0 enable the flash ROM    */
+		/* address segments 000E0000h ~ 000FFFFFh on W83697SF/UF/UG */
+		/* These bits are reserved on W83697HF/F/HG 		    */
+		/* Shouldn't be needed though.			   	    */
+
+		/* CR28 Bit3 must be set to 1 to enable flash access to     */
+		/* FFE80000h ~ FFEFFFFFh on W83697SF/UF/UG.		    */
+		/* This bit is reserved on W83697HF/F/HG which default to 0 */
+			sio_mask(port, 0x28, 0x08, 0x08);
+
+			/* Enable MEMW# and set ROM size select to max. (4M)*/
+			sio_mask(port, 0x24, 0x28, 0x38);
+
+		} else {
+			msg_perr("WARNING: Flash interface in use by GPIO!\n");
+		}
+	} else {
+		msg_pinfo("BIOS ROM is disabled\n");
+ 	}
+ 	w836xx_ext_leave(port);
+}
+
 /*
  * Suited for:
  *  - EPoX EP-8K5A2: VIA KT333 + VT8235