; This INF file installs the Silicon Image 3531 SATA Controller
; for the SiI 3531 controller on systems running Windows 2000/XP
; Windows Server 2003, and Windows Vista.
;
; Copyright (C) 2009 by Silicon Image, Inc.
; All rights reserved

[Version]
Signature="$Windows NT$"
Class=SCSIAdapter
ClassGuid={4D36E97B-E325-11CE-BFC1-08002BE10318}
Provider=%SI%
CatalogFile=Si3531.cat
DriverVer=06/04/2009, 1.5.20.1

[SourceDisksNames]
1=%DISKNAME%,Si3531.sys,,

[SourceDisksFiles]
Si3531.sys = 1
SilSupp.dll  = 1
SiWinAcc.sys = 1
SiRemFil.sys = 1

[DestinationDirs]
DefaultDestDir	= 12
DllFiles		= 11

[DriverFiles_NT_2K]
Si3531.sys,,,0x20

[DriverFiles_XP]
Si3531.sys,,,0x20
SiWinAcc.sys,,,0x20
SiRemFil.sys,,,0x20

[DllFiles]
SilSupp.dll,,,0x20

[Manufacturer]
%SI%=SI_HDC,NTx86.5.1

[SI_HDC]
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531, PCI\VEN_1095&DEV_3531&SUBSYS_35311095
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531, PCI\VEN_1095&DEV_3531&SUBSYS_14981043
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531, PCI\VEN_1095&DEV_3531&SUBSYS_82501043
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531, PCI\VEN_1095&DEV_3531&SUBSYS_320A1462
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531, PCI\VEN_1095&DEV_3531&SUBSYS_30D4103C
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531, PCI\VEN_1095&DEV_3531&SUBSYS_11071734
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531, PCI\VEN_1095&DEV_3531&SUBSYS_90A01019
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531, PCI\VEN_1095&DEV_3531&SUBSYS_30d4103c
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531, PCI\VEN_1095&DEV_3531&SUBSYS_8958152D
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531, PCI\VEN_1095&DEV_3531&SUBSYS_408317C0
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531, PCI\VEN_1095&DEV_3531&SUBSYS_0690107B
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531, PCI\VEN_1095&DEV_3531&SUBSYS_111F1734
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531, PCI\VEN_1095&DEV_3531&SUBSYS_2F121509
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531, PCI\VEN_1095&DEV_3531&SUBSYS_3FAD1462
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531, PCI\VEN_1095&DEV_3531&SUBSYS_30DE103C
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531, PCI\VEN_1095&DEV_3531&SUBSYS_408517C0
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531, PCI\VEN_1095&DEV_3531&SUBSYS_2001103C
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531, PCI\VEN_1095&DEV_3531&SUBSYS_11411734
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531, PCI\VEN_1095&DEV_3531&SUBSYS_11421734
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531, PCI\VEN_1095&DEV_3531&SUBSYS_11441734
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531, PCI\VEN_1095&DEV_3531&SUBSYS_11451734
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531, PCI\VEN_1095&DEV_3531&SUBSYS_11461734
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531, PCI\VEN_1095&DEV_3531&SUBSYS_11471734
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531, PCI\VEN_1095&DEV_3531&SUBSYS_01781025
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531, PCI\VEN_1095&DEV_3531&SUBSYS_008C1B0A
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531, PCI\VEN_1095&DEV_3531&SUBSYS_2B00103C

[SI_HDC.NTx86.5.1]
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531_XP, PCI\VEN_1095&DEV_3531&SUBSYS_35311095
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531_XP, PCI\VEN_1095&DEV_3531&SUBSYS_14981043
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531_XP, PCI\VEN_1095&DEV_3531&SUBSYS_82501043
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531_XP, PCI\VEN_1095&DEV_3531&SUBSYS_320A1462
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531_XP, PCI\VEN_1095&DEV_3531&SUBSYS_30D4103C
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531_XP, PCI\VEN_1095&DEV_3531&SUBSYS_11071734
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531_XP, PCI\VEN_1095&DEV_3531&SUBSYS_90A01019
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531_XP, PCI\VEN_1095&DEV_3531&SUBSYS_30d4103c
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531_XP, PCI\VEN_1095&DEV_3531&SUBSYS_8958152D
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531_XP, PCI\VEN_1095&DEV_3531&SUBSYS_408317C0
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531_XP, PCI\VEN_1095&DEV_3531&SUBSYS_0690107B
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531_XP, PCI\VEN_1095&DEV_3531&SUBSYS_111F1734
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531_XP, PCI\VEN_1095&DEV_3531&SUBSYS_2F121509
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531_XP, PCI\VEN_1095&DEV_3531&SUBSYS_3FAD1462
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531_XP, PCI\VEN_1095&DEV_3531&SUBSYS_30DE103C
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531_XP, PCI\VEN_1095&DEV_3531&SUBSYS_408517C0
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531_XP, PCI\VEN_1095&DEV_3531&SUBSYS_2001103C
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531_XP, PCI\VEN_1095&DEV_3531&SUBSYS_11411734
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531_XP, PCI\VEN_1095&DEV_3531&SUBSYS_11421734
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531_XP, PCI\VEN_1095&DEV_3531&SUBSYS_11441734
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531_XP, PCI\VEN_1095&DEV_3531&SUBSYS_11451734
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531_XP, PCI\VEN_1095&DEV_3531&SUBSYS_11461734
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531_XP, PCI\VEN_1095&DEV_3531&SUBSYS_11471734
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531_XP, PCI\VEN_1095&DEV_3531&SUBSYS_01781025
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531_XP, PCI\VEN_1095&DEV_3531&SUBSYS_008C1B0A
%PCI\VEN_1095&DEV_3531.DeviceDesc%=SI_3531_XP, PCI\VEN_1095&DEV_3531&SUBSYS_2B00103C

;; Windows NT4.0 and Windows 2000 install sections
;;
[SI_3531.NTX86]
Copyfiles=DriverFiles_NT_2K, DllFiles
CopyInf=sippd.inf

[SI_3531.NTX86.Services]
AddService=Si3531,0x00000002,SI_3531_Service_Install, Miniport_EventLog_Inst

[SI_3531.NTX86.CoInstallers]
Copyfiles=DllFiles
AddReg = SI_3531_CoInstall_AddReg

[SI_3531.NTX86.HW]
AddReg = ShutdownNotify_AddReg

;; Windows XP install sections
;;
[SI_3531_XP]
CopyINF=sippd.inf
Copyfiles=DriverFiles_XP, DllFiles

[SI_3531_XP.Services]
AddService=Si3531,0x00000002,SI_3531_Service_Install, Miniport_EventLog_Inst
AddService=SiFilter,0x00000000,FilterService_Install
AddService=SiRemFil, 0, RemovableDevFilter_Install

[SI_3531_XP.CoInstallers]
Copyfiles=DllFiles
AddReg = SI_3531_CoInstall_AddReg

[SI_3531_CoInstall_AddReg]
HKR,,CoInstallers32,0x00010000,"SilSupp.dll, CoInstHandler"

; This will assure the Class driver sends down a Sync Cache before writting the
; hibernation file.
[SI_3531_XP.HW]
AddReg=SI_3531_AddHackMask.AddReg
AddReg = ShutdownNotify_AddReg

[SI_3531_AddHackMask.AddReg]
HKR, "Classpnp", "HackMask",0x00010001, 0x10


[SI_3531_Service_Install]
DisplayName=%SI3531.SvcDesc%
ServiceType=1
StartType=0
ErrorControl=1
ServiceBinary=%12%\Si3531.sys
LoadOrderGroup=Scsi miniport
AddReg=PnPSupport_AddReg
AddReg=PortConfigure_AddReg
AddReg=BusType_AddReg
AddReg=ProblemDeviceList_AddReg
AddReg=ChanConfigOverrides_AddReg
AddReg=SupportedSubSystemIds_AddReg

[FilterService_Install]
DisplayName=SATALink driver accelerator
ServiceType=1
StartType=0
ErrorControl=0
ServiceBinary=%12%\SiWinAcc.sys
LoadOrderGroup=Filter

[RemovableDevFilter_Install]
DisplayName=SATALink External Device Filter
ServiceType=1
StartType=0
ErrorControl=1
ServiceBinary=%12%\SiRemFil.sys
LoadOrderGroup="PnP Filter"
AddReg=RemovableDevFilter_AddReg

; Enable removable device filter to attach to disk and cd-rom class devices.
[RemovableDevFilter_AddReg]
HKLM, System\CurrentControlSet\Control\Class\{4d36e967-e325-11ce-bfc1-08002be10318}, UpperFilters, 0x00010008, SiRemFil
HKLM, System\CurrentControlSet\Control\Class\{4d36e965-e325-11ce-bfc1-08002be10318}, UpperFilters, 0x00010008, SiRemFil

; Mark device as supporting Plug & Play on the PCI(5) bus.
[PnPSupport_AddReg]
HKR,Parameters\PnPInterface,5,0x00010001,1

[PortConfigure_AddReg]
HKR,Parameters\Device,MaximumSGList,0x00010001, 33
HKR,Parameters\Device,NumberOfRequests,0x00010001, 124

; Set controller's bus type to SATA.
[BusType_AddReg]
HKR, Parameters, BusType, 0x00010001, 11

; Ensure controller is shutdown properly
[ShutdownNotify_AddReg]
HKR, ScsiPort, NeedsSystemShutdownNotification, 0x00010001, 1


; List of devices with known configuration issues.
[ProblemDeviceList_AddReg]
HKR,ProblemDevices
HKR,ProblemDevices, %ProblemDev1Name%, 0, %ProblemDev1Value%
HKR,ProblemDevices, %ProblemDev2Name%, 0, %ProblemDev2Value%
HKR,ProblemDevices, %ProblemDev3Name%, 0, %ProblemDev3Value%
HKR,ProblemDevices, %ProblemDev4Name%, 0, %ProblemDev4Value%
HKR,ProblemDevices, %ProblemDev5Name%, 0, %ProblemDev5Value%
HKR,ProblemDevices, %ProblemDev6Name%, 0, %ProblemDev6Value%
HKR,ProblemDevices, %ProblemDev7Name%, 0, %ProblemDev7Value%
HKR,ProblemDevices, %ProblemDev8Name%, 0, %ProblemDev8Value%


; List of controller subsystem IDs to be supported by the Si3531.sys driver.
[SupportedSubSystemIds_AddReg]
HKR,SupportedSubsystemIDs,%PCI\VEN_1095&DEV_3531.DeviceDesc%,0x00010001, 0x35311095
HKR,SupportedSubsystemIDs,"%PCI\VEN_1095&DEV_3531.DeviceDesc% (ASUS 1498)",0x00010001, 0x14981043
HKR,SupportedSubsystemIDs,"%PCI\VEN_1095&DEV_3531.DeviceDesc% (ASUS 8250)",0x00010001, 0x82501043
HKR,SupportedSubsystemIDs,"%PCI\VEN_1095&DEV_3531.DeviceDesc% (MSI 73x0)", 0x00010001, 0x320A1462
HKR,SupportedSubsystemIDs,"%PCI\VEN_1095&DEV_3531.DeviceDesc% (Hewlitt Packard 30D4)", 0x00010001, 0x30D4103C
HKR,SupportedSubsystemIDs,"%PCI\VEN_1095&DEV_3531.DeviceDesc% (ECS/Fujitsu-Siemens 1107)", 0x00010001, 0x11071734
HKR,SupportedSubsystemIDs,"%PCI\VEN_1095&DEV_3531.DeviceDesc% (ECS/Fujitsu-Siemens 90A0)", 0x00010001, 0x90A01019
HKR,SupportedSubsystemIDs,"%PCI\VEN_1095&DEV_3531.DeviceDesc% (Inventec/HP)", 0x00010001, 0x30d4103c
HKR,SupportedSubsystemIDs,"%PCI\VEN_1095&DEV_3531.DeviceDesc% (Quanta/Dell)", 0x00010001, 0x8958152D
HKR,SupportedSubsystemIDs,"%PCI\VEN_1095&DEV_3531.DeviceDesc% (WISTRON)", 0x00010001, 0x408317C0
HKR,SupportedSubsystemIDs,"%PCI\VEN_1095&DEV_3531.DeviceDesc% (WISTRON 107B/0690)", 0x00010001, 0x0690107B
HKR,SupportedSubsystemIDs,"%PCI\VEN_1095&DEV_3531.DeviceDesc% (FIC 1734/111F)", 0x00010001, 0x111F1734
HKR,SupportedSubsystemIDs,"%PCI\VEN_1095&DEV_3531.DeviceDesc% (FIC 1509/2F12)", 0x00010001, 0x2F121509
HKR,SupportedSubsystemIDs,"%PCI\VEN_1095&DEV_3531.DeviceDesc% (MSI/3FAD)", 0x00010001, 0x3FAD1462
HKR,SupportedSubsystemIDs,"%PCI\VEN_1095&DEV_3531.DeviceDesc% (Inventec Corp)", 0x00010001, 0x30DE103C
HKR,SupportedSubsystemIDs,"%PCI\VEN_1095&DEV_3531.DeviceDesc% (Wistron/4085)", 0x00010001, 0x408517C0
HKR,SupportedSubsystemIDs,"%PCI\VEN_1095&DEV_3531.DeviceDesc% (Arima/HP)", 0x00010001, 0x2001103C
HKR,SupportedSubsystemIDs,"%PCI\VEN_1095&DEV_3531.DeviceDesc% (Inventec/Fujitsu-Siemens 1141)", 0x00010001, 0x11411734
HKR,SupportedSubsystemIDs,"%PCI\VEN_1095&DEV_3531.DeviceDesc% (Inventec/Fujitsu-Siemens 1142)", 0x00010001, 0x11421734
HKR,SupportedSubsystemIDs,"%PCI\VEN_1095&DEV_3531.DeviceDesc% (Inventec/Fujitsu-Siemens 1144)", 0x00010001, 0x11441734
HKR,SupportedSubsystemIDs,"%PCI\VEN_1095&DEV_3531.DeviceDesc% (Inventec/Fujitsu-Siemens 1145)", 0x00010001, 0x11451734
HKR,SupportedSubsystemIDs,"%PCI\VEN_1095&DEV_3531.DeviceDesc% (Inventec/Fujitsu-Siemens 1146)", 0x00010001, 0x11461734
HKR,SupportedSubsystemIDs,"%PCI\VEN_1095&DEV_3531.DeviceDesc% (Inventec/Fujitsu-Siemens 1147)", 0x00010001, 0x11471734
HKR,SupportedSubsystemIDs,"%PCI\VEN_1095&DEV_3531.DeviceDesc% (MSI/Acer)", 0x00010001, 0x01781025
HKR,SupportedSubsystemIDs,"%PCI\VEN_1095&DEV_3531.DeviceDesc% (Asus/Pegatron)", 0x00010001, 0x008C1B0A
HKR,SupportedSubsystemIDs,"%PCI\VEN_1095&DEV_3531.DeviceDesc% (HP)", 0x00010001, 0x2B00103C

[ChanConfigOverrides_AddReg]
HKR, ChannelConfigurations, %PCI\VEN_1095&DEV_3531.DeviceDesc%, 0x00010001, 0x00000001
HKR, ChannelConfigurations, "%PCI\VEN_1095&DEV_3531.DeviceDesc% (ASUS 1498)", 0x00010001, 0x00000001
HKR, ChannelConfigurations, "%PCI\VEN_1095&DEV_3531.DeviceDesc% (ASUS 8250)", 0x00010001, 0x00000001
HKR, ChannelConfigurations, "%PCI\VEN_1095&DEV_3531.DeviceDesc% (MSI 73x0)", 0x00010001, 0x00000001
HKR, ChannelConfigurations, "%PCI\VEN_1095&DEV_3531.DeviceDesc% (Hewlitt Packard 30D4)", 0x00010001, 0x00000001
HKR, ChannelConfigurations, "%PCI\VEN_1095&DEV_3531.DeviceDesc% (ECS/Fujitsu 1107)", 0x00010001, 0x00000001
HKR, ChannelConfigurations, "%PCI\VEN_1095&DEV_3531.DeviceDesc% (ECS/Fujitsu 90A0)", 0x00010001, 0x00000001
HKR, ChannelConfigurations, "%PCI\VEN_1095&DEV_3531.DeviceDesc% (Inventec/HP)", 0x00010001, 0x00000001
HKR, ChannelConfigurations, "%PCI\VEN_1095&DEV_3531.DeviceDesc% (Quanta/Dell)", 0x00010001, 0x00000001
HKR, ChannelConfigurations, "%PCI\VEN_1095&DEV_3531.DeviceDesc% (WISTRON)", 0x00010001, 0x00000001
HKR, ChannelConfigurations, "%PCI\VEN_1095&DEV_3531.DeviceDesc% (WISTRON 107B/0690)", 0x00010001, 0x00000001
HKR, ChannelConfigurations, "%PCI\VEN_1095&DEV_3531.DeviceDesc% (FIC 1734/111F)", 0x00010001,0x00000001
HKR, ChannelConfigurations, "%PCI\VEN_1095&DEV_3531.DeviceDesc% (FIC 1509/2F12)", 0x00010001,0x00000001
HKR, ChannelConfigurations, "%PCI\VEN_1095&DEV_3531.DeviceDesc% (MSI/3FAD)", 0x00010001, 0x00000001
HKR, ChannelConfigurations, "%PCI\VEN_1095&DEV_3531.DeviceDesc% (Inventec Corp)", 0x00010001, 0x00000001
HKR, ChannelConfigurations, "%PCI\VEN_1095&DEV_3531.DeviceDesc%  (Wistron/4085)", 0x00010001, 0x00000001
HKR, ChannelConfigurations, "%PCI\VEN_1095&DEV_3531.DeviceDesc% (Arima/HP)", 0x00010001, 0x00000001
HKR, ChannelConfigurations, "%PCI\VEN_1095&DEV_3531.DeviceDesc% (Inventec/Fujitsu-Siemens 1141)", 0x00010001, 0x00000001
HKR, ChannelConfigurations, "%PCI\VEN_1095&DEV_3531.DeviceDesc% (Inventec/Fujitsu-Siemens 1142)", 0x00010001, 0x00000001
HKR, ChannelConfigurations, "%PCI\VEN_1095&DEV_3531.DeviceDesc% (Inventec/Fujitsu-Siemens 1144)", 0x00010001, 0x00000001
HKR, ChannelConfigurations, "%PCI\VEN_1095&DEV_3531.DeviceDesc% (Inventec/Fujitsu-Siemens 1145)", 0x00010001, 0x00000001
HKR, ChannelConfigurations, "%PCI\VEN_1095&DEV_3531.DeviceDesc% (Inventec/Fujitsu-Siemens 1146)", 0x00010001, 0x00000001
HKR, ChannelConfigurations, "%PCI\VEN_1095&DEV_3531.DeviceDesc% (Inventec/Fujitsu-Siemens 1147)", 0x00010001, 0x00000001
HKR, ChannelConfigurations, "%PCI\VEN_1095&DEV_3531.DeviceDesc% (MSI/Acer)", 0x00010001, 0x00000001
HKR, ChannelConfigurations, "%PCI\VEN_1095&DEV_3531.DeviceDesc% (Asus/Pegatron)", 0x00010001, 0x00000001
HKR, ChannelConfigurations, "%PCI\VEN_1095&DEV_3531.DeviceDesc% (HP)", 0x00010001, 0x00000001

;*************************************************************
;The NT EventLog entries are the same for all SCSI miniports.
[Miniport_EventLog_Inst]
AddReg = Miniport_EventLog_AddReg

[Miniport_EventLog_AddReg]
HKR,,EventMessageFile,0x00020000,"%%SystemRoot%%\System32\IoLogMsg.dll"
HKR,,TypesSupported,0x00010001,7

[Strings]
SI="Silicon Image"

DISKNAME="Silicon Image SiI 3531 SATA Controller Installation Disk"

PCI\VEN_1095&DEV_3531.DeviceDesc="Silicon Image SiI 3531 SATA Controller"
SI3531.SvcDesc="SiI-3531 SATA Controller"

ProblemDev1Name="Maxtor 4D060H3                          DAK05GK0"
ProblemDev1Value="MaxMode = UDMA-5"

ProblemDev2Name="HDS724040KLSA80                         KFAOA32A"
ProblemDev2Value="DisableAtaQueueing"

ProblemDev3Name="HDS722525VLSA80                         V36OA6MA"
ProblemDev3Value="DisableAtaQueueing"

ProblemDev4Name="HDS722516VLSA80                         V34OA6MA"
ProblemDev4Value="DisableAtaQueueing"

ProblemDev5Name="Maxtor 7B250S0                          BANC1B70"
ProblemDev5Value="DisableSataQueueing"

ProblemDev6Name="HTS541060G9SA00                         MB3OC60D"
ProblemDev6Value="DisableSataQueueing"

ProblemDev7Name="HTS541080G9SA00                         MB4OC60D"
ProblemDev7Value="DisableSataQueueing"

ProblemDev8Name="HTS541010G9SA00                         MBZOC60D"
ProblemDev8Value="DisableSataQueueing"
