#if !defined(SPD_DEFS_H) #define SPD_DEFS_H // File IDs for Event Logging (top 8 bits only). #define SPD_PNP_C ((ULONG)0x010000) #define SPD_W2K_C ((ULONG)0x020000) #define PRODUCT_MAX_PORTS 20 // Port Types. #define SPD_8PIN_RJ45 1 // FG, SG, TXD, RXD, RTS, CTS, DTR, DCD, DSR #define SPD_10PIN_RJ45 2 // FG, SG, TXD, RXD, RTS, CTS, DTR, DCD, DSR, RI #define FAST_8PIN_RJ45 3 // FG, SG, TXD, RXD, RTS, CTS, DTR, DCD, DSR #define FAST_8PIN_XXXX 4 // FG, SG, TXD, RXD, RTS, CTS, DTR, DCD, DSR #define FAST_6PIN_XXXX 5 // FG, SG, TXD, RXD, RTS, CTS #define MODEM_PORT 6 // Modem Port // Port device object name. #define PORT_PDO_NAME_BASE L"\\Device\\SPEEDPort" // Tag used for memory allocations (must be 4 bytes in reverse). #define MEMORY_TAG 'DEPS' #define OXPCI_IO_OFFSET 0x0008 // I/O address offset between UARTs #define OXPCI_INTERNAL_MEM_OFFSET 0x0020 // Memory address offset between internal UARTs #define OXPCI_LOCAL_MEM_OFFSET 0x0400 // Memory address offset between local bus UARTs #define SPEED_GIS_REG 0x1C // Gloabl Interrupt Status Reg (GIS) #define INTERNAL_UART_INT_PENDING (ULONG)0x0000000F // Interanl UART 0, 1, 2 or 3 has an Interrupt Pending #define UART0_INT_PENDING (ULONG)0x00000001 // Interanl UART 0 Interrupt Pending #define UART1_INT_PENDING (ULONG)0x00000002 // Interanl UART 1 Interrupt Pending #define UART2_INT_PENDING (ULONG)0x00000004 // Interanl UART 2 Interrupt Pending #define UART3_INT_PENDING (ULONG)0x00000008 // Interanl UART 3 Interrupt Pending #define FAST_UARTS_0_TO_7_INTS_REG 0x07 // Fast UARTs 0 to 7 Interrupt Status Reg #define FAST_UARTS_0_TO_3_INT_PENDING 0x0F // Fast UART 0, 1, 2 or 3 has an Interrupt Pending #define FAST_UART0_INT_PENDING 0x01 // Fast UART 0 Interrupt Pending #define FAST_UART1_INT_PENDING 0x02 // Fast UART 1 Interrupt Pending #define FAST_UART2_INT_PENDING 0x04 // Fast UART 2 Interrupt Pending #define FAST_UART3_INT_PENDING 0x08 // Fast UART 3 Interrupt Pending #define FAST_UART4_INT_PENDING 0x10 // Fast UART 4 Interrupt Pending #define FAST_UART5_INT_PENDING 0x20 // Fast UART 5 Interrupt Pending #define FAST_UART6_INT_PENDING 0x40 // Fast UART 6 Interrupt Pending #define FAST_UART7_INT_PENDING 0x80 // Fast UART 7 Interrupt Pending #define FAST_UARTS_9_TO_16_INTS_REG 0x0F // Fast UARTs 8 to 15 Interrupt Status Reg #define FAST_UART8_INT_PENDING 0x01 // Fast UART 8 Interrupt Pending #define FAST_UART9_INT_PENDING 0x02 // Fast UART 9 Interrupt Pending #define FAST_UART10_INT_PENDING 0x04 // Fast UART 10 Interrupt Pending #define FAST_UART11_INT_PENDING 0x08 // Fast UART 11 Interrupt Pending #define FAST_UART12_INT_PENDING 0x10 // Fast UART 12 Interrupt Pending #define FAST_UART13_INT_PENDING 0x20 // Fast UART 13 Interrupt Pending #define FAST_UART14_INT_PENDING 0x40 // Fast UART 14 Interrupt Pending #define FAST_UART15_INT_PENDING 0x80 // Fast UART 15 Interrupt Pending #define PLX9050_INT_CNTRL_REG_OFFSET 0x4C // PLX 9050 Interrupt Control Reg Offset in PCI Config Regs. #define PLX9050_CNTRL_REG_OFFSET 0x50 // PLX 9050 Control Reg Offset in PCI Config Regs. // Clock frequencies #define CLOCK_FREQ_1M8432Hz 1843200 #define CLOCK_FREQ_7M3728Hz 7372800 #define CLOCK_FREQ_14M7456Hz 14745600 // SPEED HardwareIDs // ------------------- // Speed 2 and 4 local bus device (UNUSED) #define SPD2AND4_PCI_NO_F1_HWID L"PCI\\VEN_1415&DEV_9510&SUBSYS_000011CB" // (F1: Unusable). // SPEED4 Standard Performance PCI Card. #define SPD4_PCI_PCI954_HWID L"PCI\\VEN_1415&DEV_9501&SUBSYS_A00411CB" // (F0: Quad 950 UART). // SPEED4+ High Performance PCI Card. #define SPD4P_PCI_PCI954_HWID L"PCI\\VEN_11CB&DEV_9501&SUBSYS_A00411CB" // (F0: Quad 950 UART). #define SPD4P_PCI_8BIT_LOCALBUS_HWID L"PCI\\VEN_11CB&DEV_9511&SUBSYS_A00011CB" // (F1: 8 bit local bus). // SPEED2 Standard Performance PCI Card. #define SPD2_PCI_PCI954_HWID L"PCI\\VEN_1415&DEV_9501&SUBSYS_A00211CB" // (F0: 2 950 UARTs). // SPEED2+ High Performance PCI Card. #define SPD2P_PCI_PCI954_HWID L"PCI\\VEN_11CB&DEV_9501&SUBSYS_A00211CB" // (F0: 2 950 UARTs). #define SPD2P_PCI_8BIT_LOCALBUS_HWID L"PCI\\VEN_11CB&DEV_9511&SUBSYS_A00111CB" // (F1: 8 bit local bus). // Chase cards #define FAST4_PCI_HWID L"PCI\\VEN_10B5&DEV_9050&SUBSYS_003112E0" // PCI-Fast 4 Port Adapter #define FAST8_PCI_HWID L"PCI\\VEN_10B5&DEV_9050&SUBSYS_002112E0" // PCI-Fast 8 Port Adapter #define FAST16_PCI_HWID L"PCI\\VEN_10B5&DEV_9050&SUBSYS_001112E0" // PCI-Fast 16 Port Adapter #define FAST16FMC_PCI_HWID L"PCI\\VEN_10B5&DEV_9050&SUBSYS_004112E0" // PCI-Fast 16 FMC Adapter #define AT_FAST4_HWID L"AT_FAST4" // AT-Fast 4 Port Adapter #define AT_FAST8_HWID L"AT_FAST8" // AT-Fast 8 Port Adapter #define AT_FAST16_HWID L"AT_FAST16" // AT-Fast 16 Port Adapter #define RAS4_PCI_HWID L"PCI\\VEN_10B5&DEV_9050&SUBSYS_F001124D" // PCI-RAS 4 Multi-modem Adapter #define RAS8_PCI_HWID L"PCI\\VEN_10B5&DEV_9050&SUBSYS_F010124D" // PCI-RAS 8 Multi-modem Adapter // SPEED CardTypes #define Speed4_Pci 1 // Speed 4 adapter #define Speed2and4_Pci_8BitBus 2 // Speed 2 and 4 unused local bus. #define Speed4P_Pci 3 // Speed 4+ adapter #define Speed4P_Pci_8BitBus 4 // Speed 4+ adapter local bus // Chase Cards #define Fast4_Pci 5 #define Fast8_Pci 6 #define Fast16_Pci 7 #define Fast16FMC_Pci 8 #define Fast4_Isa 9 #define Fast8_Isa 10 #define Fast16_Isa 11 #define RAS4_Pci 12 #define RAS8_Pci 13 #define Speed2_Pci 14 // Speed 2 adapter #define Speed2P_Pci 15 // Speed 2+ adapter #define Speed2P_Pci_8BitBus 16 // Speed 2+ adapter local bus /***************************************************************************** *********************************** NT 4.0 PCI IDs *************************** *****************************************************************************/ // General definitions... #define OX_SEMI_VENDOR_ID 0x1415 // Oxford's VendorID Assigned by the PCI SIG #define SPX_VENDOR_ID 0x11CB // Specialix's VendorID Assigned by the PCI SIG #define OX_SEMI_SUB_VENDOR_ID OX_SEMI_VENDOR_ID // Same as Oxford's VendorID #define SPX_SUB_VENDOR_ID SPX_VENDOR_ID // Same as Specialix's VendorID // SPEED4 Low Performance Card. // --------------------------------------------------- // PCI Function 0 - (Quad 16C950 UARTs). // -------------- // VendorID = OX_SEMI_VENDOR_ID // DeviceID = OX_SEMI_PCI954_DEVICE_ID // SubSystem DeviceID = SPD4_PCI954_SUB_SYS_ID // SubSystem VendorID = SPX_SUB_VENDOR_ID // // PCI Function 1 - (Unusable). // -------------- // VendorID = OX_SEMI_VENDOR_ID // DeviceID = OX_SEMI_NO_F1_DEVICE_ID // SubSystem DeviceID = Unknown ??? could be 0x0000 which is bad for MS HCTs // SubSystem VendorID = OX_SEMI_SUB_VENDOR_ID // #define OX_SEMI_PCI954_DEVICE_ID 0x9501 // OX SEMI PCI954 Bridge and integrated Quad UARTs #define SPD4_PCI954_SUB_SYS_ID 0xA004 // SPX SubSystem DeviceID #define SPD2_PCI954_SUB_SYS_ID 0xA002 // SPX SubSystem DeviceID // SPEED4+ High Performance Card. // --------------------------------------------------- // PCI Function 0 - (Quad 16C950 UARTs). // -------------- // VendorID = SPX_VENDOR_ID // DeviceID = SPD4P_PCI954_DEVICE_ID // SubSystem DeviceID = SPD4P_PCI954_SUB_SYS_ID // SubSystem VendorID = SPX_SUB_VENDOR_ID // // PCI Function 1 - (8 Bit Local Bus with possibly more UARTs). // -------------- // VendorID = SPX_VENDOR_ID // DeviceID = SPD4P_PCI954_8BIT_BUS_DEVICE_ID // SubSystem DeviceID = SPD4P_PCI954_8BIT_BUS_SUB_SYS_ID // SubSystem VendorID = SPX_SUB_VENDOR_ID // #define SPD4P_PCI954_DEVICE_ID 0x9501 // SPX PCI954 Bridge and integrated Quad UARTs #define SPD4P_PCI954_SUB_SYS_ID 0xA004 // SPX PCI954 Bridge and integrated Quad UARTs #define SPD4P_8BIT_BUS_DEVICE_ID 0x9511 // 8 Bit Local Bus #define SPD4P_8BIT_BUS_SUB_SYS_ID 0xA000 // 8 Bit Local Bus #define SPD2P_PCI954_DEVICE_ID 0x9501 // SPX PCI954 Bridge and integrated Quad UARTs #define SPD2P_PCI954_SUB_SYS_ID 0xA002 // SPX PCI954 Bridge and integrated Quad UARTs #define SPD2P_8BIT_BUS_DEVICE_ID 0x9511 // 8 Bit Local Bus #define SPD2P_8BIT_BUS_SUB_SYS_ID 0xA001 // 8 Bit Local Bus #define PLX_VENDOR_ID 0x10B5 // PLX board vendor ID #define PLX_DEVICE_ID 0x9050 // PLX board device ID #define CHASE_SUB_VENDOR_ID 0x12E0 // Chase Research SubVendorID #define FAST4_SUB_SYS_ID 0x0031 // PCI-Fast 4 SubSystem DeviceID #define FAST8_SUB_SYS_ID 0x0021 // PCI-Fast 8 SubSystem DeviceID #define FAST16_SUB_SYS_ID 0x0011 // PCI-Fast 16 SubSystem DeviceID #define FAST16FMC_SUB_SYS_ID 0x0041 // PCI-Fast 16 FMC SubSystem DeviceID #define MORETONBAY_SUB_VENDOR_ID 0x124D // Moreton Bay SubVendorID #define RAS4_SUB_SYS_ID 0xF001 // PCI-Fast 4 SubSystem DeviceID #define RAS8_SUB_SYS_ID 0xF010 // PCI-Fast 4 SubSystem DeviceID // Port Property reg keys. #define TX_FIFO_LIMIT L"TxFiFoLimit" #define TX_FIFO_TRIG_LEVEL L"TxFiFoTrigger" #define RX_FIFO_TRIG_LEVEL L"RxFiFoTrigger" #define LO_FLOW_CTRL_LEVEL L"LoFlowCtrlThreshold" #define HI_FLOW_CTRL_LEVEL L"HiFlowCtrlThreshold" // Card Properties #define DELAY_INTERRUPT L"DelayInterrupt" // Can be used to delay the interrupt by 1.1ms on PCI-Fast16 and PCI-Fast16 FMC cards. #define SWAP_RTS_FOR_DTR L"SwapRTSForDTR" // Can be used to Swap RTS for DTR on the PCI-Fast16 cards. #define CLOCK_FREQ_OVERRIDE L"ClockFreqOverride" // Can be used to set override the card's default clock frequency. // Card Options #define DELAY_INTERRUPT_OPTION 0x00000001 // Settable on PCI-Fast 16 & PCI-Fast 16 FMC (Interrupt delayed 1.1 ms) #define SWAP_RTS_FOR_DTR_OPTION 0x00000002 // Settable on PCI-Fast 16 #endif // End of SPD_DEFS.H