; Copyright 2006-2008, NXP Semiconductors Caen
; Installation INF for the NXP USB BDA Driver for Windows XP/Vista

[Version]
signature="$CHICAGO$" ;all windows os
Class=MEDIA
ClassGUID={4d36e96c-e325-11ce-bfc1-08002be10318}
Provider=%MFGNAME%
CatalogFile.NTx86   = NXPCyUSBBDA.cat
CatalogFile.NTAMD64 = NXPCyUSBBDA64.cat
DriverVer=05/09/2008,1.0.9.3


[SourceDisksNames]
1=%PREFIX%%NXP_INSTALL%,,,

[SourceDisksFiles]
NXPCyUSB.sys = 1
NXPCyUSBx64.sys = 1
NXPUSBCap.sys = 1
NXPUSBCapx64.sys = 1

[Manufacturer]
%MFGNAME%=NXP, NTx86, NTAMD64

[NXP.NTx86]
; NXP C0 load
%PREFIX%%VID_04CC&PID_1001.DeviceDesc%=NXPCyUSBBDA_DVBT.NTx86, USB\VID_04CC&PID_1001
%PREFIX%%VID_04CC&PID_1001.DeviceDesc%=NXPCyUSBBDA_DVBT.NTx86, USB\VID_04CC&PID_1001&MI_00
%PREFIX%%VID_04CC&PID_1004.DeviceDesc%=NXPCyUSBBDA_ANLG_DVBT.NTx86, USB\VID_04CC&PID_1004
%PREFIX%%VID_04CC&PID_1004.DeviceDesc%=NXPCyUSBBDA_ANLG_DVBT.NTx86, USB\VID_04CC&PID_1004&MI_00

; NXP C2 load
%PREFIX%%VID_04CC&PID_1002.DeviceDesc%=NXPCyUSBBDA_DVBT.NTx86, USB\VID_04CC&PID_1002
%PREFIX%%VID_04CC&PID_1002.DeviceDesc%=NXPCyUSBBDA_DVBT.NTx86, USB\VID_04CC&PID_1002&MI_00
%PREFIX%%VID_04CC&PID_1003.DeviceDesc%=NXPCyUSBBDA_ANLG_DVBT.NTx86, USB\VID_04CC&PID_1003
%PREFIX%%VID_04CC&PID_1003.DeviceDesc%=NXPCyUSBBDA_ANLG_DVBT.NTx86, USB\VID_04CC&PID_1003&MI_00

%String1002.DeviceDesc%=NXPCyUSBBDA_ANLG_DVBT.NTx86, USB\VID_1B80&PID_E026
%String1002.DeviceDesc%=NXPCyUSBBDA_ANLG_DVBT.NTx86, USB\VID_1B80&PID_E026&MI_00

%VID_04CC&PID_1002.DeviceDesc%=NXPCyUSBBDA_ANLG_DVBT.NTx86, USB\VID_1B80&PID_E02A
%VID_04CC&PID_1002.DeviceDesc%=NXPCyUSBBDA_ANLG_DVBT.NTx86, USB\VID_1B80&PID_E02A&MI_00 

; NXP C0 load bad VID
%PREFIX%%VID_1131&PID_1001.DeviceDesc%=NXPCyUSBBDA_DVBT.NTx86, USB\VID_1131&PID_1001

; NXP C2 load bad VID
%PREFIX%%VID_1131&PID_1002.DeviceDesc%=NXPCyUSBBDA_DVBT.NTx86, USB\VID_1131&PID_1002



[NXP.NTAMD64]
; NXP C0 load
%PREFIX%%VID_04CC&PID_1001.DeviceDesc%=NXPCyUSBBDA_DVBT.NTAMD64, USB\VID_04CC&PID_1001
%PREFIX%%VID_04CC&PID_1001.DeviceDesc%=NXPCyUSBBDA_DVBT.NTAMD64, USB\VID_04CC&PID_1001&MI_00
%PREFIX%%VID_04CC&PID_1004.DeviceDesc%=NXPCyUSBBDA_ANLG_DVBT.NTAMD64, USB\VID_04CC&PID_1004
%PREFIX%%VID_04CC&PID_1004.DeviceDesc%=NXPCyUSBBDA_ANLG_DVBT.NTAMD64, USB\VID_04CC&PID_1004&MI_00

; NXP C2 load
%PREFIX%%VID_04CC&PID_1002.DeviceDesc%=NXPCyUSBBDA_DVBT.NTAMD64, USB\VID_04CC&PID_1002
%PREFIX%%VID_04CC&PID_1002.DeviceDesc%=NXPCyUSBBDA_DVBT.NTAMD64, USB\VID_04CC&PID_1002&MI_00
%PREFIX%%VID_04CC&PID_1003.DeviceDesc%=NXPCyUSBBDA_ANLG_DVBT.NTAMD64, USB\VID_04CC&PID_1003
%PREFIX%%VID_04CC&PID_1003.DeviceDesc%=NXPCyUSBBDA_ANLG_DVBT.NTAMD64, USB\VID_04CC&PID_1003&MI_00

%String1002.DeviceDesc%=NXPCyUSBBDA_ANLG_DVBT.NTAMD64, USB\VID_1B80&PID_E026
%String1002.DeviceDesc%=NXPCyUSBBDA_ANLG_DVBT.NTAMD64, USB\VID_1B80&PID_E026&MI_00

%VID_04CC&PID_1002.DeviceDesc%=NXPCyUSBBDA_ANLG_DVBT.NTAMD64, USB\VID_1B80&PID_E02A
%VID_04CC&PID_1002.DeviceDesc%=NXPCyUSBBDA_ANLG_DVBT.NTAMD64, USB\VID_1B80&PID_E02A&MI_00 

; NXP C0 load bad VID
%PREFIX%%VID_1131&PID_1001.DeviceDesc%=NXPCyUSBBDA_DVBT.NTAMD64, USB\VID_1131&PID_1001

; NXP C2 load bad VID
%PREFIX%%VID_1131&PID_1002.DeviceDesc%=NXPCyUSBBDA_DVBT.NTAMD64, USB\VID_1131&PID_1002



[DestinationDirs]
NXPCyUSB.CopyFiles.NTx86    = 10,system32\drivers
NXPCyUSB.CopyFiles.NTAMD64  = 10,system32\drivers
NXPUSBCap.CopyFiles.NTx86   = 10,system32\drivers
NXPUSBCap.CopyFiles.NTAMD64 = 10,system32\drivers

[NXPCyUSB.CopyFiles.NTx86]
NXPCyUSB.sys

[NXPCyUSB.CopyFiles.NTAMD64]
NXPCyUSBx64.sys

[NXPUSBCap.CopyFiles.NTx86]
NXPUSBCap.sys

[NXPUSBCap.CopyFiles.NTAMD64]
NXPUSBCapx64.sys


[NXPCyUSBBDA_DVBT.NTx86]
Include       = ks.inf, kscaptur.inf, bda.inf
Needs         = KS.Registration.NT, KSCAPTUR.Registration.NT, BDA.Registration.NT, BDA.Installation.NT, BADCAP.Installation.NT
CopyFiles     = NXPCyUSB.CopyFiles.NTx86, NXPUSBCap.CopyFiles.NTx86
AddReg        = NXPCyUSB.AddReg.NTx86, NXPUSBCap.AddReg.NTx86

[NXPCyUSBBDA_DVBT.NTAMD64]
Include       = ks.inf, kscaptur.inf, bda.inf
Needs         = KS.Registration.NT, KSCAPTUR.Registration.NT, BDA.Registration.NT, BDA.Installation.NT, BADCAP.Installation.NT
CopyFiles     = NXPCyUSB.CopyFiles.NTAMD64, NXPUSBCap.CopyFiles.NTAMD64
AddReg        = NXPCyUSB.AddReg.NTAMD64, NXPUSBCap.AddReg.NTAMD64

[NXPCyUSBBDA_ANLG_DVBT.NTx86]
Include       = ks.inf, wdmaudio.inf, kscaptur.inf, bda.inf
Needs         = KS.Registration.NT, KSCAPTUR.Registration.NT, BDA.Registration.NT, BDA.Installation.NT, BADCAP.Installation.NT, WDMAUDIO.Registration.NT
CopyFiles     = NXPCyUSB.CopyFiles.NTx86, NXPUSBCap.CopyFiles.NTx86
AddReg        = NXPCyUSB.AddReg.NTx86, NXPUSBCap.AddReg.NTx86, NXPUSBCap.AddReg.Analog.NTx86

[NXPCyUSBBDA_ANLG_DVBT.NTAMD64]
Include       = ks.inf, wdmaudio.inf, kscaptur.inf, bda.inf
Needs         = KS.Registration.NT, KSCAPTUR.Registration.NT, BDA.Registration.NT, BDA.Installation.NT, BADCAP.Installation.NT, WDMAUDIO.Registration.NT
CopyFiles     = NXPCyUSB.CopyFiles.NTAMD64, NXPUSBCap.CopyFiles.NTAMD64
AddReg        = NXPCyUSB.AddReg.NTAMD64, NXPUSBCap.AddReg.NTAMD64, NXPUSBCap.AddReg.Analog.NTAMD64

[NXPCyUSBBDA_DVBT.NTx86.HW]
AddReg=NXPCyUSB.AddReg.Guid.NTx86
AddReg=NXPUSBCap.AddReg.UFilter.NTx86

[NXPCyUSBBDA_DVBT.NTAMD64.HW]
AddReg=NXPCyUSB.AddReg.Guid.NTAMD64
AddReg=NXPUSBCap.AddReg.UFilter.NTAMD64

[NXPCyUSBBDA_ANLG_DVBT.NTx86.HW]
AddReg=NXPCyUSB.AddReg.Guid.NTx86
AddReg=NXPUSBCap.AddReg.UFilter.NTx86

[NXPCyUSBBDA_ANLG_DVBT.NTAMD64.HW]
AddReg=NXPCyUSB.AddReg.Guid.NTAMD64
AddReg=NXPUSBCap.AddReg.UFilter.NTAMD64

[NXPCyUSBBDA_DVBT.NTx86.Services]
Addservice = NXPCyUSB, 0x00000002, NXPCyUSB.ServiceInstall.NTx86
AddService = NXPUSBCap,, NXPUSBCap.ServiceInstall.NTx86, NXPUSBCap.EventInstall

[NXPCyUSBBDA_DVBT.NTAMD64.Services]
Addservice = NXPCyUSB, 0x00000002, NXPCyUSB.ServiceInstall.NTAMD64
AddService = NXPUSBCap,, NXPUSBCap.ServiceInstall.NTAMD64, NXPUSBCap.EventInstall

[NXPCyUSBBDA_ANLG_DVBT.NTx86.Services]
Addservice = NXPCyUSB, 0x00000002, NXPCyUSB.ServiceInstall.NTx86
AddService = NXPUSBCap,, NXPUSBCap.ServiceInstall.NTx86, NXPUSBCap.EventInstall

[NXPCyUSBBDA_ANLG_DVBT.NTAMD64.Services]
Addservice = NXPCyUSB, 0x00000002, NXPCyUSB.ServiceInstall.NTAMD64
AddService = NXPUSBCap,, NXPUSBCap.ServiceInstall.NTAMD64, NXPUSBCap.EventInstall

[NXPCyUSB.ServiceInstall.NTx86]
DisplayName    = %NXPCyUSB.SvcDesc%
ServiceType    = %SERVICE_KERNEL_DRIVER%
StartType      = %SERVICE_DEMAND_START%
ErrorControl   = %SERVICE_ERROR_IGNORE%
ServiceBinary  = %12%\NXPCyUSB.sys
LoadOrderGroup = Base

[NXPCyUSB.ServiceInstall.NTAMD64]
DisplayName    = %NXPCyUSB.SvcDesc%
ServiceType    = %SERVICE_KERNEL_DRIVER%
StartType      = %SERVICE_DEMAND_START%
ErrorControl   = %SERVICE_ERROR_IGNORE%
ServiceBinary  = %12%\NXPCyUSBx64.sys
LoadOrderGroup = Base

[NXPUSBCap.ServiceInstall.NTx86]
DisplayName    = %PREFIX%%NXPUSBCap.SvcDesc%
Description    = %PREFIX%%SERVICE_DESCRIPTION%
ServiceType    = %SERVICE_KERNEL_DRIVER%
StartType      = %SERVICE_DEMAND_START%
ErrorControl   = %SERVICE_ERROR_IGNORE%
ServiceBinary  = %12%\NXPUSBCap.sys

[NXPUSBCap.ServiceInstall.NTAMD64]
DisplayName    = %PREFIX%%NXPUSBCap.SvcDesc%
Description    = %PREFIX%%SERVICE_DESCRIPTION%
ServiceType    = %SERVICE_KERNEL_DRIVER%
StartType      = %SERVICE_DEMAND_START%
ErrorControl   = %SERVICE_ERROR_IGNORE%
ServiceBinary  = %12%\NXPUSBCapx64.sys

[NXPCyUSB.AddReg.NTx86]
HKR,,DevLoader,,*NTKERN
HKR,,NTMPDriver,,NXPCyUSB.sys
HKR,,DriverBase,,NXPCyUSB.sys
HKR,"Parameters","MaximumTransferSize",0x10001,4096
HKR,"Parameters","DebugLevel",0x10001,2

[NXPCyUSB.AddReg.NTAMD64]
HKR,,DevLoader,,*NTKERN
HKR,,NTMPDriver,,NXPCyUSBx64.sys

[NXPCyUSB.AddReg.Guid.NTx86]
HKR,,DriverGUID,,%NXPCyUSB.GUID%

[NXPCyUSB.AddReg.Guid.NTAMD64]
HKR,,DriverGUID,,%NXPCyUSB.GUID%

[NXPUSBCap.AddReg.UFilter.NTx86]
HKR,,"UpperFilters",0x00010000,"NXPUSBCap" ; REG_MULTI_SZ value 

[NXPUSBCap.AddReg.UFilter.NTAMD64]
HKR,,"UpperFilters",0x00010000,"NXPUSBCap" ; REG_MULTI_SZ value 

[NXPUSBCap.AddReg.NTx86]
HKR,,DevLoader,,*NTKERN
HKR,,NTMPDriver,,NXPUSBCap.sys
HKR,"Parameters","Prefix",0x00010000, %PREFIX%


[NXPUSBCap.AddReg.NTAMD64]
HKR,,DevLoader,,*NTKERN
HKR,,NTMPDriver,,NXPUSBCapx64.sys
HKR,"Parameters","Prefix",0x00010000, %PREFIX%

[NXPUSBCap.AddReg.Analog.NTx86]
; Audio capture registry entries
HKR,,AssociatedFilters,,"wdmaud,swmidi,redbook"
HKR,,Driver,,NXPUSBCap.sys

HKR,Drivers,SubClasses,,"wave,mixer"

HKR,Drivers\wave\wdmaud.drv,Driver,,wdmaud.drv
HKR,Drivers\mixer\wdmaud.drv,Driver,,wdmaud.drv

HKR,Drivers\wave\wdmaud.drv,Description,,"%PREFIX%" Audio Capture Device""
HKR,Drivers\mixer\wdmaud.drv,Description,,"%PREFIX%" Audio Capture Device""

; Add audio input and output pinnames
HKLM,SYSTEM\CurrentControlSet\Control\MediaCategories\%NXPUSB_ANLG_AUDIO_IN_PIN%,"Name",,"Analog Audio In"
HKLM,SYSTEM\CurrentControlSet\Control\MediaCategories\%NXPUSB_ANLG_AUDIO_OUT_PIN%,"Name",,"Audio"

[NXPUSBCap.AddReg.Analog.NTAMD64]
; Audio capture registry entries
HKR,,AssociatedFilters,,"wdmaud,swmidi,redbook"
HKR,,Driver,,NXPUSBCapx64.sys

HKR,Drivers,SubClasses,,"wave,mixer"

HKR,Drivers\wave\wdmaud.drv,Driver,,wdmaud.drv
HKR,Drivers\mixer\wdmaud.drv,Driver,,wdmaud.drv

HKR,Drivers\wave\wdmaud.drv,Description,,"%PREFIX%" Audio Capture Device""
HKR,Drivers\mixer\wdmaud.drv,Description,,"%PREFIX%" Audio Capture Device""

; Add audio input and output pinnames
HKLM,SYSTEM\CurrentControlSet\Control\MediaCategories\%NXPUSB_ANLG_AUDIO_IN_PIN%,"Name",,"Analog Audio In"
HKLM,SYSTEM\CurrentControlSet\Control\MediaCategories\%NXPUSB_ANLG_AUDIO_OUT_PIN%,"Name",,"Audio"


[NXPUSBCap.EventInstall]
AddReg = NXPUSBCapEvent_AddReg

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

;
;*** strings, GUIDs and names
;

[Strings]

; Proxy GUIDs

KSProxy.CLSID   = "{17CCA71B-ECD7-11D0-B908-00A0C9223196}"
KSXBar.CLSID    = "{71F96460-78F3-11d0-A18C-00A0C9118956}"
KSTVAudio.CLSID = "{71F96462-78F3-11d0-A18C-00A0C9118956}"
KSTvTune.CLSID  = "{266EEE40-6C63-11cf-8A03-00AA006ECB65}"

; Category GUIDs

KSCATEGORY_CAPTURE                = "{65E8773D-8F56-11D0-A3B9-00A0C9223196}"
KSCATEGORY_VIDEO                  = "{6994AD05-93EF-11D0-A3CC-00A0C9223196}"
KSCATEGORY_AUDIO                  = "{6994AD04-93EF-11D0-A3CC-00A0C9223196}"
KSCATEGORY_CROSSBAR               = "{a799a801-a46d-11d0-a18c-00a02401dcd4}"
KSCATEGORY_TVAUDIO                = "{a799a802-a46d-11d0-a18c-00a02401dcd4}"
KSCATEGORY_TVTUNER                = "{a799a800-a46d-11d0-a18c-00a02401dcd4}"
KSCATEGORY_BDA_RECEIVER_COMPONENT = "{FD0A5AF4-B41D-11d2-9C95-00C04F7971E0}"
KSCATEGORY_BDA_NETWORK_TUNER      = "{71985F48-1CA1-11d3-9CC8-00C04F7971E0}"

; Our Pin GUIDs

NXPUSB_ANLG_AUDIO_IN_PIN 					= "{C41DA2E0-AAE9-4ee2-B245-9539E0AA8791}"
NXPUSB_ANLG_AUDIO_OUT_PIN					= "{CF7BC75D-F214-406f-8986-7CA75CCE3E37}"

; system defines

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 

;Our strings

MFGNAME												= "NXP"
PREFIX												= "NXP USB"

NXPCyUSB.SvcDesc							= "NXP Cypress USB Driver"
NXPCyUSB.GUID									= "{5F9B7B37-6603-4e2d-8BBA-D53EE692DF35}"

NXPUSBCap.SvcDesc							= " BDA Capture Driver"

VID_04CC&PID_1001.DeviceDesc	= " BDA (DVB-T + IR) (C0)"
VID_04CC&PID_1002.DeviceDesc	= " BDA (DVB-T + IR) (C2)"
VID_04CC&PID_1003.DeviceDesc	= " BDA (Analog + DVB-T + IR) (C2)"
VID_04CC&PID_1004.DeviceDesc	= " BDA (Analog + DVB-T + IR) (C0)"

String1002.DeviceDesc	= " DVB-T 325U"

; bad VID
VID_1131&PID_1001.DeviceDesc	= " BDA (DVB-T + IR) (C0) [bad VID]"
VID_1131&PID_1002.DeviceDesc	= " BDA (DVB-T + IR) (C2) [bad VID]"

NXP_INSTALL										= " BDA Driver Installation Disk"
SERVICE_DESCRIPTION						= " Capture Driver"
