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

[Version]
signature="$CHICAGO$"
Class=Image
ClassGUID={6bdd1fc6-810f-11d0-bec7-08002be2092f}
Provider=%PROVIDER_NAME%
DriverVer=07/22/2014,603.9600.2102.46274

Catalogfile=camera.cat

[SourceDisksNames]
1000=%cdname%,,,

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

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

[Manufacturer]
%COMPANY_NAME%=Device,NTx86

[Device]
%camera.DeviceDesc%=camera,VIDEO\INT0F38

[Device.NTx86]
%camera.DeviceDesc%=camera,VIDEO\INT0F38

[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
libjpegencoder.dll

[camera.NT.Interfaces]
AddInterface=%KSCATEGORY_VIDEO_CAMERA%, %FilterIMX175%, camera.AddInterfaceIMX175,
AddInterface=%KSCATEGORY_VIDEO_CAMERA%, %FilterOV5693%, camera.AddInterfaceOV5693,
AddInterface=%KSCATEGORY_VIDEO_CAMERA%, %FilterOV2720%, camera.AddInterfaceOV2720,
AddInterface=%KSCATEGORY_VIDEO_CAMERA%, %FilterOV2720Rear%, camera.AddInterfaceOV2720Rear,
AddInterface=%KSCATEGORY_VIDEO_CAMERA%, %FilterOV2722%, camera.AddInterfaceOV2722,
AddInterface=%KSCATEGORY_VIDEO_CAMERA%, %FilterOV2722Rear%, camera.AddInterfaceOV2722Rear,
AddInterface=%KSCATEGORY_VIDEO_CAMERA%, %FilterOV5645%, camera.AddInterfaceOV5645,
AddInterface=%KSCATEGORY_VIDEO_CAMERA%, %FilterS5k4ec%, camera.AddInterfaceS5k4ec,
AddInterface=%KSCATEGORY_VIDEO_CAMERA%, %FilterSR352%,  camera.AddInterfaceSR352,
AddInterface=%KSCATEGORY_VIDEO_CAMERA%, %FilterMT9M114%, camera.AddInterfaceMT9M114,
AddInterface=%KSCATEGORY_VIDEO_CAMERA%, %FilterAR0543%, camera.AddInterfaceAR0543,
AddInterface=%KSCATEGORY_VIDEO_CAMERA%, %FilterGC2235Front%, camera.AddInterfaceGC2235Front,
AddInterface=%KSCATEGORY_VIDEO_CAMERA%, %FilterGC2235Rear%, camera.AddInterfaceGC2235Rear,
AddInterface=%KSCATEGORY_VIDEO_CAMERA%, %FilterIMX219%, camera.AddInterfaceIMX219,
AddInterface=%KSCATEGORY_VIDEO_CAMERA%, %FilterOV2724%, camera.AddInterfaceOV2724,
AddInterface=%KSCATEGORY_VIDEO_CAMERA%, %FilterHM2056Front%, camera.AddInterfaceHM2056Front,
AddInterface=%KSCATEGORY_VIDEO_CAMERA%, %FilterHM2056Rear%, camera.AddInterfaceHM2056Rear,


AddInterface=%KSCATEGORY_CAPTURE%, %FilterIMX175%, camera.AddInterfaceIMX175,
AddInterface=%KSCATEGORY_CAPTURE%, %FilterOV5693%, camera.AddInterfaceOV5693,
AddInterface=%KSCATEGORY_CAPTURE%, %FilterOV2720%, camera.AddInterfaceOV2720,
AddInterface=%KSCATEGORY_CAPTURE%, %FilterOV2720Rear%, camera.AddInterfaceOV2720Rear,
AddInterface=%KSCATEGORY_CAPTURE%, %FilterOV2722%, camera.AddInterfaceOV2722,
AddInterface=%KSCATEGORY_CAPTURE%, %FilterOV2722Rear%, camera.AddInterfaceOV2722Rear,
AddInterface=%KSCATEGORY_CAPTURE%, %FilterOV5645%, camera.AddInterfaceOV5645,
AddInterface=%KSCATEGORY_CAPTURE%, %FilterS5k4ec%, camera.AddInterfaceS5k4ec,
AddInterface=%KSCATEGORY_CAPTURE%, %FilterSR352%,  camera.AddInterfaceSR352,
AddInterface=%KSCATEGORY_CAPTURE%, %FilterMT9M114%, camera.AddInterfaceMT9M114,
AddInterface=%KSCATEGORY_CAPTURE%, %FilterAR0543%, camera.AddInterfaceAR0543,
AddInterface=%KSCATEGORY_CAPTURE%, %FilterGC2235Front%, camera.AddInterfaceGC2235Front,
AddInterface=%KSCATEGORY_CAPTURE%, %FilterGC2235Rear%, camera.AddInterfaceGC2235Rear,
AddInterface=%KSCATEGORY_CAPTURE%, %FilterIMX219%, camera.AddInterfaceIMX219,
AddInterface=%KSCATEGORY_CAPTURE%, %FilterOV2724%, camera.AddInterfaceOV2724,
AddInterface=%KSCATEGORY_CAPTURE%, %FilterHM2056Front%, camera.AddInterfaceHM2056Front,
AddInterface=%KSCATEGORY_CAPTURE%, %FilterHM2056Rear%, camera.AddInterfaceHM2056Rear,

AddInterface=%KSCATEGORY_VIDEO%, %FilterIMX175%, camera.AddInterfaceIMX175,
AddInterface=%KSCATEGORY_VIDEO%, %FilterOV5693%, camera.AddInterfaceOV5693,
AddInterface=%KSCATEGORY_VIDEO%, %FilterOV2720%, camera.AddInterfaceOV2720,
AddInterface=%KSCATEGORY_VIDEO%, %FilterOV2720Rear%, camera.AddInterfaceOV2720Rear,
AddInterface=%KSCATEGORY_VIDEO%, %FilterOV2722%, camera.AddInterfaceOV2722,
AddInterface=%KSCATEGORY_VIDEO%, %FilterOV2722Rear%, camera.AddInterfaceOV2722Rear,
AddInterface=%KSCATEGORY_VIDEO%, %FilterOV5645%, camera.AddInterfaceOV5645,
AddInterface=%KSCATEGORY_VIDEO%, %FilterS5k4ec%, camera.AddInterfaceS5k4ec,
AddInterface=%KSCATEGORY_VIDEO%, %FilterSR352%,  camera.AddInterfaceSR352,
AddInterface=%KSCATEGORY_VIDEO%, %FilterMT9M114%, camera.AddInterfaceMT9M114,
AddInterface=%KSCATEGORY_VIDEO%, %FilterAR0543%, camera.AddInterfaceAR0543,
AddInterface=%KSCATEGORY_VIDEO%, %FilterGC2235Front%, camera.AddInterfaceGC2235Front,
AddInterface=%KSCATEGORY_VIDEO%, %FilterGC2235Rear%, camera.AddInterfaceGC2235Rear,
AddInterface=%KSCATEGORY_VIDEO%, %FilterIMX219%, camera.AddInterfaceIMX219,
AddInterface=%KSCATEGORY_VIDEO%, %FilterOV2724%, camera.AddInterfaceOV2724,
AddInterface=%KSCATEGORY_VIDEO%, %FilterHM2056Front%, camera.AddInterfaceHM2056Front,
AddInterface=%KSCATEGORY_VIDEO%, %FilterHM2056Rear%, camera.AddInterfaceHM2056Rear,

[camera.AddInterfaceIMX175]
AddReg=camera.AddRegIMX175

[camera.AddInterfaceOV5693]
AddReg=camera.AddRegOV5693

[camera.AddInterfaceOV2720]
AddReg=camera.AddRegOV2720

[camera.AddInterfaceOV2720Rear]
AddReg=camera.AddRegOV2720Rear

[camera.AddInterfaceOV2722]
AddReg=camera.AddRegOV2722

[camera.AddInterfaceOV2722Rear]
AddReg=camera.AddRegOV2722Rear

[camera.AddInterfaceOV5645]
AddReg=camera.AddRegOV5645

[camera.AddInterfaceS5k4ec]
AddReg=camera.AddRegS5k4ec

[camera.AddInterfaceSR352]
AddReg=camera.AddRegSR352

[camera.AddInterfaceMT9M114]
AddReg=camera.AddRegMT9M114

[camera.AddInterfaceAR0543]
AddReg=camera.AddRegAR0543

[camera.AddInterfaceGC2235Front]
AddReg=camera.AddRegGC2235Front

[camera.AddInterfaceGC2235Rear]
AddReg=camera.AddRegGC2235Rear

[camera.AddInterfaceIMX219]
AddReg=camera.AddRegIMX219

[camera.AddInterfaceOV2724]
AddReg=camera.AddRegOV2724

[camera.AddInterfaceHM2056Front]
AddReg=camera.AddRegHM2056Front

[camera.AddInterfaceHM2056Rear]
AddReg=camera.AddRegHM2056Rear

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[camera.AddRegHM2056Rear]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%camera.FriendlyNameHM2056Rear%
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

[SpecificParameter]
HKR,, "SupportMuteMode", %REG_DWORD%, 1
HKR,, "FrontMuteState", %REG_DWORD%, 0
HKR,, "BackMuteState", %REG_DWORD%, 0
HKR,, "SupportBayerDs", %REG_DWORD%, 1
HKR,, "DisableDualCameraStreaming", %REG_DWORD%, 1
HKR,, "PhotoSeqMaxHistoryFrames", %REG_DWORD%, 5
HKR,, "CVFRawBufferNum", %REG_DWORD%, 6
HKR,, "DisablePhotoSequence", %REG_DWORD%, 1

[camera_hw_AddReg]
HKR, "Interrupt Management", 0x00000010
HKR, "Interrupt Management\MessageSignaledInterruptProperties", 0x00000010
HKR, "Interrupt Management\MessageSignaledInterruptProperties", MSISupported, 0x00010001, 1
HKR,,"DeviceCharacteristics",0x10001,0x0100     ; Use same security checks on relative opens
HKR,,Security,,"D:P(A;;GA;;;SY)(A;;GRGWGX;;;BA)(A;;GRGWGX;;;WD)(A;;GR;;;RC)"


[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 2400"
camera.FriendlyNameIMX175="IMX175"
camera.FriendlyNameOV5693="OV5693"
camera.FriendlyNameOV2720="OV2720"
camera.FriendlyNameOV2720Rear="OV2720 Rear"
camera.FriendlyNameOV2722="OV2722"
camera.FriendlyNameOV2722Rear="OV2722 Rear"
camera.FriendlyNameOV5645="OV5645"
camera.FriendlyNameS5k4ec="S5k4ec"
camera.FriendlyNameR352="SR352"
camera.FriendlyNameMT9M114="MT9M114"
camera.FriendlyNameAR0543="AR0543"
camera.FriendlyNameGC2235Front="GC2235Front"
camera.FriendlyNameGC2235Rear="GC2235Rear"
camera.FriendlyNameIMX219="IMX219"
camera.FriendlyNameOV2724="OV2724"
camera.FriendlyNameHM2056Front="HM2056Front"
camera.FriendlyNameHM2056Rear="HM2056Rear"
cdname="Intel Camera Installation Disk"
FilterIMX175="{D5B24B01-FF44-4F5D-92EA-622A44C3566A}"
FilterOV5693="{012395E3-6D6D-43EB-BEAA-7AE5EC4BC9D8}"
FilterOV2720="{779d75b5-406f-4b9c-b86a-55c2029cc7ad}"
FilterOV2720Rear="{B2A5AD33-08E3-4F6E-9E68-23F8B310F100}"
FilterOV2722="{7BCED037-BF28-4C43-A060-53E57B08C5CC}"
FilterOV2722Rear="{8F40B5E7-35D3-40E3-9D2C-334877741A3E}"
FilterOV5645="{10E87B3B-052D-4EB4-9183-34BA61BAE1FB}"
FilterS5k4ec="{AAD378A5-355B-4D20-80D7-56DD4CF7F335}"
FilterSR352="{C3FEFAEB-0B39-480A-9997-ACC30308025A}"
FilterMT9M114="{072D0810-2019-4DDF-9383-585B564C6B26}"
FilterAR0543="{0F35712A-70BD-494D-9CCD-5E2DAC09CBC8}"
FilterGC2235Front="{076E1022-398F-41B0-8AA7-EAA9FAA16ADB}"
FilterGC2235Rear="{CAA6E9B6-5CCF-4415-BFF1-773B8D2E646A}"
FilterIMX219="{02C13994-06D4-4204-854A-BC5C1BD63509}"
FilterOV2724="{063F9292-1DA8-45EE-B1DE-D861814C6E74}"
FilterHM2056Front="{78949CB1-5334-4BAA-8381-09CEBAF1D2B9}"
FilterHM2056Rear="{D8684DA9-93A9-47D9-A05B-E4EA9E41AABE}"
