patch-2.1.125 linux/include/asm-m68k/mac_psc.h
Next file: linux/include/asm-m68k/machdep.h
Previous file: linux/include/asm-m68k/linux_logo.h
Back to the patch index
Back to the overall index
- Lines: 74
- Date:
Mon Oct 5 13:54:39 1998
- Orig file:
v2.1.124/linux/include/asm-m68k/mac_psc.h
- Orig date:
Wed Dec 31 16:00:00 1969
diff -u --recursive --new-file v2.1.124/linux/include/asm-m68k/mac_psc.h linux/include/asm-m68k/mac_psc.h
@@ -0,0 +1,73 @@
+/*
+ * Apple Peripheral System Controller (PSC)
+ *
+ * The PSC is used on the AV Macs to control IO functions not handled
+ * by the VIAs (Ethernet, DSP, SCC).
+ */
+
+#define PSCBASE 0x50F31000
+
+/*
+ * The IER/IFR registers work like the VIA, except that it has 4
+ * of them each on different interrupt levels.
+ */
+
+#define pIFR3 0x130
+#define pIFR4 0x140
+#define pIFR5 0x150
+#define pIFR6 0x160
+
+#define pIER3 0x134
+#define pIER4 0x144
+#define pIER5 0x154
+#define pIER6 0x164
+
+/*
+ * Ethernet Control Registers
+ */
+
+#define PSC_ENETRD_CTL 0xc10
+#define PSC_ENETWR_CTL 0xc20
+
+/*
+ * Receive DMA channel (add +0x10 for 2nd channel)
+ */
+
+#define PSC_ENETRD_ADDR 0x1020
+#define PSC_ENETRD_LEN 0x1024
+#define PSC_ENETRD_CMD 0x1028
+
+/*
+ * Transmit DMA channel (add +0x10 for 2nd channel)
+ */
+
+#define PSC_ENETWR_ADDR 0x1040
+#define PSC_ENETWR_LEN 0x1044
+#define PSC_ENETWR_CMD 0x1048
+
+/*
+ * Access functions
+ */
+
+extern volatile unsigned char *psc;
+
+extern inline void psc_write_word(int offset, u16 data)
+{
+ *((volatile u16 *)(psc+offset)) = data;
+}
+
+extern inline void psc_write_long(int offset, u32 data)
+{
+ *((volatile u32 *)(psc+offset)) = data;
+}
+
+extern inline u16 psc_read_word(int offset)
+{
+ return *((volatile u16 *)(psc+offset));
+}
+
+extern inline u32 psc_read_long(int offset)
+{
+ return *((volatile u32 *)(psc+offset));
+}
+
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov