;*******************************************************************************
;*
;*  File:                     Oxser.inf
:*
;*  Copyright (C) 2006 Oxford Semiconductor Ltd.
;*
;*  Description: Installs serial port driver for OX16C95x only (Win2K/XP)
;*
;*
;*******************************************************************************

[version]
signature="$CHICAGO$"
Class=Ports
ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
Provider=%mfg%
CatalogFile=Oxser.cat       ; .cat for Win 95/98/Me binaries
DriverVer=01/24/2007, 6.5.1.5



[DestinationDirs]
Drv.NT.Copy     = 12        ;DIRID_DRIVERS
Drv.NT64.Copy   = 12        ;DIRID_DRIVERS

dll.NT.Copy     = 11        ;LDID_SYS
dll.NT64.Copy   = 11        ;LDID_SYS



;-------------------------------------------------------------------------------
;                           Install class "Ports"
;-------------------------------------------------------------------------------
[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

[ControlFlags]
ExcludeFromSelect=*PNP0501



;-------------------------------------------------------------------------------
;                         Supporting Device List
;-------------------------------------------------------------------------------
; CF950:
;     PCMCIA\CF_CARD-GENERIC-A569      - CF950 proeuction EEPROM
;     PCMCIA\CF_CARD-GENERIC-DDEA      - CF950 wirh NO EEPROM
; CFU950:
;     PCMCIA\CF_CARD-GENERIC-DEV0-F698 - cfu950_multi_level_level_3v3_gold.oxi
;     PCMCIA\CF_CARD-GENERIC-DEV0-710C - cfu950_multi_level_level_5v_gold.oxi
;     PCMCIA\CF_CARD-GENERIC-DEV0-2987 - cfu950_multi_level_level_3v3
;                                            _500mA_gold.oxi
;
;     PCMCIA\CF_CARD-GENERIC-DEV0-FBC1 - cfu950_multi_level_level_3v3_ce.oxi
;     PCMCIA\CF_CARD-GENERIC-DEV0-4708 - cfu950_multi_level_level_5v_ce.oxi
;     PCMCIA\CF_CARD-GENERIC-DEV0-94BF - cfu950_multi_level_level_3v3_500mA
;                                            _ce.oxi
;
;                                        (Production EEPROM)
;     PCMCIA\CF_CARD-GENERIC-1B82      - cfu950-uart-level_3v3_gold.oxi
;     PCMCIA\CF_CARD-GENERIC-69E0      - cfu950-uart-level_5v_gold.oxi


[Manufacturer]
%mfg%=mfg,NT,NTAMD64

;-------------------------------------------------------------------------------
;                              Win2K and 98
;-------------------------------------------------------------------------------
[mfg]
%Card0.DeviceDesc%   =  ComPortCF,     PCMCIA\CF_CARD-GENERIC-A569
%Card0.DeviceDesc%   =  ComPortCF,     PCMCIA\CF_CARD-GENERIC-DDEA
%CardX.DeviceDesc%   =  ComPortCFU950, PCMCIA\CF_CARD-GENERIC-DEV0-F698
%CardX.DeviceDesc%   =  ComPortCFU950, PCMCIA\CF_CARD-GENERIC-DEV0-710C
%CardX.DeviceDesc%   =  ComPortCFU950, PCMCIA\CF_CARD-GENERIC-DEV0-2987
%CardX.DeviceDesc%   =  ComPortCFU950, PCMCIA\CF_CARD-GENERIC-DEV0-FBC1
%CardX.DeviceDesc%   =  ComPortCFU950, PCMCIA\CF_CARD-GENERIC-DEV0-4708
%CardX.DeviceDesc%   =  ComPortCFU950, PCMCIA\CF_CARD-GENERIC-DEV0-94BF
%CardX.DeviceDesc%   =  ComPortCFU950, PCMCIA\CF_CARD-GENERIC-DEV0-3155
%CardX.DeviceDesc%   =  ComPortCFU950, PCMCIA\CF_CARD-GENERIC-69E0
%CardX.DeviceDesc%   =  ComPortCFU950, PCMCIA\CF_CARD-GENERIC-1B82


;-------------------------------------------------------------------------------
;                                WinXP
;-------------------------------------------------------------------------------
[mfg.NT]
%Card0.DeviceDesc% = ComPortCF,        PCMCIA\CF_CARD-GENERIC-A569
%Card0.DeviceDesc% = ComPortCF,        PCMCIA\CF_CARD-GENERIC-DDEA
                                       
%CardX.DeviceDesc% = ComPortCFU950,    PCMCIA\CF_CARD-GENERIC-DEV0-F698
%CardX.DeviceDesc% = ComPortCFU950,    PCMCIA\CF_CARD-GENERIC-DEV0-710C
%CardX.DeviceDesc% = ComPortCFU950,    PCMCIA\CF_CARD-GENERIC-DEV0-2987
%CardX.DeviceDesc% = ComPortCFU950,    PCMCIA\CF_CARD-GENERIC-DEV0-FBC1
%CardX.DeviceDesc% = ComPortCFU950,    PCMCIA\CF_CARD-GENERIC-DEV0-4708
%CardX.DeviceDesc% = ComPortCFU950,    PCMCIA\CF_CARD-GENERIC-DEV0-94BF
%CardX.DeviceDesc% = ComPortCFU950,    PCMCIA\CF_CARD-GENERIC-DEV0-3155
%CardX.DeviceDesc% = ComPortCFU950,    PCMCIA\CF_CARD-GENERIC-69E0
%CardX.DeviceDesc% = ComPortCFU950,    PCMCIA\CF_CARD-GENERIC-1B82


;-------------------------------------------------------------------------------
;                             WinXP 64-bit
;-------------------------------------------------------------------------------
[mfg.NTAMD64]
%Card0.DeviceDesc% = ComPortCF,     PCMCIA\CF_CARD-GENERIC-A569
%Card0.DeviceDesc% = ComPortCF,     PCMCIA\CF_CARD-GENERIC-DDEA

%CardX.DeviceDesc% = ComPortCFU950, PCMCIA\CF_CARD-GENERIC-DEV0-F698
%CardX.DeviceDesc% = ComPortCFU950, PCMCIA\CF_CARD-GENERIC-DEV0-710C
%CardX.DeviceDesc% = ComPortCFU950, PCMCIA\CF_CARD-GENERIC-DEV0-2987
%CardX.DeviceDesc% = ComPortCFU950, PCMCIA\CF_CARD-GENERIC-DEV0-FBC1
%CardX.DeviceDesc% = ComPortCFU950, PCMCIA\CF_CARD-GENERIC-DEV0-4708
%CardX.DeviceDesc% = ComPortCFU950, PCMCIA\CF_CARD-GENERIC-DEV0-94BF
%CardX.DeviceDesc% = ComPortCFU950, PCMCIA\CF_CARD-GENERIC-DEV0-3155
%CardX.DeviceDesc% = ComPortCFU950, PCMCIA\CF_CARD-GENERIC-69E0
%CardX.DeviceDesc% = ComPortCFU950, PCMCIA\CF_CARD-GENERIC-1B82




;-------------------------------------------------------------------------------
;                                [ComPortCF]
;-------------------------------------------------------------------------------
; Add sections for CF950, compact flash mode 
[ComPortCF.NT]
CopyFiles = Drv.NT.Copy, dll.NT.Copy
AddReg    = ComPort.NT.AddReg, ComPortCF.NT.AddReg

[ComPortCF.NTAMD64]
CopyFiles = Drv.NT64.Copy, dll.NT64.Copy
AddReg    = ComPort.NT.AddReg, ComPortCF.NT.AddReg


[ComPortCF.NT.HW]
AddReg    = ComPortCF.NT.HW.AddReg

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


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

[ComPortCF.NTAMD64.LogConfigOverride]
LogConfig = cfconfig.NT


[ComPortCF.NT.Services]
AddService = oxser, 0x00000002, oxser_Service_Inst, oxser_EventLog_Inst
AddService = Serenum,,Serenum_Service_Inst

[ComPortCF.NTAMD64.Services]
AddService = oxser, 0x00000002, oxser_Service_Inst, oxser_EventLog_Inst
AddService = Serenum,,Serenum_Service_Inst



;-------------------------------------------------------------------------------
;                             [ComPortCFU950]
;-------------------------------------------------------------------------------
; Add sections for CF950, compact flash mode 
[ComPortCFU950.NT]
CopyFiles = Drv.NT.Copy, dll.NT.Copy
AddReg    = ComPort.NT.AddReg, ComPortCF.NT.AddReg

[ComPortCFU950.NTAMD64]
CopyFiles = Drv.NT64.Copy, dll.NT64.Copy
AddReg    = ComPort.NT.AddReg, ComPortCF.NT.AddReg


[ComPortCFU950.NT.HW]
AddReg    = ComPortCF.NT.HW.AddReg

[ComPortCFU950.NTAMD64.HW]
AddReg    = ComPortCF.NT.HW.AddReg


[ComPortCFU950.NT.Services]
AddService = oxser, 0x00000002, oxser_Service_Inst, oxser_EventLog_Inst
AddService = Serenum,,Serenum_Service_Inst

[ComPortCFU950.NTAMD64.Services]
AddService = oxser, 0x00000002, oxser_Service_Inst, oxser_EventLog_Inst
AddService = Serenum,,Serenum_Service_Inst



;-------------------------------------------------------------------------------
;                                AddReg
;-------------------------------------------------------------------------------
; This section is common for ComPort, ComportCF & ComportCFU
;-------------------------------------------------------------------------------
[ComPort.NT.AddReg]
HKR,,PortSubClass,1,01

[ComPortCF.NT.AddReg]
HKR,,EnumPropPages32,,"oxui.dll,SerialPropPageProvider"

[ComPort.NT.HW.AddReg]
HKR,, "UpperFilters",0x00010000, "serenum"   ;MULTI_SZ
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,,"DisablePowerManagement", 0x00010001, 0

[ComPortCF.NT.HW.AddReg]
HKR,, "UpperFilters",0x00010000, "serenum"   ;MULTI_SZ
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,,"DisablePowerManagement", 0x00010001, 0



;-------------------------------------------------------------------------------
;                           Copy file Section 
;-------------------------------------------------------------------------------
; This section is common for ComPort, ComportCF & ComportCFU
;-------------------------------------------------------------------------------
[Drv.NT.Copy]
oxser.sys

[dll.NT.Copy]
oxui.dll

[Drv.NT64.Copy]
oxser.sys

[dll.NT64.Copy]
oxui.dll



;-------------------------------------------------------------------------------
;                         Service Install Section
;-------------------------------------------------------------------------------
; This section is common for ComPort, ComportCF & ComportCFU
;-------------------------------------------------------------------------------
[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


[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



;-------------------------------------------------------------------------------
;                            LogConfig data
;-------------------------------------------------------------------------------
; This section is common for ComportCF & ComportCFU
;-------------------------------------------------------------------------------
[cfconfig]
;IOConfig=DFF0-DFFF     ; Use this line to fix the base address
ConfigPriority = NORMAL
IOConfig=10@100-ffff%fff0(3ff::)    
IRQConfig=S:3,4,5,7,9,10,11,12,14,15
PcCardConfig=4

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

[cfuconfig.NT]           ; This is for CFU950 comnpact flash mode
ConfigPriority = NORMAL
IOConfig=40@100-ffff
;IOConfig=10@100-ffff
IRQConfig=3,4,5,7,9,10,11,12,14,15
MemConfig=800@0-FFFFFFFF%FFFFFF800



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

[SourceDisksNames.amd64]
1=%DiskDescription_amd64%

[SourceDisksFiles.x86]
oxser.vxd   =1, x86
oxserui.dll =1, x86
oxser.sys   =1, x86
oxui.dll    =1, x86

[SourceDisksFiles.amd64]
oxser.vxd   =1, amd64
oxserui.dll =1, amd64
oxser.sys   =1, amd64
oxui.dll    =1, amd64



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

ComPort.DeviceDesc        = "OX16C95x Communications port"
Card0.DeviceDesc          = "Compact Flash OX16CF950"

CardX.DeviceDesc          = "Compact Flash OX16CFU950"

oxser.SVCDESC             = "OX16C95x Serial port driver"
Serenum.SVCDESC           = "Serenum Filter Driver"
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
