;
;Module Name:
;
;   FuncDrv_EUART.inf
;
;Abstract:
;   this is a EUART serial driver.
;
;   A prototype inf created by GenINF.
;   this is a inx file modified from a inf file.
;
;Copyright (c) OEM Corporation.  All rights reserved.
 
[Version] 
Signature = "$Windows NT$"
Class=Ports
ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
Provider=%OEM%
CatalogFile=RDC_EUART_422485.cat
DriverVer=11/11/2016,6.1.7600.16385
Marker=RDC
Revision=0.01

; ===== Class Sections for installing a new class ==============
;[ClassInstall32]
;AddReg=LINClassReg
;
;[LINClassReg]
;HKR,,,,%ClassName%
;HKR,,Icon,,"-9"
;HKR,,DeviceType,0x10001,4                       ; FILE_DEVICE_CONTROLLER
;HKR,,DeviceCharacteristics,0x10001,0x100        ; Use same security checks on relative opens
;HKR,,Security,,"D:P(A;;GA;;;BA)(A;;GA;;;SY)"    ; Allow generic-all access to Built-in administrators and Local system 
; HKR,,Exclusive,0x10001,1                        ; an exclusive device
;
;===============================================================

;A ControlFlags section identifies devices for which Setup should take certain unique actions during installation.
[ControlFlags]
;Removes all from certain user interface displays, from which a user is expected to select a particular device for installation.
ExcludeFromSelect=*

[DestinationDirs] 
FuncDrv_EUART_Inst.CopyFiles = 12 
FuncDrv_EUART_Inst.PropPageCopy = 11

[SourceDisksNames]
0=%DiskDesc%

[SourceDisksFiles]
FuncDrv_EUART.sys=0,,
EUART_DPP.dll=0,,

; ========== Driver installation Sections ============

[Manufacturer] 
%OEM%=OEM,NTx86

[OEM.NTx86]
%DrvDesc0%=FuncDrv_EUART_Inst,RDCEUART422485\00
%DrvDesc1%=FuncDrv_EUART_Inst,RDCEUART422485\01
%DrvDesc2%=FuncDrv_EUART_Inst,RDCEUART422485\02
%DrvDesc3%=FuncDrv_EUART_Inst,RDCEUART422485\03
%DrvDesc4%=FuncDrv_EUART_Inst,RDCEUART422485\04
%DrvDesc5%=FuncDrv_EUART_Inst,RDCEUART422485\05
%DrvDesc6%=FuncDrv_EUART_Inst,RDCEUART422485\06
%DrvDesc7%=FuncDrv_EUART_Inst,RDCEUART422485\07


[FuncDrv_EUART_Inst] 
CopyFiles = FuncDrv_EUART_Inst.CopyFiles, FuncDrv_EUART_Inst.PropPageCopy
AddReg = FuncDrv_EUART_Inst.AddReg

; specify the addreg and copy files of the serenum.sys
;Include=msports.inf
;Needs=SerialEnumerator.NT

[FuncDrv_EUART_Inst.CopyFiles] 
FuncDrv_EUART.sys

[FuncDrv_EUART_Inst.PropPageCopy]
EUART_DPP.dll

[FuncDrv_EUART_Inst.AddReg]
; Let Ports class know this is a serial port
HKR,,PortSubClass,1,01

; specify a device-specific property sheet provider.
;HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
; DPP => Devcie Property Provider
HKR,,EnumPropPages32,,"EUART_DPP.dll,SerialPropertyPageProvider"

; ========== Driver installation HW Sections ============

[FuncDrv_EUART_Inst.HW]
AddReg=FuncDrv_EUART_HW_Inst.AddReg

[FuncDrv_EUART_HW_Inst.AddReg]
; Allow generic-all access
HKR,,Security,,"D:P(A;;GA;;;SY)(A;;GRGWGX;;;BA)(A;;GRGW;;;WD)(A;;GR;;;RC)"
; specify the UpperFilters driver.
;HKR,,UpperFilters,0x00010000,serenum

; specify VID DID PID


; specify ClockRate
HKR,,ClockRate,0x00010001,14745600  ; 921600
;HKR,,ClockRate,0x00010001,1843200  ; legacy mode

HKR,,ClockDIV,0x00010001,16

; the following is the setting of the driver
HKR,,RxFIFO,0x00010001,52
HKR,,TxFIFO,0x00010001,1

HKR,,"EnableFlowControlTesting",0x00010001,0

HKR,,"RSType",0x00010001,5
HKR,,"MaxBaudRate",0x00010001,921600
HKR,,"SupportedBaudRate",0x00010001,0x1077FFFF
HKR,,"SupportedDataBits",0x00010001,0x000F
HKR,,"SupportedParity",0x00010001,0x001F
HKR,,"SupportedStopBits",0x00010001,0x0007
HKR,,"SupportedFlowControl",0x00010001,0x02
HKR,,"TransmissionUnit",0x00010001,14
HKR,,"InteralRxBufferSize",0x00010001,8192
HKR,,"PortType",0x00010001,2
HKR,,"HalfDuplex485",0x00010001,0
HKR,,"HalfDuplex485RequestTurnAroundTime",0x00010001,0
HKR,,"EnhancedThroughput",0x00010001,1

HKR,,"HUTOME",0x00010001,0

; ========== Driver installation Services Sections ============

[FuncDrv_EUART_Inst.Services]
AddService = FuncDrv_EUART,0x00000002,FuncDrv_EUART_Service_Inst, FuncDrv_EUART_EventLog_Inst 

; install the serenum service itself
;Include=msports.inf
;Needs=SerialEnumerator.NT.Services

[FuncDrv_EUART_Service_Inst]
DisplayName    = %ServiceDisplayName%
ServiceType = %SERVICE_KERNEL_DRIVER% 
StartType = %SERVICE_DEMAND_START% 
ErrorControl = %SERVICE_ERROR_IGNORE% 
ServiceBinary = %12%\FuncDrv_EUART.sys 

[FuncDrv_EUART_EventLog_Inst] 
AddReg = FuncDrv_EUART_EventLog_Inst.AddReg 
 
[FuncDrv_EUART_EventLog_Inst.AddReg] 
HKR,,EventMessageFile,%REG_EXPAND_SZ%,"%%SystemRoot%%\System32\IoLogMsg.dll" 
HKR,,TypesSupported,%REG_DWORD%,7

; ========== KMDF Coinstaller installation Sections ============
[DestinationDirs]
KMDF_CoInstaller_CopyFiles = 11

[SourceDisksFiles]
WdfCoInstaller01009.dll=0

[FuncDrv_EUART_Inst.CoInstallers]
AddReg=KMDF_CoInstaller_AddReg
CopyFiles=KMDF_CoInstaller_CopyFiles

[KMDF_CoInstaller_AddReg]
HKR,,CoInstallers32,0x00010000, "WdfCoInstaller01009.dll,WdfCoInstaller"

[KMDF_CoInstaller_CopyFiles]
WdfCoInstaller01009.dll

[FuncDrv_EUART_Inst.Wdf]
KmdfService = FuncDrv_EUART, KMDF_wdfsect

[KMDF_wdfsect]
KmdfLibraryVersion = 1.9

;===============================================================


[Strings] 

;  *******Localizable Strings******* 
OEM= "RDC Semiconductor Co., Ltd."
DiskDesc= "Driver Directory(or Disc)"
DrvDesc0= "PCI Serial Port 422485 P0"
DrvDesc1= "PCI Serial Port 422485 P1"
DrvDesc2= "PCI Serial Port 422485 P2"
DrvDesc3= "PCI Serial Port 422485 P3"
DrvDesc4= "PCI Serial Port 422485 P4"
DrvDesc5= "PCI Serial Port 422485 P5"
DrvDesc6= "PCI Serial Port 422485 P6"
DrvDesc7= "PCI Serial Port 422485 P7"
;ClassName= "EUART Controller"
ServiceDisplayName= "Serial Driver For EUART"

;  *******Non Localizable Strings******* 

SERVICE_BOOT_START = 0x0 
SERVICE_SYSTEM_START = 0x1 
SERVICE_AUTO_START = 0x2 
SERVICE_DEMAND_START = 0x3 
SERVICE_DISABLED = 0x4 

SERVICE_KERNEL_DRIVER = 0x1 
SERVICE_ERROR_IGNORE = 0x0 
SERVICE_ERROR_NORMAL = 0x1 
SERVICE_ERROR_SEVERE = 0x2 
SERVICE_ERROR_CRITICAL = 0x3 

REG_EXPAND_SZ = 0x00020000 
REG_DWORD = 0x00010001 
