summaryrefslogtreecommitdiffstats
path: root/sys/pc98/cbus/ppcreg.h
diff options
context:
space:
mode:
authorkato <kato@FreeBSD.org>2000-01-20 00:58:49 +0000
committerkato <kato@FreeBSD.org>2000-01-20 00:58:49 +0000
commitf9060bc85d26d665cb1618cf12dfaa14e9a07b5c (patch)
treebbde16da683f0a1a1303cd269f9a4422e802a632 /sys/pc98/cbus/ppcreg.h
parent3cca0c2271683c44363ac058cc775664cf3cb1cc (diff)
downloadFreeBSD-src-f9060bc85d26d665cb1618cf12dfaa14e9a07b5c.zip
FreeBSD-src-f9060bc85d26d665cb1618cf12dfaa14e9a07b5c.tar.gz
Port of the PC-98 ppc to the newbus system.
Diffstat (limited to 'sys/pc98/cbus/ppcreg.h')
-rw-r--r--sys/pc98/cbus/ppcreg.h29
1 files changed, 21 insertions, 8 deletions
diff --git a/sys/pc98/cbus/ppcreg.h b/sys/pc98/cbus/ppcreg.h
index 4e85f41..96e93b7 100644
--- a/sys/pc98/cbus/ppcreg.h
+++ b/sys/pc98/cbus/ppcreg.h
@@ -45,12 +45,19 @@
#define NS_PC87334 10
/*
+ * Parallel Port Chipset Type. SMC versus GENERIC (others)
+ */
+#define PPC_TYPE_SMCLIKE 0
+#define PPC_TYPE_GENERIC 1
+
+/*
* Generic structure to hold parallel port chipset info.
*/
struct ppc_data {
int ppc_unit;
- int ppc_type;
+ int ppc_model; /* chipset model if detected */
+ int ppc_type; /* generic or smclike chipset type */
int ppc_mode; /* chipset current mode */
int ppc_avm; /* chipset available modes */
@@ -83,16 +90,22 @@ struct ppc_data {
short ppc_wthr; /* writeIntrThresold */
short ppc_rthr; /* readIntrThresold */
-#define ppc_base ppc_link.base
-#define ppc_epp ppc_link.epp_protocol
-#define ppc_irq ppc_link.id_irq
-#define ppc_subm ppc_link.submicroseq
-#define ppc_ptr ppc_link.ptr
-#define ppc_accum ppc_link.accum
+ char *ppc_ptr; /* microseq current pointer */
+ int ppc_accum; /* microseq accumulator */
+ int ppc_base; /* parallel port base address */
+ int ppc_epp; /* EPP mode (1.7 or 1.9) */
+ int ppc_irq;
unsigned char ppc_flags;
- struct ppb_link ppc_link;
+ device_t ppbus; /* parallel port chipset corresponding ppbus */
+
+ int rid_irq, rid_drq, rid_ioport;
+ struct resource *res_irq, *res_drq, *res_ioport;
+
+ void *intr_cookie;
+
+ int ppc_registered; /* 1 if ppcintr() is the registered interrupt */
};
/*
OpenPOWER on IntegriCloud