Subject: FAS216 - Magnum disk controller
To: None <port-arc@netbsd.org>
From: Maki Kato <mk2s@digitalcommute.com>
List: port-arc
Date: 10/07/2000 00:09:57
The following diff enables the correct detection of the FAS216 chip 
witch seems to be in your Magnum.  Or at least it works on my Olivetti.
But the following only fixes the "not writing more than one block" 
problem I had.  Without the patch my machine still boots but just hangs 
writing to disk bigger than 1 block.


....maki....

Index: arch/arc/dev/asc.c
===================================================================
RCS file: /cvsroot/syssrc/sys/arch/arc/dev/asc.c,v
retrieving revision 1.22
diff -u -r1.22 asc.c
--- asc.c    2000/06/09 05:28:47    1.22
+++ asc.c    2000/10/04 02:48:49
@@ -587,7 +587,8 @@
    wbflush(); DELAY(25);
    regs->asc_cmd = ASC_CMD_DMA | ASC_CMD_NOP;
    wbflush(); DELAY(25);
-    asc->is24bit = regs->asc_id == ASC_ID_53CF94;
+    asc->is24bit = ( regs->asc_id == ASC_ID_53CF94 ||
+                         regs->asc_id == ASC_ID_FAS216 );

    asc_reset(asc, regs);

Index: arch/arc/dev/ascreg.h
===================================================================
RCS file: /cvsroot/syssrc/sys/arch/arc/dev/ascreg.h,v
retrieving revision 1.6
diff -u -r1.6 ascreg.h
--- ascreg.h    2000/01/23 21:01:53    1.6
+++ ascreg.h    2000/10/04 02:48:49
@@ -334,5 +334,5 @@
  * chip identifier
  */
#define ASC_ID_53CF94        0xa2    /* 53CF94-2 or 53CF96-2 */
-
+#define ASC_ID_FAS216        0x12    /* Olivetti has FAS216  */ /* mk2s */
#define    ST_MASK    0x3e