Home | History | Annotate | Line # | Download | only in ppbus
ppbus_var.h revision 1.3.12.1
      1  1.3.12.1      yamt /* $NetBSD: ppbus_var.h,v 1.3.12.1 2005/03/19 08:35:37 yamt Exp $ */
      2       1.2     bjh21 
      3       1.1  jdolecek #ifndef __PPBUS_VAR_H
      4       1.1  jdolecek #define __PPBUS_VAR_H
      5       1.1  jdolecek 
      6       1.1  jdolecek /* PPBUS mode masks. */
      7       1.1  jdolecek #define PPBUS_COMPATIBLE	0x01	/* Centronics compatible mode */
      8       1.1  jdolecek #define PPBUS_NIBBLE		0x02	/* reverse 4 bit mode */
      9       1.1  jdolecek #define PPBUS_PS2		0x04	/* PS/2 byte mode */
     10       1.1  jdolecek #define PPBUS_EPP		0x08	/* EPP mode, 32 bit */
     11       1.1  jdolecek #define PPBUS_ECP		0x10	/* ECP mode */
     12       1.1  jdolecek #define PPBUS_FAST		0x20	/* Fast Centronics mode */
     13       1.1  jdolecek /* mode aliases */
     14       1.1  jdolecek #define PPBUS_SPP		PPBUS_NIBBLE | PPBUS_PS2 /* Won't work! */
     15       1.1  jdolecek #define PPBUS_BYTE		PPBUS_PS2
     16       1.1  jdolecek #define PPBUS_MASK		0x3f
     17       1.1  jdolecek #define PPBUS_OPTIONS_MASK	0xc0
     18       1.1  jdolecek /* Useful macros for this field */
     19       1.1  jdolecek #define PPBUS_IS_EPP(mode) ((mode) & PPBUS_EPP)
     20       1.1  jdolecek #define PPBUS_IN_EPP_MODE(bus) (PPBUS_IS_EPP(ppbus_get_mode(bus)))
     21       1.1  jdolecek #define PPBUS_IN_NIBBLE_MODE(bus) (ppbus_get_mode(bus) & PPBUS_NIBBLE)
     22       1.1  jdolecek #define PPBUS_IN_PS2_MODE(bus) (ppbus_get_mode(bus) & PPBUS_PS2)
     23       1.1  jdolecek 
     24       1.1  jdolecek /* PPBUS capabilities */
     25       1.1  jdolecek #define PPBUS_HAS_INTR		0x01	/* Interrupt available */
     26       1.1  jdolecek #define PPBUS_HAS_DMA		0x02	/* DMA available */
     27       1.1  jdolecek #define PPBUS_HAS_FIFO		0x04	/* FIFO available */
     28       1.1  jdolecek #define PPBUS_HAS_PS2		0x08	/* PS2 mode capable */
     29       1.1  jdolecek #define PPBUS_HAS_ECP		0x10	/* ECP mode available */
     30       1.1  jdolecek #define PPBUS_HAS_EPP		0x20	/* EPP mode available */
     31       1.1  jdolecek 
     32       1.1  jdolecek /* IEEE flag in soft config */
     33       1.1  jdolecek #define PPBUS_DISABLE_IEEE	0x00
     34       1.1  jdolecek #define PPBUS_ENABLE_IEEE	0x01
     35       1.1  jdolecek 
     36       1.1  jdolecek /* List of IVARS available to ppbus device drivers */
     37       1.1  jdolecek /* #define PPBUS_IVAR_MODE 0 */
     38  1.3.12.1      yamt #define PPBUS_IVAR_DMA		1
     39  1.3.12.1      yamt #define PPBUS_IVAR_INTR		2
     40       1.1  jdolecek #define PPBUS_IVAR_EPP_PROTO    3
     41       1.1  jdolecek #define PPBUS_IVAR_IEEE		4
     42       1.1  jdolecek /* Needed by callback's implemented using callout */
     43  1.3.12.1      yamt #define PPBUS_IVAR_IRQSTAT	5
     44       1.1  jdolecek #define PPBUS_IVAR_DMASTAT	6
     45       1.1  jdolecek /* other fields are reserved to the ppbus internals */
     46       1.1  jdolecek 
     47       1.1  jdolecek /* EPP protocol versions */
     48       1.1  jdolecek #define PPBUS_EPP_1_9           0x0                     /* default */
     49       1.1  jdolecek #define PPBUS_EPP_1_7           0x1
     50       1.1  jdolecek 
     51       1.1  jdolecek /* Parallel Port Bus sleep/wakeup queue. */
     52       1.1  jdolecek #define PPBUSPRI		(PZERO+8)
     53       1.1  jdolecek 
     54       1.3  jdolecek #endif /* __PPBUS_VAR_H */
     55