;
; Copyright (c) 2008-2015 AMD
;

[Version]
Signature="$Windows NT$"
Provider=%AMD%
Class=HDC
ClassGUID={4d36e96a-e325-11ce-bfc1-08002be10318} 
DriverVer=04/15/2015,1.3.001.0277

;- Files ---

[SourceDisksNames]
3426=windows cd

[SourceDisksFiles]
amdsata.sys = 3426
amdxata.sys = 3426

[DestinationDirs]
DefaultDestDir   = 12

;- PNP ---

[Manufacturer]
%AMD%   = AMD,NTX86,NTAMD64

[AMD.NTX86]
%AMDSATA.DeviceDesc% = amdsata_inst, PCI\VEN_1002&DEV_4394&CC_0106
%AMDSATA.DeviceDesc% = amdsata_inst, PCI\VEN_1022&DEV_7804&CC_0106
%AMDSATA.DeviceDesc% = amdsata_inst, PCI\VEN_1022&DEV_7904&CC_0106

[AMD.NTAMD64]
%AMDSATA.DeviceDesc% = amdsata_inst, PCI\VEN_1002&DEV_4394&CC_0106
%AMDSATA.DeviceDesc% = amdsata_inst, PCI\VEN_1022&DEV_7804&CC_0106
%AMDSATA.DeviceDesc% = amdsata_inst, PCI\VEN_1022&DEV_7904&CC_0106

[ControlFlags]
ExcludeFromSelect = *

;- SW ---

[amdsata_inst]
CopyFiles=amdsata_inst.CopyDrv
AddPowerSetting=AhciPowerSetting

[amdsata_inst.CopyDrv]
amdsata.sys
amdxata.sys

[AhciPowerSetting]
Subgroup = {0012ee47-9041-4b5d-9b77-535fba8b1442}
Setting =  {0b2d69d7-a2a1-449c-9680-f91c70521c60}, "AHCI Link Power Management - HIPM/DIPM", "Configures the LPM state.",,0x00000001

Value = 0, "Active", "Neither Host or Device initiated allowed", 0x00010001, 0
Value = 1, "HIPM", "Host initiated allowed only", 0x00010001, 1
Value = 2, "HIPM+DIPM", "Both Host and Device initiated allowed", 0x00010001, 3 
Value = 3, "DIPM", "Device initiated allowed only", 0x00010001, 2 
Value = 4, "Lowest", "HIPM+DIPM+DEVSLP", 0x00010001, 7

; High Performance
Default = {8C5E7FDA-E8BF-4A96-9A85-A6E23A8C635C}, 0, 0
Default = {8C5E7FDA-E8BF-4A96-9A85-A6E23A8C635C}, 1, 1
; Balanced
Default = {381B4222-F694-41F0-9685-FF5BB260DF2E}, 0, 1
Default = {381B4222-F694-41F0-9685-FF5BB260DF2E}, 1, 2
; Power Saving
Default = {A1841308-3541-4FAB-BC81-F71556F20B4A}, 0, 2
Default = {A1841308-3541-4FAB-BC81-F71556F20B4A}, 1, 2


;- SRV ---

[amdsata_inst.Services]
AddService = amdsata, %SPSVCINST_ASSOCSERVICE% , amdsata_Service_Inst, amdsata_EventLog_Inst
AddService = amdxata, , amdxata_Service_Inst, amdxata_EventLog_Inst


[amdsata_Service_Inst]
ServiceType    = %SERVICE_KERNEL_DRIVER%
StartType      = %SERVICE_BOOT_START%
ErrorControl   = %SERVICE_ERROR_NORMAL%
ServiceBinary  = %12%\amdsata.sys
LoadOrderGroup = SCSI miniport
AddReg         = amdsata_Service_AddReg


[amdsata_EventLog_Inst]
AddReg = amdsata_EventLog_AddReg

[amdsata_EventLog_AddReg]
HKR,,EventMessageFile,%REG_EXPAND_SZ%,"%%SystemRoot%%\System32\IoLogMsg.dll"
HKR,,TypesSupported,%REG_DWORD%,7

[amdsata_Service_AddReg]
HKR, "Parameters\PnpInterface", "5", %REG_DWORD%, 0x00000001
HKR, "Parameters", "BusType", %REG_DWORD%, 0x0000000b
HKR, "Parameters\Device","EnableQueryAccessAlignment",%REG_DWORD%, 1
;
HKR, "Parameters\Device","AmdSataFua",%REG_DWORD%, 0
HKR, "Parameters\Device","AmdSataChannelFlags",%REG_DWORD%, 1
HKR, "Parameters\Device","AmdSataWMI",%REG_DWORD%, 0
;HKR, "Parameters\Device","AmdSataHIPM",%REG_DWORD%, 0
;HKR, "Parameters\Device","AmdSataDIPM",%REG_DWORD%, 0
;HKR, "Parameters\Device","AmdSataPMDisabled",%REG_DWORD%, 0xFF
HKR, "Parameters\Device","AmdSataCCC",%REG_DWORD%, 0xFF
HKR, "Parameters\Device","AmdSataCCCTV",%REG_DWORD%, 0xFFFF
HKR, "Parameters\Device","AmdSataCCCCC",%REG_DWORD%, 0x20
HKR, "Parameters\Device","AmdSataSgl",%REG_DWORD%, 0x100
HKR, "Parameters\Device","AmdSataHints",%REG_DWORD%, 1
HKR, "Parameters\Device","AmdSataDevSlp",%REG_DWORD%, 0x3E8
HKR, "Parameters\Device","AmdSataSWSP",%REG_DWORD%, 0x0F

[amdxata_Service_Inst]
ServiceType    = %SERVICE_KERNEL_DRIVER%
StartType      = %SERVICE_BOOT_START%
ErrorControl   = %SERVICE_ERROR_NORMAL%
ServiceBinary  = %12%\amdxata.sys
LoadOrderGroup = SCSI miniport
AddReg         = amdxata_Service_AddReg


[amdxata_EventLog_Inst]
AddReg = amdxata_EventLog_AddReg

[amdxata_EventLog_AddReg]
HKR,,EventMessageFile,%REG_EXPAND_SZ%,"%%SystemRoot%%\System32\IoLogMsg.dll"
HKR,,TypesSupported,%REG_DWORD%,7

[amdxata_Service_AddReg]
HKR, "Parameters","AmdXataOptions",%REG_DWORD%, 1


;- HW ---

[amdsata_inst.HW]
AddReg = amdsata_inst.HW.AddReg

[amdsata_inst.HW.AddReg]
HKR,,"UpperFilters",%REG_MULTI_SZ%,"amdxata"
HKR,,"xata",%REG_DWORD%,1
HKR, "Interrupt Management\MessageSignaledInterruptProperties", MSISupported, %REG_DWORD%, 0

;- Strings ---

[Strings]

; Localizable Strings

AMD = "AMD"
AMDSATA.DeviceDesc = "AMD SATA Controller"

; Non-Localizable Strings

SPSVCINST_ASSOCSERVICE = 0x00000002
SERVICE_KERNEL_DRIVER  = 1
SERVICE_BOOT_START     = 0
SERVICE_SYSTEM_START   = 1
SERVICE_DEMAND_START   = 3
SERVICE_ERROR_NORMAL   = 1

REG_SZ                 = 0
REG_BINARY             = 1
REG_KEYONLY            = 0x00000010
REG_DWORD              = 0x00010001
REG_EXPAND_SZ          = 0x00020000
REG_MULTI_SZ           = 0x00010000
