;
; Broadcom UMDF 2.0 NFC driver
;
; Copyright (c) 2015 Broadcom Corporation
;

[Version]
Signature="$WINDOWS NT$"
Class=Proximity
ClassGuid={5630831C-06C9-4856-B327-F5D32586E060}
Provider=%BRCM%
CatalogFile=bcmnfcser-x64.cat
DriverVer=07/01/2016,4.4.23.52

[Manufacturer]
%BRCMWUDF%=Broadcom,NTamd64.10.0,NTamd64.6.3

[Broadcom.NTamd64.10.0]
%bcmnfcser.DeviceDesc%=bcmnfcser_Install10, BCMNFCIC\NFC_PROVIDER     ; NFC on I2C transport
%bcmnfcser.DeviceDesc%=bcmnfcser_USB10, FTDIBUS\COMPORT&VID_0A5C&PID_2FF0&MI_01  ; NFC on USB transport
%bcmnfcser.DeviceDesc%=bcmnfcser_USH10, BCMNFCUSB\NFC_PROVIDER        ; NFC on USH USB SPI transport

[Broadcom.NTamd64.6.3]
%bcmnfcser.DeviceDesc%=bcmnfcser_Install, BCMNFCIC\NFC_PROVIDER     ; NFC on I2C transport
%bcmnfcser.DeviceDesc%=bcmnfcser_USB, FTDIBUS\COMPORT&VID_0A5C&PID_2FF0&MI_01  ; NFC on USB transport
%bcmnfcser.DeviceDesc%=bcmnfcser_USH, BCMNFCUSB\NFC_PROVIDER        ; NFC on USH USB SPI transport

[SourceDisksFiles]
bcmnfcser.dll=1
bcmnfctusb.dll=1
BCM20791B4_002.005.010.0059.0080.ncd=1
BCM20791B4_002.005.010.0059.0081.ncd=1
BCM20791B5_002.006.013.0011.0086_embedded.ncd=1
BCM20791B5_002.006.013.0011.0033_embedded.ncd=1
BCM20795A1_001.002.012.0003.0106_Embedded.ncd=1
BCM20795A2_001.003.025.0005.0038_Embedded.ncd=1
BCM20797A1_001.002.015.0003.0001_i2c.ncd=1
BcmNfcRM.dll=1
;WudfUpdate_$UMDFCOINSTALLERVERSION$.dll=1

[SourceDisksNames]
1 = %MediaDescription%

[bcmnfcser_USB10.NTamd64]
CopyFiles=UMDFDriverCopy
CopyFiles=UMDFDriverCopy_USB

;[bcmnfcser_USB10.NTx86.hw]
;AddReg=bcmnfcser_USB_NTx86.AddReg

[bcmnfcser_USB10.NTamd64.hw]
AddReg=bcmnfcser_USB_NTamd64.AddReg

[bcmnfcser_USB10.NTamd64.Services]
AddService=WUDFRd,0x000001fa,WUDFRD_ServiceInstall,EventLog_Inst

[bcmnfcser_USB10.NTamd64.CoInstallers]
AddReg = bcmnfcser_Install.CoInstallers_AddReg
CopyFiles = CoInstallers_CopyFiles

[bcmnfcser_USB10.NTamd64.Wdf]
UmdfService=bcmnfcser, bcmnfcser_Driver_Install
UmdfServiceOrder=bcmnfcser
UmdfDispatcher=FileHandle
UmdfImpersonationLevel=Impersonation
UmdfKernelModeClientPolicy=AllowKernelModeClients
UmdfFileObjectPolicy=AllowNullAndUnknownFileObjects

[bcmnfcser_USB.NTamd64]
CopyFiles=UMDFDriverCopy
CopyFiles=UMDFDriverCopy_USB
CopyFiles=RadioMgrCopy
AddReg=bcmnfcser_RadioManagerInstall.AddReg

;[bcmnfcser_USB.NTx86.hw]
;AddReg=bcmnfcser_USB_NTx86.AddReg

[bcmnfcser_USB.NTamd64.hw]
AddReg=bcmnfcser_USB_NTamd64.AddReg

[bcmnfcser_USB.NTamd64.Services]
AddService=WUDFRd,0x000001fa,WUDFRD_ServiceInstall,EventLog_Inst

[bcmnfcser_USB.NTamd64.CoInstallers]
AddReg = bcmnfcser_Install.CoInstallers_AddReg
CopyFiles = CoInstallers_CopyFiles

[bcmnfcser_USB.NTamd64.Wdf]
UmdfService=bcmnfcser, bcmnfcser_Driver_Install
UmdfServiceOrder=bcmnfcser
UmdfDispatcher=FileHandle
UmdfImpersonationLevel=Impersonation
UmdfKernelModeClientPolicy=AllowKernelModeClients
UmdfFileObjectPolicy=AllowNullAndUnknownFileObjects


[bcmnfcser_USH10.NTamd64]
CopyFiles=UMDFDriverCopy
CopyFiles=UMDFDriverCopy_USH_DLL

[bcmnfcser_USH10.NTamd64.hw]
AddReg=bcmnfcser_USH.AddReg

[bcmnfcser_USH10.NTamd64.Services]
AddService=WUDFRd,0x000001fa,WUDFRD_ServiceInstall,EventLog_Inst

[bcmnfcser_USH10.NTamd64.CoInstallers]
AddReg = bcmnfcser_Install.CoInstallers_AddReg
CopyFiles = CoInstallers_CopyFiles

[bcmnfcser_USH10.NTamd64.Wdf]
UmdfService=bcmnfcser, bcmnfcser_Driver_Install
UmdfServiceOrder=bcmnfcser
UmdfDispatcher=FileHandle
UmdfImpersonationLevel=Impersonation
UmdfKernelModeClientPolicy=AllowKernelModeClients
UmdfFileObjectPolicy=AllowNullAndUnknownFileObjects

[bcmnfcser_USH.NTamd64]
CopyFiles=UMDFDriverCopy
CopyFiles=UMDFDriverCopy_USH_DLL
CopyFiles=RadioMgrCopy
AddReg=bcmnfcser_RadioManagerInstall.AddReg

[bcmnfcser_USH.NTamd64.hw]
AddReg=bcmnfcser_USH.AddReg

[bcmnfcser_USH.NTamd64.Services]
AddService=WUDFRd,0x000001fa,WUDFRD_ServiceInstall,EventLog_Inst

[bcmnfcser_USH.NTamd64.CoInstallers]
AddReg = bcmnfcser_Install.CoInstallers_AddReg
CopyFiles = CoInstallers_CopyFiles

[bcmnfcser_USH.NTamd64.Wdf]
UmdfService=bcmnfcser, bcmnfcser_Driver_Install
UmdfServiceOrder=bcmnfcser
UmdfDispatcher=FileHandle
UmdfImpersonationLevel=Impersonation
UmdfKernelModeClientPolicy=AllowKernelModeClients
UmdfFileObjectPolicy=AllowNullAndUnknownFileObjects


[bcmnfcser_Install10]
CopyFiles=UMDFDriverCopy_COM

[bcmnfcser_Install10.hw]
AddReg=bcmnfcser_Install.AddReg

[bcmnfcser_Install10.Services]
AddService=WUDFRd,0x000001fa,WUDFRD_ServiceInstall,EventLog_Inst

[bcmnfcser_Install10.CoInstallers]
AddReg = bcmnfcser_Install.CoInstallers_AddReg
CopyFiles = CoInstallers_CopyFiles

;[bcmnfcser_Install10.CoInstallers_AddReg]
;HKR,,CoInstallers32,0x00010000,"WudfCoinstaller.dll"

[bcmnfcser_Install10.Wdf]
UmdfService=bcmnfcser, bcmnfcser_Driver_Install
UmdfServiceOrder=bcmnfcser
UmdfDispatcher=FileHandle
UmdfImpersonationLevel=Impersonation
UmdfKernelModeClientPolicy=AllowKernelModeClients
UmdfFileObjectPolicy=AllowNullAndUnknownFileObjects

[bcmnfcser_Install]
CopyFiles=UMDFDriverCopy_COM
CopyFiles=RadioMgrCopy
AddReg=bcmnfcser_RadioManagerInstall.AddReg

[bcmnfcser_Install.hw]
AddReg=bcmnfcser_Install.AddReg

[bcmnfcser_Install.Services]
AddService=WUDFRd,0x000001fa,WUDFRD_ServiceInstall,EventLog_Inst

[bcmnfcser_Install.CoInstallers]
AddReg = bcmnfcser_Install.CoInstallers_AddReg
CopyFiles = CoInstallers_CopyFiles

[bcmnfcser_Install.CoInstallers_AddReg]
HKR,,CoInstallers32,0x00010000,"WudfCoinstaller.dll"

[CoInstallers_CopyFiles]
;WudfUpdate_$UMDFCOINSTALLERVERSION$.dll

[bcmnfcser_Install.Wdf]
UmdfService=bcmnfcser, bcmnfcser_Driver_Install
UmdfServiceOrder=bcmnfcser
UmdfDispatcher=FileHandle
UmdfImpersonationLevel=Impersonation
UmdfKernelModeClientPolicy=AllowKernelModeClients
UmdfFileObjectPolicy=AllowNullAndUnknownFileObjects

[bcmnfcser_Install.AddReg]
HKR,"bcmnfcser","Server",0x00010001,1
HKR,"bcmnfcser","20791b04\NfccType",0x00010001,4
HKR,"bcmnfcser","20791b04\PREINIT_DSP_CFG", 0x00001, C8,1E,06,3F,00,0A,03,30,00,04,24,00,1C,00,75,00,77,00,76,00,1C,00,03,00,0A,00,4E,01,00,00,40,04
HKR,"bcmnfcser","20791b04\PREINIT_DSP_CFG", 0x00001, C8,1E,06,3F,00,0A,03,30,00,04,24,00,1C,00,75,00,77,00,76,00,1C,00,03,00,0A,00,4E,01,00,00,40,04
HKR,"bcmnfcser","20791b04\LPTD_CFG", 0x00001, 29, B9, 27, 01, 00, FF, FF, 04, A0, 0F, 40, 00, 80, 12, 02, 10, 00, 00, 00, 31, 0D, 30, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00
HKR,"bcmnfcser","20791b04\Pre-PatchFileName",0x00000000,"BCM20791B4_002.005.010.0059.0080.ncd"
HKR,"bcmnfcser","20791b04\PatchFileName",0x00000000,"BCM20791B4_002.005.010.0059.0081.ncd"
HKR,"bcmnfcser","SeType",0x00010001,0
HKLM,"SYSTEM\CurrentControlSet\Control\RadioManagement\{518E0A72-CFB4-4B4F-A892-9FF576B17DBD}",,0x00000000,%NfcRadio%
HKLM,"SYSTEM\CurrentControlSet\Control\RadioManagement\{518E0A72-CFB4-4B4F-A892-9FF576B17DBD}","Trace",0x00010001,0
HKR,"bcmnfcser","REG_PU",0x00010001,0
HKR,"bcmnfcser","NFC_WAKE",0x00010001,0
HKR,"bcmnfcser","DeviceAddress",0x00010001,0x77
HKR,"bcmnfcser","RegPuAvailable",0x00010001,0
HKR,"bcmnfcser","NfcWakeAvailable",0x00010001,0
HKR,"bcmnfcser","NfccCheckIntervalSec",0x00010001,0
HKR,"bcmnfcser","port",0x00010001,3
HKR,"bcmnfcser","UART_BAUD",0x00010001,7
HKR,"bcmnfcser","UART_FC",0x00010001,1
HKR,"bcmnfcser","UART_AUTOBAUD",0x00010001,1
HKR,"bcmnfcser","Xtal_Freq",0x00010001,0x6590
HKR,"bcmnfcser","Xtal_Index",0x00010001,5
HKR,"bcmnfcser","TRANSPORT_PREFIX",0x00010001,1
HKR,"bcmnfcser","20791b05\NfccType",0x00010001,5
HKR,"bcmnfcser","20791b05\PatchFileName",0x00000000,"BCM20791B5_002.006.013.0011.0086_embedded.ncd"
HKR,"bcmnfcser","20791b05\PatchFileNameNvm",0x00000000,"BCM20791B5_002.006.013.0011.0086_embedded.ncd"
HKR,"bcmnfcser","20791b05\LPTD_CFG", 0x00001, 38,b9,36,00,00,ff,ff,08,00,00,00,a0,0f,40,00,00,12,02,10,00,00,00,2d,0b,30,00,00,00,00,00,00,00,00,00,00,00,00,00,00,03,00,d0,07,00,00,08,07,00,00,c8,00,00,00,00,00,00,00
HKR,"bcmnfcser","20797a10\NfccType",0x00010001,5
HKR,"bcmnfcser","20797a10\PatchFileName",0x00000000,"BCM20795A1_001.002.012.0003.0106_Embedded.ncd"
HKR,"bcmnfcser","20797a10\PatchFileNameNvm",0x00000000,"BCM20795A1_001.002.012.0003.0106_Embedded.ncd"
HKR,"bcmnfcser","20797a10\LPTD_CFG", 0x00001, 66,b9,64,01,00,ff,ff,50,00,8b,13,00,10,00,04,00,00,00,00,03,00,00,00,03,00,0c,00,04,00,00,00,00,03,00,00,00,03,00,0c,00,00,0d,00,00,00,00,00,00,00,00,00,00,33,23,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,03,00,02,53,3b,0f,00,00,00,00,00,00,00,00,00,00,00,00,04,00,00,00,0e,00,00,00
HKR,"bcmnfcser","20797a10\NFA_DM_START_UP_CFG", 0x00001, 71,ca,05,00,00,00,00,0c,80,01,01,b0,05,01,03,03,03,08,b5,03,01,03,ff,c9,0d,24,00,00,00,01,00,bb,00,e4,00,0a,01,02,d6,0d,00,02,00,00,00,00,00,01,00,01,5a,00,8a,b2,02,e8,03,c8,1e,06,1f,00,0a,02,30,00,04,24,00,1c,00,75,00,77,00,76,00,1c,00,03,00,0a,00,56,01,00,00,40,04,d7,01,07,dd,14,00,00,00,38,16,40,40,00,00,80,c0,00,17,27,0a,67,20,00,52,20
HKR,"bcmnfcser","20797a20\NfccType",0x00010001,5
HKR,"bcmnfcser","20797a20\PatchFileName",0x00000000,"BCM20795A2_001.003.025.0005.0025_Embedded.ncd"
HKR,"bcmnfcser","20797a20\PatchFileNameNvm",0x00000000,"BCM20795A2_001.003.025.0005.0025_Embedded.ncd"
HKR,"bcmnfcser","20797a20\LPTD_CFG", 0x00001, 66,b9,64,01,00,ff,ff,50,00,8b,13,00,10,00,04,00,00,00,00,03,00,00,00,03,00,0c,00,04,00,00,00,00,03,00,00,00,03,00,0c,00,00,0d,00,00,00,00,00,00,00,00,00,00,33,23,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,03,00,02,53,3b,0f,00,00,00,00,00,00,00,00,00,00,00,00,04,00,00,00,0e,00,00,00
HKR,"bcmnfcser","20797a20\NFA_DM_START_UP_CFG", 0x00001, 71,ca,05,00,00,00,00,0c,80,01,01,b0,05,01,03,03,03,08,b5,03,01,03,ff,c9,0d,24,00,00,00,01,00,bb,00,e4,00,0a,01,02,d6,0d,00,02,00,00,00,00,00,01,00,01,5a,00,8a,b2,02,e8,03,c8,1e,06,1f,00,0a,02,30,00,04,24,00,1c,00,75,00,77,00,76,00,1c,00,03,00,0a,00,56,01,00,00,40,04,d7,01,07,dd,14,00,00,00,38,16,40,40,00,00,80,c0,00,17,27,0a,67,20,00,52,20
HKR,"bcmnfcser","20795a10\NfccType",0x00010001,5
HKR,"bcmnfcser","20795a10\PatchFileName",0x00000000,"BCM20797A1_001.002.015.0003.0001_i2c.ncd"
HKR,"bcmnfcser","20795a10\PatchFileNameNvm",0x00000000,"BCM20797A1_001.002.015.0003.0001_i2c.ncd"
HKR,"bcmnfcser","20795a10\LPTD_CFG", 0x00001, 08,b9,06,01,00,80,00,00,00
HKR,"bcmnfcser","20795a10\NFA_DM_START_UP_CFG", 0x00001, 87,ca,05,00,00,00,00,08,c2,02,03,02,c4,01,00,dc,08,00,00,00,05,38,ff,ff,ff,e1,02,96,02,e2,03,5e,07,07,e3,10,17,04,16,0d,17,03,0b,02,00,98,75,58,95,29,2e,03,e4,01,37,e5,1e,80,3f,00,12,3e,0a,1d,13,04,5e,5e,5e,5e,2b,52,50,53,4e,20,2d,18,0c,02,07,9e,9e,70,9e,70,20,d6,01,00,e6,2d,01,68,00,77,00,8b,00,a7,00,d6,00,22,01,c0,01,5e,58,4c,40,33,26,1c,08,68,00,77,00,8b,00,a7,00,d6,00,22,01,c0,01,5e,58,4c,40,33,2b,26,1e

;[bcmnfcser_USB_NTx86.AddReg]
;HKR,"bcmnfcser","Server",0x00010001,1
;HKR,"bcmnfcser","PatchFileName",0x00000000,"BCM20791B5_002.006.013.0011.0086_embedded.ncd"
;HKR,"bcmnfcser","NfccType",0x00010001,5
;HKR,"bcmnfcser","SeType",0x00010001,0
;HKLM,"SYSTEM\CurrentControlSet\Control\RadioManagement\{518E0A72-CFB4-4B4F-A892-9FF576B17DBD}",,0x00000000,%NfcRadio%
;HKLM,"SYSTEM\CurrentControlSet\Control\RadioManagement\{518E0A72-CFB4-4B4F-A892-9FF576B17DBD}","Trace",0x00010001,0
;HKR,"bcmnfcser","externTransportPortA",0x00000000,"NFC USB I2C Device A"
;HKR,"bcmnfcser","externTransportPortB",0x00000000,"NFC USB I2C Device B"
;HKR,"bcmnfcser","REG_PU",0x00010001,0
;HKR,"bcmnfcser","NFC_WAKE",0x00010001,1
;HKR,"bcmnfcser","Transport_Buffer_Size",0x00010001,131072
;HKR,"bcmnfcser","DeviceAddress",0x00010001,0x77
;HKR,"bcmnfcser","RegPuAvailable",0x00010001,1
;HKR,"bcmnfcser","NfcWakeAvailable",0x00010001,1
;HKR,"bcmnfcser","NfccCheckIntervalSec",0x00010001,0

[bcmnfcser_USB_NTamd64.AddReg]
HKR,"bcmnfcser","Server",0x00010001,1
HKR,"bcmnfcser","PatchFileName",0x00000000,"BCM20791B5_002.006.013.0011.0086_embedded.ncd"
HKR,"bcmnfcser","NfccType",0x00010001,5
HKR,"bcmnfcser","SeType",0x00010001,0
HKLM,"SYSTEM\CurrentControlSet\Control\RadioManagement\{518E0A72-CFB4-4B4F-A892-9FF576B17DBD}",,0x00000000,%NfcRadio%
HKLM,"SYSTEM\CurrentControlSet\Control\RadioManagement\{518E0A72-CFB4-4B4F-A892-9FF576B17DBD}","Trace",0x00010001,0
HKR,"bcmnfcser","externTransportPortA",0x00000000,"NFC USB I2C Device A"
HKR,"bcmnfcser","externTransportPortB",0x00000000,"NFC USB I2C Device B"
HKR,"bcmnfcser","REG_PU",0x00010001,0
HKR,"bcmnfcser","NFC_WAKE",0x00010001,1
HKR,"bcmnfcser","Transport_Buffer_Size",0x00010001,131072
HKR,"bcmnfcser","DeviceAddress",0x00010001,0x77
HKR,"bcmnfcser","RegPuAvailable",0x00010001,1
HKR,"bcmnfcser","NfcWakeAvailable",0x00010001,1
HKR,"bcmnfcser","NfccCheckIntervalSec",0x00010001,0

[bcmnfcser_USH.AddReg]
HKLM,"SYSTEM\CurrentControlSet\Control\RadioManagement\{518E0A72-CFB4-4B4F-A892-9FF576B17DBD}",,0x00000000,%NfcRadio%
HKLM,"SYSTEM\CurrentControlSet\Control\RadioManagement\{518E0A72-CFB4-4B4F-A892-9FF576B17DBD}","Trace",0x00010001,0
HKR,"bcmnfcser","TransportDllName",0x00000000,"bcmnfctusb.dll"

[bcmnfcser_RadioManagerInstall.AddReg]
HKCR,"CLSID\{518E0A72-CFB4-4B4F-A892-9FF576B17DBD}",,0x00000000,%NfcSerialRadioManager%
HKCR,"CLSID\{518E0A72-CFB4-4B4F-A892-9FF576B17DBD}\InProcServer32",,0x00020000,"%%SystemRoot%%\system32\BcmNfcRM.dll"
HKCR,"CLSID\{518E0A72-CFB4-4B4F-A892-9FF576B17DBD}\InProcServer32","ThreadingModel",0x00000000,"Both"

[WUDFRD_ServiceInstall]
DisplayName="Windows Driver Foundation - User-mode Driver Framework Reflector"
ServiceType=1
StartType=3
ErrorControl=1
ServiceBinary=%12%\WUDFRd.sys

[EventLog_Inst]
AddReg = EventLog_Inst.reg

[EventLog_Inst.reg]
HKR,,EventMessageFile,0x00020000,"%%SystemRoot%%\System32\drivers\UMDF\BcmNfcSer.dll"
HKR,,TypesSupported,0x00010001,7

[bcmnfcser_Driver_Install]
UmdfLibraryVersion=2.0.0
ServiceBinary=%12%\UMDF\bcmnfcser.dll

[DestinationDirs]
UMDFDriverCopy=12,UMDF
UMDFDriverCopy_USH_DLL=12,UMDF
UMDFDriverCopy_USB=12
UMDFDriverCopy_COM=12,UMDF
RadioMgrCopy=11
CoInstallers_CopyFiles=11

[UMDFDriverCopy]
bcmnfcser.dll

[UMDFDriverCopy_COM]
BCM20791B5_002.006.013.0011.0086_embedded.ncd
BCM20795A2_001.003.025.0005.0038_Embedded.ncd
BCM20795A1_001.002.012.0003.0106_Embedded.ncd
BCM20795A2_001.003.025.0005.0038_Embedded.ncd
BCM20797A1_001.002.015.0003.0001_i2c.ncd


[UMDFDriverCopy_USB]
BCM20791B5_002.006.013.0011.0086_embedded.ncd

[UMDFDriverCopy_USH_DLL]
bcmnfctusb.dll

[RadioMgrCopy]
BcmNfcRM.dll

; =================== Generic ==================================

[Strings]
BRCM="Broadcom"
BRCMWUDF="Broadcom Internal (Proximity)"
MediaDescription="Broadcom NFC Proximity Provider Installation Media"
bcmnfcser.DeviceDesc="NFC Proximity Provider"
NfcRadio="NFC"
NfcSerialRadioManager="NFC Serial Radio Manager"
