;/*++
;
;Copyright (c) 2009-2012 Intel Corporation All rights Reserved
;
;Module Name:
;    GpioClv.inf
;
;Abstract:
;    INF file for installing GPIO Framework GpioClv Driver
;
;Installation Notes:
;    Using Devcon: Type "devcon update GpioClv.inf ACPI\INT33B2" to install
;
;--*/

[Version]
Signature="$WINDOWS NT$"
Class=System
ClassGuid={4D36E97D-E325-11CE-BFC1-08002BE10318}
Provider=%INTEL%
DriverVer=01/27/2013,6.2.9200.26576
CatalogFile=GpioClv.cat
PnPLockDown=1

[PackageInfo]
Name=IO

;-------------------------------------------------------------------------------
;   Device Section
;-------------------------------------------------------------------------------

[Manufacturer]
%INTEL%=Intel,NTx86

[Intel.NTx86]
;%ACPI\INT33B2.DeviceDesc%=GPIOCLV_NOREV, ACPI\INT33B2
%ACPI\VEN_INT&DEV_33B2&REV_0000.DeviceDesc%=GPIOCLV_A0_B0_AON,  ACPI\VEN_INT&DEV_33B2&REV_0000
%ACPI\VEN_INT&DEV_33B2&REV_0001.DeviceDesc%=GPIOCLV_A0_B0_CORE, ACPI\VEN_INT&DEV_33B2&REV_0001
%ACPI\VEN_INT&DEV_33B2&REV_0002.DeviceDesc%=GPIOCLV_C0_AON,     ACPI\VEN_INT&DEV_33B2&REV_0002
%ACPI\VEN_INT&DEV_33B2&REV_0003.DeviceDesc%=GPIOCLV_C0_CORE,    ACPI\VEN_INT&DEV_33B2&REV_0003

[GPIOCLV_A0_B0_AON.HW]
AddReg = GPIOCLV_HW.AddReg

[GPIOCLV_A0_B0_CORE.HW]
AddReg = GPIOCLV_HW.AddReg

[GPIOCLV_C0_AON.HW]
AddReg = GPIOCLV_HW.AddReg

[GPIOCLV_C0_CORE.HW]
AddReg = GPIOCLV_HW.AddReg

[GPIOCLV_HW.AddReg]
;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)"
HKLM, "System\CurrentControlSet\Control\SafeBoot\Minimal\gpioclv.sys",,,"Driver"

;-------------------------------------------------------------------------------
;   Driver Section
;-------------------------------------------------------------------------------

;
; ----Instance without a _HRV field----
;
;[GPIOCLV_NOREV]
;CopyFiles=Drivers_Dir
;
;[GPIOCLV_NOREV.Services]
;AddService = GPIOCLV,%SPSVCINST_ASSOCSERVICE%, GPIOCLV.AddService

;
; ----Instance with HRV=0----
;
[GPIOCLV_A0_B0_AON]
CopyFiles=Drivers_Dir
Reboot

[GPIOCLV_A0_B0_AON.Services]
AddService = GPIOCLV,%SPSVCINST_ASSOCSERVICE%, GPIOCLV.AddService

;
; ----Instance with HRV=1----
;
[GPIOCLV_A0_B0_CORE]
CopyFiles=Drivers_Dir
Reboot

[GPIOCLV_A0_B0_CORE.Services]
AddService = GPIOCLV,%SPSVCINST_ASSOCSERVICE%, GPIOCLV.AddService

;
; ----Instance with HRV=2----
;
[GPIOCLV_C0_AON]
CopyFiles=Drivers_Dir
Reboot

[GPIOCLV_C0_AON.Services]
AddService = GPIOCLV,%SPSVCINST_ASSOCSERVICE%, GPIOCLV.AddService

;
; ----Instance with HRV=3----
;
[GPIOCLV_C0_CORE]
CopyFiles=Drivers_Dir
Reboot

[GPIOCLV_C0_CORE.Services]
AddService = GPIOCLV,%SPSVCINST_ASSOCSERVICE%, GPIOCLV.AddService

;-------------------------------------------------------------------------------
;   Driver Install Section
;-------------------------------------------------------------------------------

[GPIOCLV.AddService]
DisplayName    = %Driver_Service.Desc%
ServiceType    = 1               ; SERVICE_KERNEL_DRIVER
StartType      = 3               ; SERVICE_DEMAND_START 
ErrorControl   = 1               ; SERVICE_ERROR_NORMAL
ServiceBinary  = %12%\GPIOCLV.sys
LoadOrderGroup = Extended Base
;Dependencies   = LNWIPC

;-------------------------------------------------------------------------------
;   Class Section
;-------------------------------------------------------------------------------

[DestinationDirs]
DefaultDestDir = 12

[Drivers_Dir]
GPIOCLV.sys

[SourceDisksNames]
1 = %DiskId1%,,,""

[SourceDisksFiles]
GPIOCLV.sys  = 1,,

[ControlFlags]
ExcludeFromSelect = *

;-------------------------------------------------------------------------------
;	Strings
;-------------------------------------------------------------------------------

[Strings]
SPSVCINST_ASSOCSERVICE = 0x00000002
INTEL = "Intel Corporation"
DiskId1 = "Intel(R) Atom(TM) Processor Z2760 GPIO Controller Installation Disk #1"
Driver_Service.Desc ="Intel(R) Atom(TM) Processor Z2760 GPIO Controller Service"
ACPI\INT33B2.DeviceDesc                   = "Intel(R) Atom(TM) Processor Z2760 GPIO Controller"
ACPI\VEN_INT&DEV_33B2&REV_0000.DeviceDesc = "Intel(R) Atom(TM) Processor Z2760 ES GPIO AON Controller"
ACPI\VEN_INT&DEV_33B2&REV_0001.DeviceDesc = "Intel(R) Atom(TM) Processor Z2760 ES GPIO CORE Controller"
ACPI\VEN_INT&DEV_33B2&REV_0002.DeviceDesc = "Intel(R) Atom(TM) Processor Z2760 GPIO AON Controller"
ACPI\VEN_INT&DEV_33B2&REV_0003.DeviceDesc = "Intel(R) Atom(TM) Processor Z2760 GPIO CORE Controller"
