;/*++
;
;Copyright (c) 2010-2011 Intel Corporation
;
;Module Name:
;
;    camera.inf
;
;Abstract:
;    INF file for installing intel camera (PCI\VEN_8086&DEV_08D0&SUBSYS_00000000) driver
;
;Installation Notes:
;    Using Devcon: Type "devcon update camera.inf "PCI\VEN_8086&DEV_08D0&SUBSYS_00000000"" to install
;
;--*/

[Version]
signature="$CHICAGO$"
Class=Image
ClassGUID={6bdd1fc6-810f-11d0-bec7-08002be2092f}
Provider=%COMPANY_NAME%
DriverVer=06/15/2013,6.2.9200.34330
Catalogfile=camera.cat

[PackageInfo]
Name=camera

[SourceDisksNames]
1000=%cdname%,,,

[SourceDisksFiles]
camera.sys=1000
isp_firmware.bin=1000
IntelCameraPlugin.dll=1000
IntelSocYuvCopy.dll=1000
mute.bmp=1000

[DestinationDirs]
DefaultDestDir=12
camera.CopyFiles=12
camera.CopyDLLs=11

[Manufacturer]
%COMPANY_NAME%=Device, NTx86

[Device.NTx86]
%camera.DeviceDesc%=camera,PCI\VEN_8086&DEV_08D0&SUBSYS_00000000

[camera.NT]
Include=ks.inf, KSCAPTUR.inf
Needs=KS.Registration,KSCAPTUR.Registration.NT
CopyFiles=camera.CopyFiles
CopyFiles=camera.CopyDLLs
RegisterDlls = camera.RegSvr
Reboot

[camera.RegSvr]
11,,IntelCameraPlugin.dll, 1
11,,IntelSocYuvCopy.dll, 1

[camera.CopyFiles]
camera.sys
isp_firmware.bin
mute.bmp

[camera.CopyDLLs]
IntelCameraPlugin.dll
IntelSocYuvCopy.dll

[camera.NT.Interfaces]
AddInterface=%KSCATEGORY_VIDEO_CAMERA%, %FilterFIFO%, camera.AddInterface,
AddInterface=%KSCATEGORY_VIDEO_CAMERA%, %FilterMT9E013%, camera.AddInterfaceMT9E013,
AddInterface=%KSCATEGORY_VIDEO_CAMERA%, %FilterIMX175%, camera.AddInterfaceIMX175,
AddInterface=%KSCATEGORY_VIDEO_CAMERA%, %FilterOV8830%, camera.AddInterfaceOV8830,
AddInterface=%KSCATEGORY_VIDEO_CAMERA%, %FilterOV2720Front%, camera.AddInterfaceOV2720Front,
AddInterface=%KSCATEGORY_VIDEO_CAMERA%, %FilterOV2720Rear%, camera.AddInterfaceOV2720Rear,
AddInterface=%KSCATEGORY_VIDEO_CAMERA%, %FilterOV2722Front%, camera.AddInterfaceOV2722Front,
AddInterface=%KSCATEGORY_VIDEO_CAMERA%, %FilterOV2722Rear%, camera.AddInterfaceOV2722Rear,
AddInterface=%KSCATEGORY_VIDEO_CAMERA%, %FilterOV9726%, camera.AddInterfaceOV9726,
AddInterface=%KSCATEGORY_VIDEO_CAMERA%, %FilterS5K4EC%, camera.AddInterfaceS5K4EC,

AddInterface=%KSCATEGORY_CAPTURE%, %FilterFIFO%, camera.AddInterface,
AddInterface=%KSCATEGORY_CAPTURE%, %FilterMT9E013%, camera.AddInterfaceMT9E013,
AddInterface=%KSCATEGORY_CAPTURE%, %FilterIMX175%, camera.AddInterfaceIMX175,
AddInterface=%KSCATEGORY_CAPTURE%, %FilterOV8830%, camera.AddInterfaceOV8830,
AddInterface=%KSCATEGORY_CAPTURE%, %FilterOV2720Front%, camera.AddInterfaceOV2720Front,
AddInterface=%KSCATEGORY_CAPTURE%, %FilterOV2720Rear%, camera.AddInterfaceOV2720Rear,
AddInterface=%KSCATEGORY_CAPTURE%, %FilterOV2722Front%, camera.AddInterfaceOV2722Front,
AddInterface=%KSCATEGORY_CAPTURE%, %FilterOV2722Rear%, camera.AddInterfaceOV2722Rear,
AddInterface=%KSCATEGORY_CAPTURE%, %FilterOV9726%, camera.AddInterfaceOV9726,
AddInterface=%KSCATEGORY_CAPTURE%, %FilterS5K4EC%, camera.AddInterfaceS5K4EC,

AddInterface=%KSCATEGORY_VIDEO%, %FilterFIFO%, camera.AddInterface,
AddInterface=%KSCATEGORY_VIDEO%, %FilterMT9E013%, camera.AddInterfaceMT9E013,
AddInterface=%KSCATEGORY_VIDEO%, %FilterIMX175%, camera.AddInterfaceIMX175,
AddInterface=%KSCATEGORY_VIDEO%, %FilterOV8830%, camera.AddInterfaceOV8830,
AddInterface=%KSCATEGORY_VIDEO%, %FilterOV2720Front%, camera.AddInterfaceOV2720Front,
AddInterface=%KSCATEGORY_VIDEO%, %FilterOV2720Rear%, camera.AddInterfaceOV2720Rear,
AddInterface=%KSCATEGORY_VIDEO%, %FilterOV2722Front%, camera.AddInterfaceOV2722Front,
AddInterface=%KSCATEGORY_VIDEO%, %FilterOV2722Rear%, camera.AddInterfaceOV2722Rear,
AddInterface=%KSCATEGORY_VIDEO%, %FilterOV9726%, camera.AddInterfaceOV9726,
AddInterface=%KSCATEGORY_VIDEO%, %FilterS5K4EC%, camera.AddInterfaceS5K4EC,

[camera.AddInterface]
AddReg=camera.AddReg

[camera.AddInterfaceMT9E013]
AddReg=camera.AddRegMT9E013

[camera.AddInterfaceIMX175]
AddReg=camera.AddRegIMX175

[camera.AddInterfaceOV8830]
AddReg=camera.AddRegOV8830

[camera.AddInterfaceOV2720Front]
AddReg=camera.AddRegOV2720Front

[camera.AddInterfaceOV2720Rear]
AddReg=camera.AddRegOV2720Rear

[camera.AddInterfaceOV2722Front]
AddReg=camera.AddRegOV2722Front

[camera.AddInterfaceOV2722Rear]
AddReg=camera.AddRegOV2722Rear

[camera.AddInterfaceOV9726]
AddReg=camera.AddRegOV9726

[camera.AddInterfaceS5K4EC]
AddReg=camera.AddRegS5K4EC

[camera.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%camera.FriendlyName%
HKR,,CameraPostProcessingPluginCLSID,,%IHV_PLUGIN%

[camera.NT.HW]
Include=machine.inf
Needs=PciD3ColdSupported
AddReg=camera_hw_AddReg

[camera.AddRegMT9E013]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%camera.FriendlyNameMT9E013%
HKR,,CameraPostProcessingPluginCLSID,,%IHV_PLUGIN%

[camera.AddRegIMX175]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%camera.FriendlyNameIMX175%
HKR,,CameraPostProcessingPluginCLSID,,%IHV_PLUGIN%

[camera.AddRegOV2720Front]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%camera.FriendlyNameOV2720Front%
HKR,,CameraPostProcessingPluginCLSID,,%IHV_PLUGIN%

[camera.AddRegOV8830]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%camera.FriendlyNameOV8830%
HKR,,CameraPostProcessingPluginCLSID,,%IHV_PLUGIN%

[camera.AddRegOV2720Rear]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%camera.FriendlyNameOV2720Rear%
HKR,,CameraPostProcessingPluginCLSID,,%IHV_PLUGIN%

[camera.AddRegOV2722Front]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%camera.FriendlyNameOV2722Front%
HKR,,CameraPostProcessingPluginCLSID,,%IHV_PLUGIN%

[camera.AddRegOV2722Rear]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%camera.FriendlyNameOV2722Rear%
HKR,,CameraPostProcessingPluginCLSID,,%IHV_PLUGIN%

[camera.AddRegOV9726]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%camera.FriendlyNameOV9726%
HKR,,CameraPostProcessingPluginCLSID,,%IHV_PLUGIN%

[camera.AddRegS5K4EC]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%camera.FriendlyNameS5K4EC%
HKR,,CameraPostProcessingPluginCLSID,,%IHV_PLUGIN%

[camera.NT.Services]
AddService=camera, 0x00000002, camera.ServiceInstall

[camera.ServiceInstall]
DisplayName=%camera.DeviceDesc%
ServiceType=%SERVICE_KERNEL_DRIVER%
StartType=%SERVICE_DEMAND_START%
ErrorControl=%SERVICE_ERROR_NORMAL%
ServiceBinary=%12%\camera.sys
AddReg = SpecificParameter, camera.Security

[SpecificParameter]
HKR,, "SupportMuteMode", %REG_DWORD%, 1
HKR,, "FrontMuteState", %REG_DWORD%, 0
HKR,, "BackMuteState", %REG_DWORD%, 0

[camera.Security]
;Use same security checks on relative opens
HKR,,DeviceCharacteristics,0x10001,0x0100
;Grant access just to built-in administrators, local system, and usermode drivers
HKR,,Security,,"D:P(A;;GA;;;BA)(A;;GA;;;SY)(A;;GA;;;S-1-5-84-0-0-0-0-0)(D;;GA;;;WD)"

[camera_hw_AddReg]
HKR, "Interrupt Management", 0x00000010
HKR, "Interrupt Management\MessageSignaledInterruptProperties", 0x00000010
HKR, "Interrupt Management\MessageSignaledInterruptProperties", MSISupported, 0x00010001, 1

[Strings]
Proxy.CLSID="{17CCA71B-ECD7-11D0-B908-00A0C9223196}"
KSCATEGORY_VIDEO_CAMERA="{E5323777-F976-4f5b-9B55-B94699C46E44}"
KSCATEGORY_CAPTURE="{65E8773D-8F56-11D0-A3B9-00A0C9223196}"
KSCATEGORY_VIDEO="{6994AD05-93EF-11D0-A3CC-00A0C9223196}"
IHV_PLUGIN="{5CDB3151-134C-4622-8E44-FAA9158D2F4C}"

SERVICE_KERNEL_DRIVER=1
SERVICE_DEMAND_START=3
SERVICE_ERROR_NORMAL=1
REG_DWORD=0x00010001

;localizable
;PROVIDER_NAME="Intel"
COMPANY_NAME="Intel Corporation"
camera.DeviceDesc="Intel(R) Imaging Signal Processor 2300"
camera.FriendlyName="Intel FIFO camera"
camera.FriendlyNameMT9E013="MT9E013"
camera.FriendlyNameIMX175="IMX175"
camera.FriendlyNameOV8830="OV8830"
camera.FriendlyNameOV2720Front="OV2720 Front"
camera.FriendlyNameOV2720Rear="OV2720 Rear"
camera.FriendlyNameOV2722Front="OV2722 Front"
camera.FriendlyNameOV2722Rear="OV2722 Rear"
camera.FriendlyNameOV9726="OV9726"
camera.FriendlyNameS5K4EC="S5K4EC"

cdname="Intel Camera Installation Disk"
FilterMT9E013="{0326EC2B-7F6E-43ED-9997-C5A598469EDB}"
FilterIMX175="{D5B24B01-FF44-4F5D-92EA-622A44C3566A}"
FilterOV8830="{9FB34603-8C9E-41C6-A63A-F145A0FB4E24}"
FilterOV2720Front="{779d75b5-406f-4b9c-b86a-55c2029cc7ad}"
FilterOV2720Rear="{B2A5AD33-08E3-4F6E-9E68-23F8B310F100}"
FilterOV2722Front="{7E445755-67B4-4F25-8B0F-A2CBB01C48EC}"
FilterOV2722Rear="{A7EB17FA-89DE-4BEE-88D6-D3C7BFD9DBB6}"
FilterOV9726="{195BF8B9-EAC1-4FEC-98D5-FF0E86B781AE}"
FilterS5K4EC="{61FF7484-840C-4763-BB90-80AEABBFF9E0}"
FilterFIFO="{a6d06f47-23d2-4b5c-9b3c-40f9bca2bc6e}"
