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