;-----------------------------------------------------------------------------
;
; INTEL CONFIDENTIAL
; Copyright (2000 - 2015)
; Intel Corporation All Rights Reserved.
;
; The source code contained or described herein and all documents related to
; the source code ("Material") are owned by Intel Corporation or its suppliers
; or licensors. Title to the Material remains with Intel Corporation or its
; suppliers and licensors. The Material contains trade secrets and proprietary
; and confidential information of Intel or its suppliers and licensors. The
; Material is protected by worldwide copyright and trade secret laws and treaty
; provisions. No part of the Material may be used, copied, reproduced, modified,
; published, uploaded, posted, transmitted, distributed, or disclosed in any way
; without Intel?s prior express written permission.
;
; No license under any patent, copyright, trade secret or other intellectual
; property right is granted to or conferred upon you by disclosure or delivery
; of the Materials, either expressly, by implication, inducement, estoppel or
; otherwise. Any license under such intellectual property rights must be express
; and approved by Intel in writing.
;
;-----------------------------------------------------------------------------
[Version]
Signature="$CHICAGO$"
Class=HIDClass
ClassGuid={745a17a0-74d3-11d0-b6fe-00a0c90f57da}
Provider=%INTEL%
CatalogFile=iaPreciseTouch.cat
DriverVer = 08/25/2020,2.1.0.96
;PnpLockDown=1 ;Enable this later when we get close to production/inbox

[SourceDisksFiles]
iaPreciseTouch.sys = 99

[SourceDisksNames]
99 = %DISK_NAME%,,,""

[DestinationDirs]
precisetouch.Inst.CopyFunctionDriver = 12

[Manufacturer]
%INTEL%=Intel, NTamd64.10.0

[Intel.NTamd64.10.0]
;Delete the following ??
;%precisetouch.DeviceDesc%    = precisetouch.Inst, PCI\VEN_8086&DEV_9C3B; Do we need this??
;%precisetouch.DeviceDesc%    = precisetouch.Inst, PCI\VEN_8086&DEV_9CBB; Do we need this??
;HECI3 device
;%precisetouch.DeviceDesc%    = precisetouch.Inst.Win7, PCI\VEN_8086&DEV_9D3E ; why is there a Inst.Win7

%precisetouch.DeviceDesc%    = precisetouch.Inst, PCI\VEN_8086&DEV_9D3E
%precisetouch.DeviceDesc%    = precisetouch.Inst, PCI\VEN_8086&DEV_A13E

;CNP_PCH-LP HECI3 HWID
%precisetouch.DeviceDesc%    = precisetouch.Inst, PCI\VEN_8086&DEV_9DE4
;CNP_PCH-H HECI3 HWID
%precisetouch.DeviceDesc%    = precisetouch.Inst, PCI\VEN_8086&DEV_A364

;ICL_PCH-LP HECI3 HWID
%precisetouch.DeviceDesc%    = precisetouch.Inst, PCI\VEN_8086&DEV_34E4
;ICL_PCH-H HECI3 HWID
%precisetouch.DeviceDesc%    = precisetouch.Inst, PCI\VEN_8086&DEV_3DE4

;CML_PCH-LP HECI3 HWID
%precisetouch.DeviceDesc%    = precisetouch.Inst, PCI\VEN_8086&DEV_02E4
;CMP_PCH-H HECI3 HWID
%precisetouch.DeviceDesc%    = precisetouch.Inst, PCI\VEN_8086&DEV_06E4

[precisetouch.Inst.NT]
; Just copy the driver. No neeed to copy other system binaries.
CopyFiles = precisetouch.Inst.CopyFunctionDriver

[precisetouch.Inst.NT.HW]
AddReg = precisetouch.MsiParameters.AddReg
AddReg = precisetouch.HidConfiguration.AddReg
AddReg = precisetouch.DriverConfiguration.AddReg
;DelReg = precisetouch.Inst.DelReg


[precisetouch.Inst.NT.Services]
AddService = IntTouch,0x00000002, precisetouch_Service_Inst

[precisetouch.DriverConfiguration.AddReg]
HKR,,"TouchFolder",0x00000000,"intel"
HKR,,"GraphicsDebugMode",0x00000000,"0x0"
HKR,,"HIDDebugMode",0x00000000,"0x0"
HKR,,"TouchTHQABlobReportID",0x00000000,"0x44"
HKR,,"StylusTHQABlobReportID",0x00000000,"0x45"
;===============================================================
;   Following section is commented out. Enable when needed. 
;   We should probably delete it for the production and
;   have a way of documenting somewhere else 
;===============================================================
;Following section are commented out. Enable when needed. We should probably delete it for the production and
;have a way of documenting somewhere else
;HKR,,"DefaultKernel",0x00000000,"VENDORkernel.bin"
;HKLM,,"Manufacturer",0x00000000,"0x8086"  ; Default manufacture hard code in driver
;HKLM,,"Product",0x00000000,"0xABCD"      ; Default product hard code in driver
;HKLM,,"Version",0x00000000,"0x4"         ; Default vendor hard code in driver
;HKLM,,"VendorDescriptorFileName",0x00000000,"vendorDescriptor.bin"
;HKLM,,"MaxTouchReportID",0x00000000,"0x4"    ;Default hard code value 4 in driver
;HKLM,,"TouchTHQABlobFile ",0x00000000,"vendortouchblob.bin"  ; Vendor needs to create this
;HKLM,,"StylusTHQABlobFile",0x00000000,"vendortouchblob.bin"  ; Vendor needs to create this
;Timer value that ME uses to put the sensor in doze mode after inactivity
;HKLM,,"DozeTimer",0x00000000,"0x12c"
;Timer value that HID driver uses to initiate HECI power gate flow
;HKLM,,"HECIPowerGateTimer",0x00000000,"0xA"
;Spi Frequency override value ME uses: 0->No override. 1->Force frequency to 17MHz. 2->Force frequency to 30MHz.
;HKLM,,"SpiFrequencyOverride",0x00000000,"0"
;Spi IO Mode override value ME uses: 0->No override. 1->Force Single I/O. 2->Force Dual I/O. 3->Force Quad I/O
;HKLM,,"SpiIoOverride",0x00000000,"0"
;32 bit value used by ME for debug purposes. The meaning of the individual bits will be agnostic to the HID driver, so ME can use these for any debug settings that are needed
;HKLM,,"DebugOverride",0x00000000,"0"

[precisetouch.MsiParameters.AddReg]
HKR,Interrupt Management,,0x00000010
HKR,Interrupt Management\MessageSignaledInterruptProperties,,0x00000010
HKR,Interrupt Management\MessageSignaledInterruptProperties,MSISupported,0x00010001,1

[precisetouch.HidConfiguration.AddReg]
HKR,,"DeviceResetNotificationEnabled",0x00010001,1
HKR,,"EnhancedPowerManagementEnabled",0x00010001,1
HKR,,"EnhancedPowerManagementUseMonitor",0x00010001, 1
HKR,,"UpperFilters",0x00010000,"mshidkmdf"

[precisetouch.Inst.DelReg]
;HKR,,"UpperFilters"
HKR,,"TouchFolder"
HKR,,"GraphicsDebugMode"
HKR,,"HIDDebugMode"
HKR,,"TouchTHQABlobReportID"
HKR,,"StylusTHQABlobReportID"
;====================================
;   Following section is commented out. Enable when needed. 
;   We should probably delete it for the production and
;   have a way of documenting somewhere else 
;===============================================================
;HKR,,"MaxTouchReportID"
;HKR,,"TouchBlob"


;===============================================================
;   Sections common to all OS versions
;===============================================================

[precisetouch.Inst.CopyFunctionDriver]
iaPreciseTouch.sys

[precisetouch_Service_Inst]
DisplayName    = %Driver_Service.Desc%
ServiceType    = %SERVICE_KERNEL_DRIVER% 
StartType      = %SERVICE_DEMAND_START% 
ErrorControl   = %SERVICE_ERROR_IGNORE% 
ServiceBinary  = %12%\iaPreciseTouch.sys 

;DelReg = precisetouch.Inst.DelReg

[Strings] 
;  *******Localizable Strings******* 
INTEL         = "Intel Corporation" 
precisetouch.DeviceDesc   = "Intel(R) Precise Touch Device" 
DISK_NAME      = "Intel(R) Precise Touch Installation Disk #1"
Driver_Service.Desc = "Intel(R) Precise Touch Service"

;  *******Non Localizable Strings******* 

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 

REG_EXPAND_SZ          = 0x00020000 
REG_DWORD              = 0x00010001 
REG_MULTI_SZ           = 0x00010000
REG_BINARY             = 0x00000001
REG_SZ                 = 0x00000000
