Home | History | Annotate | Line # | Download | only in ppbus
      1  1.6    cegger /* $NetBSD: ppbus_device.h,v 1.6 2008/04/15 15:02:29 cegger Exp $ */
      2  1.2     bjh21 
      3  1.1  jdolecek #ifndef __PPBUS_DEVICE_H
      4  1.1  jdolecek #define __PPBUS_DEVICE_H
      5  1.1  jdolecek 
      6  1.1  jdolecek #include <sys/device.h>
      7  1.1  jdolecek 
      8  1.1  jdolecek #include <dev/ppbus/ppbus_msq.h>
      9  1.1  jdolecek 
     10  1.1  jdolecek 
     11  1.1  jdolecek /* Parallel Port Bus Device context. */
     12  1.4     perry struct ppbus_context {
     13  1.1  jdolecek         int valid;                      /* 1 if the struct is valid */
     14  1.1  jdolecek 	int mode;                       /* XXX chipset operating mode */
     15  1.1  jdolecek 	struct microseq *curpc;         /* pc in curmsq */
     16  1.1  jdolecek 	struct microseq *curmsq;        /* currently executed microseqence */
     17  1.1  jdolecek };
     18  1.1  jdolecek 
     19  1.1  jdolecek /* Parallel Port Bus Device structure. */
     20  1.4     perry struct ppbus_device_softc {
     21  1.6    cegger         device_t sc_dev;
     22  1.1  jdolecek 
     23  1.1  jdolecek 	u_int16_t mode;			/* current mode of the device */
     24  1.1  jdolecek 	u_int16_t capabilities;		/* ppbus capabilities */
     25  1.4     perry 
     26  1.4     perry 	/* uint flags;                     flags */
     27  1.1  jdolecek 	struct ppbus_context ctx;       /* context of the device */
     28  1.1  jdolecek 
     29  1.1  jdolecek 					/* mode dependent get msq. If NULL,
     30  1.1  jdolecek 				 	 * IEEE1284 code is used */
     31  1.1  jdolecek 	struct ppbus_xfer
     32  1.1  jdolecek 		get_xfer[PPBUS_MAX_XFER];
     33  1.1  jdolecek 
     34  1.1  jdolecek 					/* mode dependent put msq. If NULL,
     35  1.1  jdolecek 					 * IEEE1284 code is used */
     36  1.1  jdolecek 	struct ppbus_xfer
     37  1.1  jdolecek 		put_xfer[PPBUS_MAX_XFER];
     38  1.1  jdolecek 
     39  1.1  jdolecek 	/* Each structure is a node in a list of child devices */
     40  1.1  jdolecek 	SLIST_ENTRY(ppbus_device_softc) entries;
     41  1.1  jdolecek };
     42  1.1  jdolecek 
     43  1.1  jdolecek struct ppbus_attach_args {
     44  1.1  jdolecek 	/* Available IEEE1284 modes */
     45  1.1  jdolecek 	u_int16_t capabilities;
     46  1.1  jdolecek 
     47  1.4     perry 	/* Flags?
     48  1.1  jdolecek 	u_int16_t flags;*/
     49  1.1  jdolecek };
     50  1.1  jdolecek 
     51  1.3  jdolecek #endif /* __PPBUS_DEVICE_H */
     52