;*******************************************************************************
;*
;*  File:                     OxPCI2.inf
:*
;*  Copyright (C) 2006 Oxford Semiconductor Ltd.
;*
;*  Description: Installs the serial ports behind a PCI bridge
;*
;*
;*******************************************************************************

[Version]
signature="$CHICAGO$"
Class=Ports
ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
Provider=%mfg%
CatalogFile=Oxpci2.cat
DriverVer  =01/24/2007, 6.5.1.5


[DestinationDirs]




;-------------------------------------------------------------------------------
;                             Install Port Class                                
;-------------------------------------------------------------------------------
[ClassInstall]
AddReg=PortsClass.AddReg

[PortsClass.AddReg]
HKR,,,,%PortsClassName%

[ClassInstall32.NT]
AddReg=PortsClass.NT.AddReg

[PortsClass.NT.AddReg]
HKR,,,,%PortsClassName%
HKR,,Icon,,"-23"
HKR,,Installer32,,"MsPorts.Dll,PortsClassInstaller"

[ClassInstall32.NTAMD64]
AddReg=PortsClass.NT.AddReg



;-------------------------------------------------------------------------------
;                                Drivers
;-------------------------------------------------------------------------------
[Manufacturer]
%mfg%=mfg,NTAMD64

[mfg]
%ComPort.DeviceDesc%  = ComPort, OXPCIMF\*PNP0501
%ComPort.DeviceDesc%  = ComPort, OX16PCI954\*PNP0501
%ComPort.DeviceDesc%  = ComPort, OX9162\*PNP0501
%ComPort.DeviceDesc%  = ComPort, OXPCIMF958\*PNP0501
%ComPort.DeviceDesc%  = ComPort, OXCB950\*PNP0501
%ComPort.DeviceDesc%  = ComPort, OXMF\*PNP0501
%ComPort.DeviceDesc2% = ComPort, OXMFCF\*PNP0501

[mfg.NTAMD64]
%ComPort.DeviceDesc%  = ComPort, OXPCIMF\*PNP0501
%ComPort.DeviceDesc%  = ComPort, OX16PCI954\*PNP0501
%ComPort.DeviceDesc%  = ComPort, OX9162\*PNP0501
%ComPort.DeviceDesc%  = ComPort, OXPCIMF958\*PNP0501
%ComPort.DeviceDesc%  = ComPort, OXCB950\*PNP0501
%ComPort.DeviceDesc%  = ComPort, OXMF\*PNP0501
%ComPort.DeviceDesc2% = ComPort, OXMFCF\*PNP0501

[ControlFlags]
ExcludeFromSelect = OXPCIMF\*PNP0501
ExcludeFromSelect = OX16PCI954\*PNP0501
ExcludeFromSelect = OX9162\*PNP0501
ExcludeFromSelect = OXCB950\*PNP0501



;-------------------------------------------------------------------------------
;                           Install Serial Ports
;-------------------------------------------------------------------------------
[ComPort.NT]
AddReg     = ComPort.AddReg, ComPort.NT.AddReg

[ComPort.NTAMD64]
AddReg     = ComPort.AddReg, ComPort.NT.AddReg


[ComPort.NT.HW]
AddReg     = ComPort.NT.HW.AddReg

[ComPort.NTAMD64.HW]
AddReg     = ComPort.NT.HW.AddReg


[ComPort.NT.Services]
AddService = oxser, 0x00000002, oxser_Service_Inst, oxser_EventLog_Inst
AddService = Oxmfuf,,Oxmfuf_Service_Inst
AddService = Serenum,,Serenum_Service_Inst

[ComPort.NTAMD64.Services]
AddService = oxser, 0x00000002, oxser_Service_Inst, oxser_EventLog_Inst
AddService = Oxmfuf,,Oxmfuf_Service_Inst
AddService = Serenum,,Serenum_Service_Inst


[ComPort.AddReg]
HKR,,PortSubClass,1,01


[ComPort.NT.AddReg]
HKR,,EnumPropPages32,,"oxui.dll,SerialPropPageProvider"
HKLM,%ParametersSubKey%, OxfordFlags,   0x00010001,     0


[ComPort.NT.HW.AddReg]
HKR,,"UpperFilters", 0x00010000, "serenum"  ;;MULTI_SZ
HKR,,"UpperFilters", 0x00010008, "oxmfuf"   ;;APPEND
HKR,,"95xSpecific",  0x00000001,\
01,00,00,00,00,00,c9,16,20,00,01,00,04,64,10,70,08,00,00,00,00,40,00,10
HKR,,"ClockRate",    0x00010001, 1843200
HKR,,"MultiportProperties",0x00010001, 1





;-------------------------------------------------------------------------------
;                        Service Install sections
;-------------------------------------------------------------------------------
[oxser_Service_Inst]
DisplayName    = %oxser.SVCDESC%
ServiceType    = 1               ; SERVICE_KERNEL_DRIVER
StartType      = 3               ; SERVICE_DEMAND_START
ErrorControl   = 0               ; SERVICE_ERROR_IGNORE
ServiceBinary  = %12%\oxser.sys
LoadOrderGroup = Extended base


[Serenum_Service_Inst]
DisplayName    = %Serenum.SVCDESC%
ServiceType    = 1               ; SERVICE_KERNEL_DRIVER
StartType      = 3               ; SERVICE_DEMAND_START
ErrorControl   = 1               ; SERVICE_ERROR_NORMAL
ServiceBinary  = %12%\serenum.sys
LoadOrderGroup = PNP Filter


[Oxmfuf_Service_Inst]
DisplayName    = %Oxmfuf.SVCDESC%
ServiceType    = 1               ; SERVICE_KERNEL_DRIVER
StartType      = 3               ; SERVICE_DEMAND_START
ErrorControl   = 1               ; SERVICE_ERROR_NORMAL
ServiceBinary  = %12%\oxmfuf.sys
LoadOrderGroup = PNP Filter


[oxser_EventLog_Inst]
AddReg = oxser_EventLog_AddReg


[oxser_EventLog_AddReg]
HKR,,EventMessageFile,0x00020000,\
"%%SystemRoot%%\System32\IoLogMsg.dll;%%SystemRoot%%\System32\drivers\oxser.sys"
HKR,,TypesSupported,0x00010001,7



;-------------------------------------------------------------------------------
;                     SourceDisksName & SourceDiskFiles 
;-------------------------------------------------------------------------------
[SourceDisksNames.x86]
1=%DiskDescription_x86%

[SourceDisksNames.amd64]
1=%DiskDescription_amd64%

[SourceDisksFiles.x86]
;

[SourceDisksFiles.amd64]
;


;-------------------------------------------------------------------------------
;                                 Strings
;-------------------------------------------------------------------------------
[Strings]
mfg                     = "(Enhanced ports)"
PortsClassName          = "Ports (COM & LPT)"
drvDisk                 = "High-performance ports driver disk"

ComPort.DeviceDesc      = "PCI Communications Port"
ComPort.DeviceDesc2     = "High Speed Communications Port"

oxser.SVCDESC           = "OX16C95x Serial port driver"
Serenum.SVCDESC         = "Serenum Filter Driver"
Oxmfuf.SVCDESC          = "Filter driver for OX16PCI95x ports"
ParametersSubKey        = "SYSTEM\CurrentControlSet\Services\oxser\Parameters"

DiskDescription_x86     = "Oxford Semiconductor UART 32-bit driver disk"
DiskDescription_amd64   = "Oxford Semiconductor UART 64-bit driver disk"

REG_SZ            = 0x00000000
REG_MULTI_SZ      = 0x00010000
REG_EXPAND_SE     = 0x00020000
REG_DWORD         = 0x00010001
