;********************************************************************
;*     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=07/22/2004, 4.0.9

[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=07/11/2003, 4.0.8
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=07/11/2003, 4.0.8
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=07/11/2003, 4.0.8
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=07/11/2003, 4.0.8
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=07/11/2003, 4.0.8
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=07/11/2003, 4.0.8
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=07/11/2003, 4.0.8
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=07/11/2003, 4.0.8
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=07/11/2003, 4.0.8
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=07/11/2003, 4.0.8
CopyFiles=Drvcf.Copy, Inf.Copy
AddReg=Drvcf.Reg
DelReg=DriverVer.DelReg
AddReg=DriverVer.AddReg

[CF_950.NT.LogConfigOverride]
LogConfig = cfconfig

[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]			; This is for CF950 PCMCIA mode in Win2000 only
;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)


; ****************** 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
oxser.sys=1
oxmep.sys=1
oxui.dll=1
oxpci.inf=1
oxpci2.inf=1

[Strings]
mfg                                     = "(Enhanced ports)"
MF_ClassName				= "Multifunction adapters"
drvDisk					= "High-performance ports driver disk"
OXPCIVersion				= "4.0.8"
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"


Card0.DeviceDesc			= "PCcard OX16CF950"

PCI\VEN_1415&DEV_9500.DeviceDesc="PCI Function"
PCI\VEN_1415&DEV_9510.DeviceDesc="PCI Function"
