;********************************************************************
;*     File:   oxpci.inf
;*                   
;*     Description:
;*         Multifunction installer for OXPCI products (Win9x/Win2000)
;*         Loads the enumerators, which create the child devnodes
;*
;********************************************************************

[Version]
Signature=$CHICAGO$
Class=MultiFunction
ClassGuid={4D36E971-E325-11CE-BFC1-08002BE10318}
Provider=%mfg%
;CatalogFile=Oxpci.cat       ; .cat for Win 95/98/Me binaries
;CatalogFile.NT=OxpciNT.cat ; Different .cat for Win2k binaries
; Win98 doesn't recognise DriverVer in [version] section, so this tag is copied
; in its DDInstall sections
DriverVer=09/26/2005, 5.1.2

[DestinationDirs]
DefaultDestDir=11       ; LDID_SYS
Drv.Copy=11             ; LDID_SYS
Drv.NT.Copy=12          ; LDID_DRIVER
Null.NT.Copy=12         ; LDID_DRIVER
dll.NT.Copy=11          ; LDID_SYS
Inf.Copy=17             ; LDID_INF

; Install class "Multifunction"
;----------------------------------------------------------
[ClassInstall]
AddReg=MF_Class.AddReg

[MF_Class.AddReg]
HKR,,,,%MF_ClassName%

[ClassInstall32.NT]
AddReg=MF_Class.NT.AddReg

[MF_Class.NT.AddReg]
HKR,,,,%MF_ClassName%
HKR,,Class,,"MultiFunction"
HKR,,NoInstallClass,,"1"

[ControlFlags]
ExcludeFromSelect=PCI\VEN_1415&DEV_9504
ExcludeFromSelect=PCI\VEN_1415&DEV_9505
ExcludeFromSelect=PCI\VEN_1415&DEV_9501
ExcludeFromSelect=PCI\VEN_1415&DEV_9511
ExcludeFromSelect=PCI\VEN_1415&DEV_9521
ExcludeFromSelect=PCI\VEN_1415&DEV_950A
ExcludeFromSelect=PCI\VEN_1415&DEV_950B
ExcludeFromSelect=PCI\VEN_1415&DEV_8401
ExcludeFromSelect=PCI\VEN_1415&DEV_9512
ExcludeFromSelect=PCI\VEN_1415&DEV_9510
ExcludeFromSelect=PCMCIA\PC_CARD-GENERIC-1748

; Drivers
;----------------------------------------------------------

[Manufacturer]
%mfg%=mfg

;List of available devices
[mfg]
%PCI\VEN_1415&DEV_9504.DeviceDesc% = PCI_9504, PCI\VEN_1415&DEV_9504
%PCI\VEN_1415&DEV_9505.DeviceDesc% = PCI_9505, PCI\VEN_1415&DEV_9505
%PCI\VEN_1415&DEV_9501.DeviceDesc% = PCI_9501, PCI\VEN_1415&DEV_9501
%PCI\VEN_1415&DEV_9511.DeviceDesc% = PCI_9511, PCI\VEN_1415&DEV_9511
%PCI\VEN_1415&DEV_950A.DeviceDesc% = PCI_950A, PCI\VEN_1415&DEV_950A
%PCI\VEN_1415&DEV_950B.DeviceDesc% = PCI_950B, PCI\VEN_1415&DEV_950B
%PCI\VEN_1415&DEV_8401.DeviceDesc% = PCI_8401, PCI\VEN_1415&DEV_8401
%PCI\VEN_1415&DEV_9521.DeviceDesc% = PCI_9521, PCI\VEN_1415&DEV_9521

%PCI\VEN_1415&DEV_9512.DeviceDesc% = PCI_NULL, PCI\VEN_1415&DEV_9512
%PCI\VEN_1415&DEV_9500.DeviceDesc% = PCI_NULL, PCI\VEN_1415&DEV_9500
%PCI\VEN_1415&DEV_9510.DeviceDesc% = PCI_NULL, PCI\VEN_1415&DEV_9510

%Card0.DeviceDesc% = CF_950, PCMCIA\PC_CARD-GENERIC-1748


; ********************************************************************
; ******************* Install null PCI function **********************
; ********************************************************************
[PCI_NULL]
DriverVer=02/07/2005, 5.1.0
CopyFiles=Inf.Copy

[PCI_NULL.NT]
CopyFiles=Null.NT.Copy
DelReg=DriverVer.DelReg
AddReg=DriverVer.AddReg

[PCI_NULL.NT.Services]
AddService = oxmep, 0x00000002, oxmep_Service_Inst


; ********************************************************************
; ********** Install OX16PCI954 unique bars internal UARTs ***********
; ********************************************************************
[PCI_9504]
DriverVer=02/07/2005, 5.1.0
CopyFiles=Drv.Copy, Inf.copy
AddReg=Drv.Reg
DelReg=DriverVer.DelReg
AddReg=DriverVer.AddReg

[PCI_9504.HW]
AddReg=PCI_9504.HW.AddReg
[PCI_9504.HW.AddReg]
HKR,,OxfordFlags,1,04,95,00,00

[PCI_9504.NT]
CopyFiles=Drv.NT.Copy, dll.NT.Copy
DelReg=DriverVer.DelReg
AddReg=DriverVer.AddReg

[PCI_9504.NT.HW]
AddReg=PCI_9504.NT.HW.AddReg
[PCI_9504.NT.HW.AddReg]
HKR,,"OxsemiDeviceType",    0x00010001, 0x95040000

[PCI_9504.NT.Services]
AddService = oxmf, 0x00000002, oxmf_Service_Inst


; ********************************************************************
; *********** Install OX16PCI952 unique bars internal UARTs **********
; ********************************************************************
[PCI_9505]
DriverVer=02/07/2005, 5.1.0
CopyFiles=Drv.Copy, Inf.copy
AddReg=Drv.Reg
DelReg=DriverVer.DelReg
AddReg=DriverVer.AddReg

[PCI_9505.HW]
AddReg=PCI_9505.HW.AddReg
[PCI_9505.HW.AddReg]
HKR,,OxfordFlags,1,05,95,00,00

[PCI_9505.NT]
CopyFiles=Drv.NT.Copy, dll.NT.Copy
DelReg=DriverVer.DelReg
AddReg=DriverVer.AddReg

[PCI_9505.NT.HW]
AddReg=PCI_9505.NT.HW.AddReg
[PCI_9505.NT.HW.AddReg]
HKR,,"OxsemiDeviceType",    0x00010001, 0x95050000

[PCI_9505.NT.Services]
AddService = oxmf, 0x00000002, oxmf_Service_Inst

; ********************************************************************
; ******************* Install OX16PCI954 internal UARTs **************
; ********************************************************************
[PCI_9501]
DriverVer=02/07/2005, 5.1.0
CopyFiles=Drv.Copy, Inf.copy
AddReg=Drv.Reg
DelReg=DriverVer.DelReg
AddReg=DriverVer.AddReg

[PCI_9501.HW]
AddReg=PCI_9501.HW.AddReg
[PCI_9501.HW.AddReg]
HKR,,OxfordFlags,1,01,95,00,00

[PCI_9501.NT]
CopyFiles=Drv.NT.Copy, dll.NT.Copy
DelReg=DriverVer.DelReg
AddReg=DriverVer.AddReg

[PCI_9501.NT.HW]
AddReg=PCI_9501.NT.HW.AddReg
[PCI_9501.NT.HW.AddReg]
HKR,,"OxsemiDeviceType",    0x00010001, 0x95010000

[PCI_9501.NT.Services]
AddService = oxmf, 0x00000002, oxmf_Service_Inst

; ***************************************************************
; ******************* Install OXCB950 UARTs *********************
; ***************************************************************
[PCI_950B]
DriverVer=02/07/2005, 5.1.0
CopyFiles=Drv.Copy, Inf.copy
AddReg=Drv.Reg
DelReg=DriverVer.DelReg
AddReg=DriverVer.AddReg

[PCI_950B.HW]
AddReg=PCI_950B.HW.AddReg
[PCI_950B.HW.AddReg]
HKR,,OxfordFlags,1,0B,95,00,00

[PCI_950B.NT]
CopyFiles=Drv.NT.Copy, dll.NT.Copy
DelReg=DriverVer.DelReg
AddReg=DriverVer.AddReg

[PCI_950B.NT.HW]
AddReg=PCI_950B.NT.HW.AddReg
[PCI_950B.NT.HW.AddReg]
HKR,,"OxsemiDeviceType",    0x00010001, 0x950B0000

[PCI_950B.NT.Services]
AddService = oxmf, 0x00000002, oxmf_Service_Inst

; ********************************************************************
;* ****************** Install OX16PCI954 dual UART *******************
; ********************************************************************
[PCI_950A]
DriverVer=02/07/2005, 5.1.0
CopyFiles=Drv.Copy, Inf.copy
AddReg=Drv.Reg
DelReg=DriverVer.DelReg
AddReg=DriverVer.AddReg

[PCI_950A.HW]
AddReg=PCI_950A.HW.AddReg

[PCI_950A.HW.AddReg]
HKR,, "OxsemiPortCount",    0x00010001, 2
HKR,,OxfordFlags,1,01,95,00,00

[PCI_950A.NT]
CopyFiles=Drv.NT.Copy, dll.NT.Copy
DelReg=DriverVer.DelReg
AddReg=DriverVer.AddReg

[PCI_950A.NT.HW]
AddReg=PCI_950A.NT.HW.AddReg
[PCI_950A.NT.HW.AddReg]
HKR,, "OxsemiDeviceType",   0x00010001, 0x95010000
HKR,, "OxsemiPortCount",    0x00010001, 2

[PCI_950A.NT.Services]
AddService = oxmf, 0x00000002, oxmf_Service_Inst


; ********************************************************************
; ****************** Install OX16PCI95x local bus UARTs **************
; ********************************************************************
[PCI_9511]
DriverVer=02/07/2005, 5.1.0
CopyFiles=Drv.Copy, Inf.Copy
AddReg=Drv.Reg
DelReg=DriverVer.DelReg
AddReg=DriverVer.AddReg

[PCI_9511.HW]
AddReg=PCI_9511.HW.AddReg
[PCI_9511.HW.AddReg]
HKR,,OxfordFlags,1,11,95,00,00

[PCI_9511.NT]
CopyFiles=Drv.NT.Copy, dll.NT.Copy
DelReg=DriverVer.DelReg
AddReg=DriverVer.AddReg

[PCI_9511.NT.HW]
AddReg=PCI_9511.NT.HW.AddReg
[PCI_9511.NT.HW.AddReg]
HKR,, "OxsemiDeviceType",   0x00010001, 0x95110000

[PCI_9511.NT.Services]
AddService = oxmf, 0x00000002, oxmf_Service_Inst

; ********************************************************************
; ****************** Install OX9162 local bus UARTs ******************
; ********************************************************************
[PCI_8401]
DriverVer=02/07/2005, 5.1.0
CopyFiles=Drv.Copy, Inf.Copy
AddReg=Drv.Reg
DelReg=DriverVer.DelReg
AddReg=DriverVer.AddReg

[PCI_8401.HW]
AddReg=PCI_8401.HW.AddReg
[PCI_8401.HW.AddReg]
HKR,,OxfordFlags,1,01,84,00,00

[PCI_8401.NT]
CopyFiles=Drv.NT.Copy, dll.NT.Copy
DelReg=DriverVer.DelReg
AddReg=DriverVer.AddReg

[PCI_8401.NT.HW]
AddReg=PCI_8401.NT.HW.AddReg
[PCI_8401.NT.HW.AddReg]
HKR,, "OxsemiDeviceType",   0x00010001, 0x84010000

[PCI_8401.NT.Services]
AddService = oxmf, 0x00000002, oxmf_Service_Inst

; ********************************************************************
; ****************** Install PCI952 internal UARTs *******************
; ********************************************************************
[PCI_9521]
DriverVer=02/07/2005, 5.1.0
CopyFiles=Drv.Copy, Inf.Copy
AddReg=Drv.Reg
DelReg=DriverVer.DelReg
AddReg=DriverVer.AddReg

[PCI_9521.HW]
AddReg=PCI_9521.HW.AddReg
[PCI_9521.HW.AddReg]
HKR,,OxfordFlags,1,01,84,00,00

[PCI_9521.NT]
CopyFiles=Drv.NT.Copy, dll.NT.Copy
DelReg=DriverVer.DelReg
AddReg=DriverVer.AddReg

[PCI_9521.NT.HW]
AddReg=PCI_9521.NT.HW.AddReg
[PCI_9521.NT.HW.AddReg]
HKR,,"OxsemiDeviceType",    0x00010001, 0x95210000
;HKR,,"OxsemiOverrideBase0",    0x00010001, 0x2F8
;HKR,,"OxsemiOverrideBase1",    0x00010001, 0x3E8

[PCI_9521.NT.Services]
AddService = oxmf, 0x00000002, oxmf_Service_Inst

; ********************************************************************
; ********************* Install CF950 CF mode ************************
; ********************************************************************
; This doesn't need the oxmf driver

; ********************************************************************
; ********************* Install CF950 PCMCIA mode ********************
; ********************************************************************
[CF_950]
DriverVer=02/07/2005, 5.1.0
CopyFiles=Drvcf.Copy, Inf.Copy
AddReg=Drvcf.Reg
DelReg=DriverVer.DelReg
AddReg=DriverVer.AddReg

[CF_950.NT.LogConfigOverride]
LogConfig = cfconfig.NT

[CF_950.HW]
AddReg=CF_950.HW.AddReg
[CF_950.HW.AddReg]
HKR,,OxfordFlags,1,CF,95,00,00
;HKR,,EnableIRQSharing,1,01,00,00,00 

[CF_950.NT]
CopyFiles=Drv.NT.Copy, dll.NT.Copy
DelReg=DriverVer.DelReg
AddReg=DriverVer.AddReg

[CF_950.NT.HW]
AddReg=CF_950.NT.HW.AddReg
[CF_950.NT.HW.AddReg]
HKR,, "OxsemiDeviceType",   0x00010001, 0x95CF0000

[CF_950.NT.Services]
AddService = oxmf, 0x00000002, oxmf_Service_Inst

[cfconfig]
ConfigPriority = HARDRECONFIG;
;IOConfig=DFF0-DFFF     ; Use this line to fix the base address
IOConfig=10@100-ffff%fff0(3ff::)    
IRQConfig=S:3,4,5,7,9,10,11,12,14,15
PcCardConfig=1(Z0)

[cfconfig.NT]              ; This is for CF950 PCMCIA mode in Win2000 only
ConfigPriority = HARDRECONFIG;
;IOConfig=DFF0-DFFF     ; Use this line to fix the base address
IOConfig=10@100-ffff%fff0(3ff::)    
IRQConfig=3,4,5,7,9,10,11,12,14,15
PcCardConfig=1(Z0)

; ****************** copyfiles, registry etc.
[Drv.Copy]
oxmf.vxd

[Drvcf.Copy]
oxmfcf.vxd

[Drv.NT.Copy]
oxmf.sys
oxmfuf.sys
oxser.sys

[Null.NT.Copy]
oxmep.sys

[dll.NT.Copy]
oxui.dll

[Inf.Copy]
oxpci.inf
oxpci2.inf

[Drv.Reg]
HKR,,DevLoader,0,oxmf.vxd
HKR,,DriverDesc,0,"OX16PCI95x bus enumerator"
HKR,,EnableIRQSharing,1,01,00,00,00 

[Drvcf.Reg]
HKR,,DevLoader,0,oxmfcf.vxd
HKR,,DriverDesc,0,"OXMF bus enumerator"
HKR,,EnableIRQSharing,1,01,00,00,00 

[oxmf_Service_Inst]
DisplayName    = %oxmf_driverdescstring%
ServiceType    = 1               ; SERVICE_KERNEL_DRIVER
StartType      = 1               ; SERVICE_SYSTEM_START (this driver may do detection)
ErrorControl   = 0               ; SERVICE_ERROR_IGNORE
ServiceBinary  = %12%\oxmf.sys
LoadOrderGroup = Extended base

[oxmep_Service_Inst]
DisplayName    = %oxmep_driverdescstring%
ServiceType    = 1               ; SERVICE_KERNEL_DRIVER
StartType      = 1               ; SERVICE_SYSTEM_START (this driver may do detection)
ErrorControl   = 0               ; SERVICE_ERROR_IGNORE
ServiceBinary  = %12%\oxmep.sys
LoadOrderGroup = Extended base

[DriverVer.AddReg]
HKR,,Ver,,%OXPCIVersion%

[DriverVer.DelReg]
HKR,,Ver

[SourceDisksNames]
1=%drvdisk%,,

[SourceDisksFiles]
oxmf.vxd=1
oxmfcf.vxd=1
oxmf.sys=1
oxmfuf.sys=1
oxmep.sys=1
oxpci.inf=1
oxpci2.inf=1
oxser.sys=1
oxui.dll=1

[Strings]
mfg                                     = "(Enhanced ports)"
MF_ClassName                            = "Multifunction adapters"
drvDisk                                 = "High-performance ports driver disk"
OXPCIVersion                            = "5.1.0"
oxmf_driverdescstring                   = "OXPCI Bus enumerator"
oxmep_driverdescstring                  = "OXPCI support driver"

PCI\VEN_1415&DEV_9504.DeviceDesc        = "OX16PCI954 PCI UARTs (unique bars)"
PCI\VEN_1415&DEV_9505.DeviceDesc        = "OX16PCI952 PCI UARTs (unique bars)"
PCI\VEN_1415&DEV_9501.DeviceDesc        = "OX16PCI954 PCI UARTs"
PCI\VEN_1415&DEV_9511.DeviceDesc        = "OX16PCI95x PCI bridge"
PCI\VEN_1415&DEV_9512.DeviceDesc        = "OX16PCI954 32-bit PCI bridge" 
PCI\VEN_1415&DEV_950A.DeviceDesc        = "OX16PCI954 Dual PCI UART"        
PCI\VEN_1415&DEV_950B.DeviceDesc        = "OXCB950 Cardbus UART"
PCI\VEN_1415&DEV_8401.DeviceDesc        = "OX9162 PCI bridge"
PCI\VEN_1415&DEV_9521.DeviceDesc        = "OX16PCI952 PCI UARTs"
PCI\VEN_1415&DEV_9500.DeviceDesc        = "PCI Function"
PCI\VEN_1415&DEV_9510.DeviceDesc        = "PCI Function"
Card0.DeviceDesc                        = "PCcard OX16CF950"
