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