|
@@ -0,0 +1,72 @@
|
|
|
+/*
|
|
|
+ * 6522 Versatile Interface Adapter (VIA)
|
|
|
+ *
|
|
|
+ * There are two of these on the Mac II. Some IRQ's are vectored
|
|
|
+ * via them as are assorted bits and bobs - eg rtc, adb. The picture
|
|
|
+ * is a bit incomplete as the Mac documentation doesn't cover this well
|
|
|
+ */
|
|
|
+
|
|
|
+#ifndef _ASM_MAC_VIA_H_
|
|
|
+#define _ASM_MAC_VIA_H_
|
|
|
+
|
|
|
+/*
|
|
|
+ * Base addresses for the VIAs. There are two in every machine,
|
|
|
+ * although on some machines the second is an RBV or an OSS.
|
|
|
+ * The OSS is different enough that it's handled separately.
|
|
|
+ *
|
|
|
+ * Do not use these values directly; use the via1 and via2 variables
|
|
|
+ * instead (and don't forget to check rbv_present when using via2!)
|
|
|
+ */
|
|
|
+
|
|
|
+#define VIA1_BASE (0x50F00000)
|
|
|
+#define VIA2_BASE (0x50F02000)
|
|
|
+#define RBV_BASE (0x50F26000)
|
|
|
+
|
|
|
+/*
|
|
|
+ * Not all of these are true post MacII I think.
|
|
|
+ * CSA: probably the ones CHRP marks as 'unused' change purposes
|
|
|
+ * when the IWM becomes the SWIM.
|
|
|
+ * http://www.rs6000.ibm.com/resource/technology/chrpio/via5.mak.html
|
|
|
+ * ftp://ftp.austin.ibm.com/pub/technology/spec/chrp/inwork/CHRP_IORef_1.0.pdf
|
|
|
+ *
|
|
|
+ * also, http://developer.apple.com/technotes/hw/hw_09.html claims the
|
|
|
+ * following changes for IIfx:
|
|
|
+ * VIA1A_vSccWrReq not available and that VIA1A_vSync has moved to an IOP.
|
|
|
+ * Also, "All of the functionality of VIA2 has been moved to other chips".
|
|
|
+ */
|
|
|
+
|
|
|
+#define VIA1A_vSccWrReq 0x80 /* SCC write. (input)
|
|
|
+ * [CHRP] SCC WREQ: Reflects the state of the
|
|
|
+ * Wait/Request pins from the SCC.
|
|
|
+ * [Macintosh Family Hardware]
|
|
|
+ * as CHRP on SE/30,II,IIx,IIcx,IIci.
|
|
|
+ * on IIfx, "0 means an active request"
|
|
|
+ */
|
|
|
+#define VIA1A_vRev8 0x40 /* Revision 8 board ???
|
|
|
+ * [CHRP] En WaitReqB: Lets the WaitReq_L
|
|
|
+ * signal from port B of the SCC appear on
|
|
|
+ * the PA7 input pin. Output.
|
|
|
+ * [Macintosh Family] On the SE/30, this
|
|
|
+ * is the bit to flip screen buffers.
|
|
|
+ * 0=alternate, 1=main.
|
|
|
+ * on II,IIx,IIcx,IIci,IIfx this is a bit
|
|
|
+ * for Rev ID. 0=II,IIx, 1=IIcx,IIci,IIfx
|
|
|
+ */
|
|
|
+#define VIA1A_vHeadSel 0x20 /* Head select for IWM.
|
|
|
+ * [CHRP] unused.
|
|
|
+ * [Macintosh Family] "Floppy disk
|
|
|
+ * state-control line SEL" on all but IIfx
|
|
|
+ */
|
|
|
+#define VIA1A_vOverlay 0x10 /* [Macintosh Family] On SE/30,II,IIx,IIcx
|
|
|
+ * this bit enables the "Overlay" address
|
|
|
+ * map in the address decoders as it is on
|
|
|
+ * reset for mapping the ROM over the reset
|
|
|
+ * vector. 1=use overlay map.
|
|
|
+ * On the IIci,IIfx it is another bit of the
|
|
|
+ * CPU ID: 0=normal IIci, 1=IIci with parity
|
|
|
+ * feature or IIfx.
|
|
|
+ * [CHRP] En WaitReqA: Lets the WaitReq_L
|
|
|
+ * signal from port A of the SCC appear
|
|
|
+ * on the PA7 input pin (CHRP). Output.
|
|
|
+ * [MkLinux] "Drive Select"
|
|
|
+ * (with 0x20 being 'disk head select')
|