
;=============================================================================
;
; Copyright (c) Intel Corporation (2006).
;
; INTEL MAKES NO WARRANTY OF ANY KIND REGARDING THE CODE.  THIS CODE IS
; LICENSED ON AN "AS IS" BASIS AND INTEL WILL NOT PROVIDE ANY SUPPORT,
; ASSISTANCE, INSTALLATION, TRAINING OR OTHER SERVICES.  INTEL DOES NOT
; PROVIDE ANY UPDATES, ENHANCEMENTS OR EXTENSIONS.  INTEL SPECIFICALLY
; DISCLAIMS ANY WARRANTY OF MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR ANY
; PARTICULAR PURPOSE, OR ANY OTHER WARRANTY.  Intel disclaims all liability,
; including liability for infringement of any proprietary rights, relating to
; use of the code. No license, express or implied, by estoppel or otherwise,
; to any intellectual property rights is granted herein.
;
;=============================================================================

[Version]
Signature="$Windows NT$"
Class=MEDIA
ClassGuid={4d36e96c-e325-11ce-bfc1-08002be10318}
Provider=Intel(R) Corporation
;CatalogFile=INTCHDMI.CAT
DriverVer=04/08/2009,5.10.01.1049

[DestinationDirs]
DefaultDestDir      =10; dirid = \system32\drivers
IntcHdmiModel.CopyList =10,system32\drivers

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

[SourceDisksFiles]
IntcHdmi.sys=222

[Manufacturer]
Intel(R) Corporation=Intel,NT.6.0, NTx86.5.1

;============================================================================

[ControlFlags]
ExcludeFromSelect = *

[Intel]
; Leave this blank since we don't support anything other than XP 32-bit

[Intel.NT.6.0]
; Leave this blank since we don't support anything other than XP 32-bit

[Intel.NTx86.5.1]
; ++ Silicon Image
%IntcHdmiFunctionDriver.SiliconImageWaldo.DeviceDesc% = IntcHdmiModel, HDAUDIO\FUNC_01&VEN_1095&DEV_1390&SUBSYS_FFFFFFFF
%IntcHdmiFunctionDriver.SiliconImageWaldo.DeviceDesc% = IntcHdmiModel, HDAUDIO\FUNC_01&VEN_1095&DEV_1390
%IntcHdmiFunctionDriver.SiliconImageWaldo.DeviceDesc% = IntcHdmiModel, HDAUDIO\FUNC_01&VEN_1095&DEV_1392&SUBSYS_FFFFFFFF
%IntcHdmiFunctionDriver.SiliconImageWaldo.DeviceDesc% = IntcHdmiModel, HDAUDIO\FUNC_01&VEN_1095&DEV_1392
; -- Silicon Image
; ++ Chrontel
%IntcHdmiFunctionDriver.ChrontelHDMI.DeviceDesc% =      IntcHdmiModel, HDAUDIO\FUNC_01&VEN_17E8&DEV_0047&SUBSYS_17E80047
%IntcHdmiFunctionDriver.ChrontelHDMI.DeviceDesc% =      IntcHdmiModel, HDAUDIO\FUNC_01&VEN_17E8&DEV_0047
; -- Chrontel
; ++ Intel
%IntcHdmiFunctionDriver.IntelHDMI.DeviceDesc% =      IntcHdmiModel, HDAUDIO\FUNC_01&VEN_8086&DEV_2802&SUBSYS_80860101
%IntcHdmiFunctionDriver.IntelHDMI.DeviceDesc% =      IntcHdmiModel, HDAUDIO\FUNC_01&VEN_8086&DEV_2803&SUBSYS_80860101
%IntcHdmiFunctionDriver.IntelHDMI.DeviceDesc% =      IntcHdmiModel, HDAUDIO\FUNC_01&VEN_8086&DEV_2802
%IntcHdmiFunctionDriver.IntelHDMI.DeviceDesc% =      IntcHdmiModel, HDAUDIO\FUNC_01&VEN_8086&DEV_2803
; -- Intel

[IntcHdmiModel]
Include=ks.inf,wdmaudio.inf
Needs=KS.Registration,WDMAUDIO.Registration
CopyFiles = IntcHdmiModel.CopyList
AddReg    = IntcHdmiModel.AddReg, IntcHdmiInit.AddReg

[IntcHdmiModel.HW]
AddReg = IntcHdmiSecurity.AddReg

[IntcHdmiModel.Services]
AddService=IntcHdmiAddService, 0x00000002, IntcHdmi_Service_Install

[IntcHdmi_Service_Install]
DisplayName   = %IntelHDMIDriverForHDAudio.SvcDesc%
ServiceType   = 1
StartType     = 3
ErrorControl  = 1
ServiceBinary = %10%\system32\drivers\IntcHdmi.sys

[IntcHdmiModel.CopyList]
IntcHdmi.sys

[IntcHdmiInit.AddReg]
;; Sample Section to Illustrate the format for Initialization verbs.
;; Uncomment and add appropriate verbs as needed.
;; Note that the top nibble of the verb (Codec Address) must be '0'.
;HKR,InitVerbs,NumVerbs,0x00010001, 0x00000004 ; Example: Number of verbs in the init section
;HKR,InitVerbs,0000,    0x00010001, 0x01E71C01 ; Sets first byte of pin config info
;HKR,InitVerbs,0001,    0x00010001, 0x01E71D44 ; Sets second byte of pin config info
;HKR,InitVerbs,0002,    0x00010001, 0x01E71E21 ; Sets third byte of pin config info
;HKR,InitVerbs,0003,    0x00010001, 0x01E71F00 ; Sets fourth byte of pin config info

[IntcHdmiModel.AddReg]
HKR,,AssociatedFilters,,"wdmaud,swmidi,redbook"
HKR,,Driver,,IntcHdmi.sys

HKR,Drivers,SubClasses,,"wave,midi,mixer,aux"

HKR,Drivers\wave\wdmaud.drv,Driver,,wdmaud.drv
HKR,Drivers\midi\wdmaud.drv,Driver,,wdmaud.drv
HKR,Drivers\mixer\wdmaud.drv,Driver,,wdmaud.drv
HKR,Drivers\aux\wdmaud.drv,Driver,,wdmaud.drv

HKR,Drivers\wave\wdmaud.drv,Description,,%IntcHdmiDeviceDescription%
HKR,Drivers\midi\wdmaud.drv,Description,,%IntcHdmiDeviceDescription%
HKR,Drivers\mixer\wdmaud.drv,Description,,%IntcHdmiDeviceDescription%
HKR,Drivers\aux\wdmaud.drv,Description,,%IntcHdmiDeviceDescription%

HKR,,SetupPreferredAudioDevices,3,01,00,00,00
HKR,,DisableSetupDiChangeState,1,00,00,00,00 ; Set to 01,00,00,00 to disable proppage restarting of driver on policy change
; Driver global settings
HKR,GlobalSettings,ResetAudioFgOnStart,1,01,00,00,00 ; Enables resetting of audio FG on driver start
HKR,GlobalSettings,SysAudioTopoMiniportWorkaround,1,01,00,00,00 ; Enables holding ref on topo port & miniport when device is uninstantiated

HKR,GlobalSettings,ValidateCodecWrites,1,00,00,00,00 ; Enables readback of writes to codec registers
HKR,GlobalSettings,SendFakePcxCfgDefVerbs,1,00,00,00,00 ; Enables sending fake pin config default table
HKR,GlobalSettings,SpdifOutputEchosRearRenderWhenNoAc3,1,00,00,00,00 ; Slaves rear panel front channels to SPDIF
HKR,GlobalSettings,EnableDynamicDevices,1,01,00,00,00 ; Headphone will come and go dynamically.
HKR,GlobalSettings,SetSpdifVCfg,1,01,00,00,00 ;  VCfg bit will be set on SPDIF out
HKR,GlobalSettings,Config,0x00010001,0x0080

[IntcHdmiModel.Interfaces]
; HDMI Interfaces
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_HDMIOutWave%, IntcHdmiModel.HDMIOutputWave
AddInterface=%KSCATEGORY_RENDER%,%KSNAME_HDMIOutWave%, IntcHdmiModel.HDMIOutputWave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_HDMIOutTopo%, IntcHdmiModel.HDMIOutputTopo
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_HDMIOutTopo%, IntcHdmiModel.HDMIOutputTopo

; HDMI Render
[IntcHdmiModel.HDMIOutputWave]
AddReg = IntcHdmiModel.HDMIOutputWave.AddReg

[IntcHdmiModel.HDMIOutputWave.AddReg]
HKR,,FriendlyName,,%HDMIOutWaveDeviceName%
HKR,,CLSID,,%Proxy.CLSID%

HKLM,SYSTEM\CurrentControlSet\Control\MediaCategories\%IntcHdmiGuidDisableDigitalOutput%,Name,,%DisableDigitalOutputName%
HKLM,SYSTEM\CurrentControlSet\Control\MediaCategories\%IntcHdmiGuidDisableDigitalOutput%,Display,1,00,00,00,00

[IntcHdmiModel.HDMIOutputTopo]
AddReg = IntcHdmiModel.HDMIOutputTopo.AddReg

[IntcHdmiModel.HDMIOutputTopo.AddReg]
HKR,,FriendlyName,,%HDMIOutTopoDeviceName%
HKR,,CLSID,,%Proxy.CLSID%

[IntcHdmiSecurity.AddReg]
; FILE_DEVICE_SOUND
HKR,,DeviceType,0x10001,0x0000001D
; SDDL_DEVOBJ_SYS_ALL_ADM_RWX_WORLD_RWX_RES_RWX
HKR,,Security,,"D:P(A;;GA;;;SY)(A;;GRGWGX;;;BA)(A;;GRGWGX;;;WD)(A;;GRGWGX;;;RC)"

[Strings]
DiskId1 = "Intel(R) High Definition Audio HDMI Driver. Installation Disk" ; {PlaceHolder="HDMI","HD Audio HDMI"}
; ++ Silicon Image
IntcHdmiFunctionDriver.SiliconImageWaldo.DeviceDesc = "(PE) Intel(R) High Definition Audio HDMI" ; {PlaceHolder="HDMI","HD Audio HDMI"}
; -- Silicon Image
; ++ Chrontel
IntcHdmiFunctionDriver.ChrontelHDMI.DeviceDesc = "(PE) Intel(R) High Definition Audio HDMI" ; {PlaceHolder="HDMI","HD Audio HDMI"}
; -- Chrontel
IntelHDMIDriverForHDAudio.SvcDesc = "Intel(R) High Definition Audio HDMI Service" ; {PlaceHolder="HDMI","HD Audio HDMI"}
;++Intel
IntcHdmiFunctionDriver.IntelHDMI.DeviceDesc = "(PE) Intel(R) High Definition Audio HDMI Service" ; {PlaceHolder="HDMI","HD Audio HDMI"}
;--Intel
; These are the name strings for the wave miniports displayed in mmsys.cpl
HDMIOutWaveDeviceName =               "HDMI Device" ; {PlaceHolder="HD Audio HDMI"}

; These are the dac names, probably only displayed by ksstudio
PrimaryLineOutDacName =               "HD Audio line out" ; {PlaceHolder="HD Audio HDMI"}
 
; These are the name strings for the topo miniports displayed in mmsys.cpl
HDMIOutTopoDeviceName =               "HDMI Device Mixer" ; {PlaceHolder="HD Audio HDMI"}

DisableDigitalOutputName = "Disable Digital Output"
IntcHdmiDeviceDescription = "Intel(R) High Definition Audio HDMI" ; {PlaceHolder="HDMI","HD Audio HDMI"}

; These are the strings passed to PcRegisterSubdevice for wave ports
KSNAME_HDMIOutWave = "HDMIOutputWave" ; non-localizable

; These are the strings passed to PcRegisterSubdevice for topo ports
KSNAME_HDMIOutTopo = "HDMIOutputTopo" ; non-localizable

KSCATEGORY_AUDIO = "{6994AD04-93EF-11D0-A3CC-00A0C9223196}" ; non-localizable
KSCATEGORY_RENDER = "{65E8773E-8F56-11D0-A3B9-00A0C9223196}" ; non-localizable
KSCATEGORY_CAPTURE = "{65E8773D-8F56-11D0-A3B9-00A0C9223196}" ; non-localizable
KSCATEGORY_TOPOLOGY = "{DDA54A40-1E4C-11D1-A050-405705C10000}" ; non-localizable
KSCATEGORY_NATLOGY = "{DDA54A40-1E4C-11D1-A050-27D10M6619Y7}" ; non-localizable
Proxy.CLSID = "{17CCA71B-ECD7-11D0-B908-00A0C9223196}" ; non-localizable
IntcHdmiGuidDisableDigitalOutput = "{BEAD490D-AD9F-47f4-AAAF-78222AF487BE}" ; non-localizable
