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