;
; NxpNfpProvider.inf
; Copyright (c), NXP Semiconductors
;

[Version]
Signature="$WINDOWS NT$"
Class=Proximity
ClassGuid={5630831C-06C9-4856-B327-F5D32586E060}
Provider=%NXP%
CatalogFile=NxpNfpProvider.cat
DriverVer=10/19/2015,10.0.1.0

[Manufacturer]
%NXPWUDF%=Standard,NTAMD64.10.0,NTx86.10.0,NTx86,NTAMD64

[Standard.NTAMD64.10.0]
%NxpNfpProviderName%=NxpNfpProvider_Install_Win10,ACPI\NXP1000
%NxpNfpProviderName%=NxpNfpProvider_Install_Win10,ACPI\NXP1001
%NxpNfpProviderName%=NxpNfpProvider_Install_Win10,ACPI\NXP1002
%NxpNfpProviderName%=NxpNfpProvider_Install_Win10,ACPI\NXP1003
%NxpNfpProviderName%=NxpNfpProvider_Install_Win10,ACPI\NXP7471
%NxpNfpProviderName%=NxpNfpProvider_Install_Win10,ACPI\NXP8013
%NxpNfpProviderName%=NxpNfpProvider_Install_Win10,{55BC022C-955B-4D87-A88D-D3E68CBEB2F4}\CT_27B961DB-3057-49BB-BD0D-ACA9FD8FF697


[Standard.NTx86.10.0]
%NxpNfpProviderName%=NxpNfpProvider_Install_Win10,ACPI\NXP1000
%NxpNfpProviderName%=NxpNfpProvider_Install_Win10,ACPI\NXP1001
%NxpNfpProviderName%=NxpNfpProvider_Install_Win10,ACPI\NXP1002
%NxpNfpProviderName%=NxpNfpProvider_Install_Win10,ACPI\NXP1003
%NxpNfpProviderName%=NxpNfpProvider_Install_Win10,ACPI\NXP7471
%NxpNfpProviderName%=NxpNfpProvider_Install_Win10,ACPI\NXP8013
%NxpNfpProviderName%=NxpNfpProvider_Install_Win10,{55BC022C-955B-4D87-A88D-D3E68CBEB2F4}\CT_27B961DB-3057-49BB-BD0D-ACA9FD8FF697


[Standard.NTx86]
%NxpNfpProviderName%=NxpNfpProvider_Install,ACPI\NXP1000
%NxpNfpProviderName%=NxpNfpProvider_Install,ACPI\NXP1001
%NxpNfpProviderName%=NxpNfpProvider_Install,ACPI\NXP1002
%NxpNfpProviderName%=NxpNfpProvider_Install,ACPI\NXP1003
%NxpNfpProviderName%=NxpNfpProvider_Install,ACPI\NXP7471
%NxpNfpProviderName%=NxpNfpProvider_Install,ACPI\NXP8013
%NxpNfpProviderName%=NxpNfpProvider_Install,{55BC022C-955B-4D87-A88D-D3E68CBEB2F4}\CT_27B961DB-3057-49BB-BD0D-ACA9FD8FF697


[Standard.NTAMD64]
%NxpNfpProviderName%=NxpNfpProvider_Install,ACPI\NXP1000
%NxpNfpProviderName%=NxpNfpProvider_Install,ACPI\NXP1001
%NxpNfpProviderName%=NxpNfpProvider_Install,ACPI\NXP1002
%NxpNfpProviderName%=NxpNfpProvider_Install,ACPI\NXP1003
%NxpNfpProviderName%=NxpNfpProvider_Install,ACPI\NXP7471
%NxpNfpProviderName%=NxpNfpProvider_Install,ACPI\NXP8013
%NxpNfpProviderName%=NxpNfpProvider_Install,{55BC022C-955B-4D87-A88D-D3E68CBEB2F4}\CT_27B961DB-3057-49BB-BD0D-ACA9FD8FF697


[SourceDisksFiles.NTAMD64.10.0]
NxpNfpProvider.dll=1
FwlibNpc_1x.dll=1
FwlibNpc_3x.dll=1

[SourceDisksFiles.NTx86.10.0]
NxpNfpProvider.dll=1
FwlibNpc_1x.dll=1
FwlibNpc_3x.dll=1

[SourceDisksFiles]
NxpNfpProvider.dll=1
NxpNfcRM.dll=1
FwlibNpc_1x.dll=1
FwlibNpc_3x.dll=1

[SourceDisksNames]
1 = %MediaDescription%

; =================== Windows 10 support ==================================

[NxpNfpProvider_Install_Win10]
CopyFiles=UMDFDriverCopy, NG_FW_DLL.CopyFiles
AddReg=NxpNfpProviderProximityCustomValuesRegister


[NxpNfpProvider_Install_Win10.hw]
AddReg=NxpNfpProvider_AddReg_win10

[NxpNfpProvider_Install_Win10.Interfaces]
AddInterface={FB3842CD-9E2A-4F83-8FCC-4B0761139AE9}, , NxpNfpProvider_AddInterface

[NxpNfpProvider_Install_Win10.Services]
AddService=WUDFRd,0x000001fa,WUDFRD_ServiceInstall

[NxpNfpProvider_Install_Win10.CoInstallers]
AddReg = NxpNfpProvider_Install_win10.CoInstallers_AddReg
CopyFiles = CoInstallers_CopyFiles

[NxpNfpProvider_Install_Win10.CoInstallers_AddReg]
HKR,,CoInstallers32,0x00010000,"WUDFCoinstaller.dll"

[CoInstallers_CopyFiles]
;

[NxpNfpProvider_Install_Win10.Wdf]
UmdfService                = NxpNfpProvider, NxpNfpProvider_Driver_Install
UmdfServiceOrder           = NxpNfpProvider
UmdfDispatcher             = FileHandle
UmdfHostProcessSharing     = ProcessSharingDisabled
UmdfDirectHardwareAccess   = AllowDirectHardwareAccess

[NxpNfpProvider_AddReg_win10]
;Policy = 3 - ExpectSurpriseRemoval
HKR,,"RemovalPolicy",0x00010001,3 

HKR,"NxpNfpProvider", "NfcRadioState",      0x00010001, 1
HKR,"NxpNfpProvider", "IdleTimeOut",        0x00010001, 1
HKR,"NxpNfpProvider", "PollDevInfo",        0x00010001, 0x23F
HKR,"NxpNfpProvider", "NfcIP_Mode",         0x00010001, 0xE
HKR,"NxpNfpProvider", "Duration",           0x00010001, 0x493E0
HKR,"NxpNfpProvider", "LLCPConfigParams",   0x00000001, 00,04,64,5
HKR,"NxpNfpProvider", "RfConfigData",       0x00000001, 00
HKR,"NxpNfpProvider", "EEPROMConfigBlob",   0x00000001, A0, 05, 01, 10, A0, 40, 01, 01, A0, 44, 01, 00
HKR,"NxpNfpProvider", "LpcI2cAddress",      0x00010001, 0x28
HKR,"NxpNfpProvider", "ClockConfigParam",   0x00010001, 00
HKR,"NxpNfpProvider", "RfSessionMgmt",      0x00010001, 1
HKR,"NxpNfpProvider", "KeepRfData",         0x00010001, 1
HKR,"NxpNfpProvider", "EnableDelayedPoll",  0x00010001, 0x0
HKR,"NxpNfpProvider", "PollDelayTime",      0x00010001, 0x32
HKR,"NxpNfpProvider", "RF_OffTime",         0x00010001, 0x32
HKR,"NxpNfpProvider", "ISODEP4A4BTransTimeout",         0x00010001, 20000

[DestinationDirs.NTAMD64.10.0]
UMDFDriverCopy=12,UMDF
NG_FW_DLL.CopyFiles=11


[DestinationDirs.NTx86.10.0]
UMDFDriverCopy=12,UMDF
NG_FW_DLL.CopyFiles=11


[UMDFDriverCopy]
NxpNfpProvider.dll


; =================== WUDF NxpNfpProvider Test Driver ==================================

[NxpNfpProvider_Install]
CopyFiles=UMDFDriverCopy, NG_FW_DLL.CopyFiles, RMComServer.CopyFiles
AddReg=NxpNfpProviderRadioManager_AddReg
AddReg=NxpNfpProviderProximityCustomValuesRegister

[NxpNfpProvider_Install.hw]
AddReg=NxpNfpProvider_AddReg

[NxpNfpProvider_Install.Interfaces]
AddInterface={FB3842CD-9E2A-4F83-8FCC-4B0761139AE9}, , NxpNfpProvider_AddInterface

[NxpNfpProvider_Install.Services]
AddService=WUDFRd,0x000001fa,WUDFRD_ServiceInstall

[NxpNfpProvider_Install.CoInstallers]
AddReg = NxpNfpProvider_Install.CoInstallers_AddReg
CopyFiles = CoInstallers_CopyFiles

[NxpNfpProvider_Install.CoInstallers_AddReg]
HKR,,CoInstallers32,0x00010000,"WUDFCoinstaller.dll"

[CoInstallers_CopyFiles]
;

[NxpNfpProvider_Install.Wdf]
UmdfService                = NxpNfpProvider, NxpNfpProvider_Driver_Install
UmdfServiceOrder           = NxpNfpProvider
UmdfDispatcher             = FileHandle
UmdfHostProcessSharing     = ProcessSharingDisabled
UmdfDirectHardwareAccess=AllowDirectHardwareAccess

[NxpNfpProvider_AddReg]
;Policy = 3 - ExpectSurpriseRemoval
HKR,,"RemovalPolicy",0x00010001,3 

HKR,"NxpNfpProvider", "NfcRadioState",      0x00010001, 1
HKR,"NxpNfpProvider", "IdleTimeOut",        0x00010001, 1
HKR,"NxpNfpProvider", "PollDevInfo",        0x00010001, 0x23F
HKR,"NxpNfpProvider", "NfcIP_Mode",         0x00010001, 0xE
HKR,"NxpNfpProvider", "Duration",           0x00010001, 0x493E0
HKR,"NxpNfpProvider", "LLCPConfigParams",   0x00000001, 00,04,64,5
HKR,"NxpNfpProvider", "RfConfigData",       0x00000001, 00
HKR,"NxpNfpProvider", "EEPROMConfigBlob",   0x00000001, A0, 05, 01, 10, A0, 40, 01, 01, A0, 44, 01, 00
HKR,"NxpNfpProvider", "LpcI2cAddress",      0x00010001, 0x28
HKR,"NxpNfpProvider", "ClockConfigParam",   0x00010001, 00
HKR,"NxpNfpProvider", "RfSessionMgmt",      0x00010001, 1
HKR,"NxpNfpProvider", "KeepRfData",         0x00010001, 1
HKR,"NxpNfpProvider", "EnableDelayedPoll",  0x00010001, 0x0
HKR,"NxpNfpProvider", "PollDelayTime",      0x00010001, 0x32
HKR,"NxpNfpProvider", "RF_OffTime",         0x00010001, 0x32
HKR,"NxpNfpProvider", "ISODEP4A4BTransTimeout",         0x00010001, 20000
HKLM,"SYSTEM\CurrentControlSet\Control\RadioManagement\{BA0CCA99-A7A1-415C-9E5B-25C0A99DDBC3}",,,"NFC Radio Manager"
HKLM,"SYSTEM\CurrentControlSet\Control\RadioManagement\Misc\NfcRadioManager\NfcRadio1","RadioState",0x00010001,0
HKLM,"SYSTEM\CurrentControlSet\Control\RadioManagement\Misc\NfcRadioManager\NfcRadio1","Name",,"NFC"
HKLM,"SYSTEM\CurrentControlSet\Control\RadioManagement\Misc\NfcRadioManager\NfcRadio1","IsMultiComm",0x00010001,0
HKLM,"SYSTEM\CurrentControlSet\Control\RadioManagement\Misc\NfcRadioManager\NfcRadio1","InstalledFirstTime",0x00010001,1

[NxpNfpProviderRadioManager_AddReg]
HKLM,SOFTWARE\Classes\CLSID\{BA0CCA99-A7A1-415C-9E5B-25C0A99DDBC3},,,"NFC Radio Manager"
HKLM,SOFTWARE\Classes\CLSID\{BA0CCA99-A7A1-415C-9E5B-25C0A99DDBC3}\InProcServer32,,0x00020000,"%%SystemRoot%%\system32\NxpNfcRM.dll"
HKLM,SOFTWARE\Classes\CLSID\{BA0CCA99-A7A1-415C-9E5B-25C0A99DDBC3}\InprocServer32,ThreadingModel,,Both

[DestinationDirs]
UMDFDriverCopy=12,UMDF
RMCOmServer.Copyfiles=11
NG_FW_DLL.CopyFiles=11

[NG_FW_DLL.CopyFiles]
FwlibNpc_1x.dll
FwlibNpc_3x.dll

[UMDFDriverCopy]
NxpNfpProvider.dll

[RMComServer.CopyFiles]
NxpNfcRM.dll

; ============== Win10 & Win8 Common sections ==================

[NxpNfpProviderProximityCustomValuesRegister]
HKLM,"SYSTEM\CurrentControlSet\Proximity\","Dummy",0x00000010,0
HKLM,"SYSTEM\CurrentControlSet\Proximity\","EEPROMConfigBlobRegisters",0x00000003, A0, 40, A0, 41, A0, 43, A0, 60, A0, 12, A0, 42

[NxpNfpProviderProximityCustomValuesRegister.Security]
"D:P(A;OICI;GA;;;LS)(A;;GA;;;BA)(A;;GA;;;SY)"

[NxpNfpProvider_AddInterface]
AddProperty=NxpNfpProvider_AddInterface_AddProperty

[NxpNfpProvider_AddInterface_AddProperty]
{FB3842CD-9E2A-4F83-8FCC-4B0761139AE9}, 2, 0x2012, , "StandardNfc"

[WUDFRD_ServiceInstall]
ServiceType=1
StartType=3
ErrorControl=1
ServiceBinary=%12%\WUDFRd.sys

[NxpNfpProvider_Driver_Install]
UmdfLibraryVersion=1.11.0
DriverCLSID="{278F44F0-FF5C-4FE3-BF20-F8AA158EA7BC}"
ServiceBinary=%12%\UMDF\NxpNfpProvider.dll

; =================== Generic ==================================

[Strings]
NXP="NXP Semiconductors"
NXPWUDF="NXP Semiconductors(Proximity)"
MediaDescription="NXP NearField Proximity Provider Installation Media"
NxpNfpProviderName="NXP NearFieldProximity Provider"
