/* ************************************************************************* *\
INTEL CORPORATION PROPRIETARY INFORMATION
This software is supplied under the terms of a license agreement or
nondisclosure agreement with Intel Corporation and may not be copied or
disclosed except in accordance with the terms of that agreement
Copyright © 2013 Intel Corporation. All Rights Reserved.

File Name: isstrtc.inf

Description: Audio miniport driver inf file

Notes:
\* ************************************************************************* */

[Version]
Signature="$Windows NT$"
Class=MEDIA
Provider=%INTC%
ClassGUID={4d36e96c-e325-11ce-bfc1-08002be10318}
DriverVer=01/12/2016,604.10135.2747.11324

CatalogFile=isstrtc.cat

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

[SourceDisksFiles]
isstrtc.sys=222
realtek_fw_sst.bin=222
IsstProxyApo.dll=222
IsstPropPage.dll=222

;;IsstPropPage is a UI which allows user to control the effects to be enabled and disabled. 
;;As IsstPropPage shipment is currently under review, you can edit the bitmap for the effects 
;;which are enabled by default ON/OFF in Effect bitmap section of this INF.

[SignatureAttributes] 
isstrtc.sys=SignatureAttributes.DRM 
IsstProxyApo.dll=SignatureAttributes.PETrust


[SignatureAttributes.DRM] 
DRMLevel=1300 


[SignatureAttributes.PETrust]
PETrust=true

;;This syntax is only recognized on Windows XP and above- it is needed to install 64-bit drivers on
;;Windows Server 2003 Service Pack 1 and above.

[Manufacturer]
%MfgName%=IntelSST,NTamd64

;;  For Windows Server 2003 Service Pack 1 and above, a 64-bit OS will not install a driver
;;  unless the Manufacturer and Models Sections explicitly show it is a driver for that platform
;;  But the individual model section decorations (or lack thereof) work as they always have.
;;  All of the model sections referred to are undecorated or NT-decorated, hence work on all platforms

[IntelSST]
%IntelSSTAudio.DeviceDesc%=IntelSSTAudio,ACPI\80860F28 ; for testing on BYT board
%IntelSSTAudio.DeviceDesc%=IntelSSTAudio,ACPI\808622A8 ; for testing on HSLE and CHT board
[IntelSST.NTamd64]
%IntelSSTAudio.DeviceDesc%=IntelSSTAudio,ACPI\80860F28 ; How ACPI enumerate SST?
%IntelSSTAudio.DeviceDesc%=IntelSSTAudio,ACPI\808622A8 ; for testing on HSLE and CHT board
[DestinationDirs]
IntelSSTAudio.CopyList=10,system32\drivers
IntelSSTAudio.CopyListApo=10,system32

[IntelSSTAudio.CopyList]
isstrtc.sys
realtek_fw_sst.bin


[IntelSSTAudio.CopyListApo]
IsstProxyApo.dll
IsstPropPage.dll

[IntelSSTAudio.AddReg]

;****** D0/D3 RTPM enabling ******
HKR,PowerSettings,ConservationIdleTime,0x00010001,0x1e
HKR,PowerSettings,PerformanceIdleTime,0x00010001,0x1e
HKR,PowerSettings,IdlePowerState,0x00010001,0x3

;****** BT SSP Config ******
HKR,BTSSP,BTSSPFRMSyncMode,0x00010001,0
HKR,BTSSP,BTSSPFRMPolarity,0x00010001,1
HKR,BTSSP,BTSSPClockMode,0x00010001,0

;****** Audio Volume/Boost Config ******
HKR,AudioVolBoost,MicMaxVolume,0x00000000,30
HKR,AudioVolBoost,MicMinVolume,0x00000000,-18
HKR,AudioVolBoost,MicMaxBoostVolume,0x00000000,36
HKR,AudioVolBoost,MicMinBoostVolume,0x00000000,0
HKR,AudioVolBoost,SPKMaxVol,0x00000000,-6
HKR,AudioVolBoost,SPKMinVol,0x00000000,-138
HKR,AudioVolBoost,SPKVolLimit,0x00000000,-21
HKR,AudioVolBoost,DefaultSPKVol,0x00000000,-6
HKR,AudioVolBoost,DefaultHeadsetVol,0x00000000,-21
HKR,AudioVolBoost,DefaultDMICVol,0x00000000,18
HKR,AudioVolBoost,DefaultAMICVol,0x00000000,-12
HKR,AudioVolBoost,MultipleVolumeProfile,0x00000000,0

;; For EU set GenerateVolLimitUI = 1 (else unset) and TimerVolLimitUI=cumulative listening time 
;; example EU recommended 20hrs value is 0x11940 seconds
;; IMPORTANT - to enable EU warning set GenerateVolLimitUI
HKR,AudioVolBoost,GenerateVolLimitUI,0x00010001,1
HKR,AudioVolBoost,TimerVolLimitUI,0x00010001,0x11940 

;; Headsetstatus pin Uncomment based on requirement.
HKR,HeadsetStatus,HeadsetStatus,0x00010001,0

;; Specifying the minimum packet period supported by driver and firmware
;; The value is in HNS
;; #define HNSTIME_PER_MILLISECOND 10000
;; So if the minimum processing interval is 1ms then you should provide the value
;; as 1 * 10000. Similarly for 1.49ms it would be 1.49 * 10000
;; The minimum processing interval is 10ms

HKR,PacketPeriod, MinimumPacketPeriodInHns,0x00010001,50000

;; Right now we support processing constraints on the system pin raw path only
;; The below constraints specify the minimum processing frame size for the processing mode in HNS
;; In our system pin low latency path the modules in the pipeline operates at 1ms input buffer.

HKR,ProcessingConstraint, RenderRawProcessingPacketDurationInHns,0x00010001,10000
HKR,ProcessingConstraint, CaptureRawProcessingPacketDurationInHns,0x00010001,10000

HKR,,AssociatedFilters,,"wdmaud,swmidi,redbook"
HKR,,Driver,,isstrtc.sys
HKR,Drivers,SubClasses,,"wave,midi,mixer"
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\wave\wdmaud.drv,Description,,%IntelSSTAudio.DeviceDesc%
HKR,Drivers\midi\wdmaud.drv,Description,,%IntelSSTAudio_MIDI%
HKR,Drivers\mixer\wdmaud.drv,Description,,%IntelSSTAudio.DeviceDesc%
HKLM,%MediaCategories%\%IntelSST.NameGuid%,Name,,%IntelSST.Name%

;;DisableProtectedAudioDG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Allows unsigned APO's to pass protected content and should not exist in a WHQL-ed driver
;; Must be removed or moved to ST.Effects.DelReg sectionfor before WHQL submission
;HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Audio,DisableProtectedAudioDG,0x10001,1
;======================================================
; interfaces
;======================================================
[IntcADSPModel.AddReg] 
;****** Audio AccessMode Config ******
;Bit [0] of AccessMode key defines location of debug registers 
;0- default location , 1- fixed location 
HKR,AccessSettings,AccessMode,1,01

;Bit [5] of OffloadPinCapabilities key defines if offload pins are to be supported 
;0- offload pins enabled <default value>
;1- offload pins disabled
HKR,GlobalSettings,OffloadPinCapabilities,1,00,00,00,00

HKLM,SOFTWARE\Intel,SubClasses,,"Audio"
HKLM,SOFTWARE\Intel\Audio,SubClasses,,"GlobalSettings"
HKLM,SOFTWARE\Intel\Audio\GlobalSettings,OffloadPinCapabilities,1,00,00,00,00

;********************Tuning parameter******************************
;Tuning default parameter for IHF and MIC
;Currently Tuned Parameters are provided for MIC
;Further parameter can be passed by tuning utility

HKLM,SOFTWARE\Intel\Audio\GlobalSettings,SubClasses,,"IHF"
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\IHF,SubClasses,,"EFFECT_CFG"
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\IHF\EFFECT_CFG,NumEffect, 0x00010001, 0x01

HKLM,SOFTWARE\Intel\Audio\GlobalSettings\IHF\EFFECT_CFG,SubClasses,,"Effect0"
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\IHF\EFFECT_CFG\Effect0,EffectConf, 0x00010001, 0x01

HKLM,SOFTWARE\Intel\Audio\GlobalSettings\IHF\EFFECT_CFG\Effect0,SubClasses,,"Params"
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\IHF\EFFECT_CFG\Effect0\Params, NUM_IPC, 0x00010001, 0x01

HKLM,SOFTWARE\Intel\Audio\GlobalSettings\IHF\EFFECT_CFG\Effect0\Params,SubClasses,,"IPC0"
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\IHF\EFFECT_CFG\Effect0\Params\IPC0,COMMAND_ID, 0x00010001, 0x80
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\IHF\EFFECT_CFG\Effect0\Params\IPC0,LENGTH, 0x00010001, 0x110
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\IHF\EFFECT_CFG\Effect0\Params\IPC0,Location_ID, 0x00010001, 0x0600
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\IHF\EFFECT_CFG\Effect0\Params\IPC0,ModuleID, 0x00010001, 0x81
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\IHF\EFFECT_CFG\Effect0\Params\IPC0,Param, 1, 03,00,03,00,40,00,00,00,00,00,d8,3d,29,50,8c,ed,d5,db,52,08,90,f2, dc,d6,7b,ed,02,08,6e,05,73,fb,af,fd,03,03,7c,00,2f,fc,34,fd,ce,ff,5c,ff,c1,fd,8b,fd,28,fe,a0,fe,11,ff,52,ff,4f,ff,86,ff,0d,00,50,00,8b,00,79,01,c1,02,53,03,5b,03,e7,03,d3,04,f4,04,21,04,4e,03,e8,02,5c,02,53,01,45,00,97,ff,49,ff,36,ff,39,ff,3b,ff,49,ff,97,ff,2f,00,d3,00,55,01,a5,01,be,01,c4,01,e5,01,17,02,1f,02,cd,01,3d,01,b4,00,53,00,16,00,00,00,40,00,00,00,00,00,d8,3d,29,50,8c,ed,d5,db,52,08,90,f2,dc,d6,7b,ed,02,08,6e,05,73,fb,af,fd,03,03,7c,00,2f,fc,34,fd,ce,ff,5c,ff,c1,fd,8b,fd,28,fe,a0,fe,11,ff,52,ff,4f,ff,86,ff,0d,00,50,00,8b,00,79,01,c1,02,53,03,5b,03,e7,03,d3,04,f4,04,21,04,4e,03,e8,02,5c,02,53,01,45,00,97,ff,49,ff,36,ff,39,ff,3b,ff,49,ff,97,ff,2f,00,d3,00,55,01,a5,01,be,01,c4,01,e5,01,17,02,1f,02,cd,01,3d,01,b4,00,53,00,16,00,00,00

HKLM,SOFTWARE\Intel\Audio\GlobalSettings,SubClasses,,"MIC"
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\MIC,SubClasses,,"EFFECT_CFG"
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\MIC\EFFECT_CFG,NumEffect, 0x00010001, 0x01

HKLM,SOFTWARE\Intel\Audio\GlobalSettings\MIC\EFFECT_CFG,SubClasses,,"Effect0"
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\MIC\EFFECT_CFG\Effect0,EffectConf, 0x00010001, 0x01

HKLM,SOFTWARE\Intel\Audio\GlobalSettings\MIC\EFFECT_CFG\Effect0,SubClasses,,"Params"
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\MIC\EFFECT_CFG\Effect0\Params, NUM_IPC, 0x00010001, 0x01

HKLM,SOFTWARE\Intel\Audio\GlobalSettings\MIC\EFFECT_CFG\Effect0\Params,SubClasses,,"IPC0"
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\MIC\EFFECT_CFG\Effect0\Params\IPC0,COMMAND_ID, 0x00010001, 0x80
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\MIC\EFFECT_CFG\Effect0\Params\IPC0,LENGTH, 0x00010001, 0x110
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\MIC\EFFECT_CFG\Effect0\Params\IPC0,Location_ID, 0x00010001, 0x0500
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\MIC\EFFECT_CFG\Effect0\Params\IPC0,ModuleID, 0x00010001, 0x81
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\MIC\EFFECT_CFG\Effect0\Params\IPC0,Param, 1, 03,00,03,00,40,00,00,00,00,00,a7,7b,55,fe,70,18,fc,4d,43,0b,84,fe,c6,ff,9c,fc,6c,fd,c2,fe,25,fe,8b,00,d2,00,8b,00,aa,ff,0d,00,37,00,b8,00,5c,00,0d,00,6c,ff,57,ff,19,ff,1e,ff,df,fe,ee,fe,d5,fe,ec,fe,ce,fe,cc,fe,97,fe,8c,fe,81,fe,b7,fe,ff,fe,8a,ff,fe,ff,89,00,e2,00,21,01,23,01,fe,00,a4,00,55,00,02,00,eb,ff,de,ff,d3,ff,b5,ff,bc,ff,e6,ff,53,00,a2,00,af,00,5c,00,13,00,09,00,58,00,75,00,46,00,84,ff,2e,ff,1d,ff,00,00,40,00,00,00,00,00,a7,7b,55,fe,70,18,fc,4d,43,0b,84,fe,c6,ff,9c,fc,6c,fd,c2,fe,25,fe,8b,00,d2,00,8b,00,aa,ff,0d,00,37,00,b8,00,5c,00,0d,00,6c,ff,57,ff,19,ff,1e,ff,df,fe,ee,fe,d5,fe,ec,fe,ce,fe,cc,fe,97,fe,8c,fe,81,fe,b7,fe,ff,fe,8a,ff,fe,ff,89,00,e2,00,21,01,23,01,fe,00,a4,00,55,00,02,00,eb,ff,de,ff,d3,ff,b5,ff,bc,ff,e6,ff,53,00,a2,00,af,00,5c,00,13,00,09,00,58,00,75,00,46,00,84,ff,2e,ff,1d,ff,00,00

;***********************SSP COnfiguration***************************

;------------------IHF-----------------------------------------------
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\IHF,SubClasses,,"SSP_CONFIG"
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\IHF\SSP_CONFIG,SubClasses,,"0"

HKLM,SOFTWARE\Intel\Audio\GlobalSettings\IHF\SSP_CONFIG\0,PORT_ID, 0x00010001, 0x0
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\IHF\SSP_CONFIG\0,SLOT_ID, 0x00010001, 0x00

HKLM,SOFTWARE\Intel\Audio\GlobalSettings\IHF\SSP_CONFIG\0,NUM_BIT_PER_SLOT, 0x00010001, 0x018
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\IHF\SSP_CONFIG\0,NUM_OF_SLOT, 0x00010001, 0x02

HKLM,SOFTWARE\Intel\Audio\GlobalSettings\IHF\SSP_CONFIG\0,MODE, 0x00010001, 0x00

HKLM,SOFTWARE\Intel\Audio\GlobalSettings\IHF\SSP_CONFIG\0,DUPLEX, 0x00010001, 0x00

HKLM,SOFTWARE\Intel\Audio\GlobalSettings\IHF\SSP_CONFIG\0,ACTIVE_TX_SLOT, 0x00010001, 0x03
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\IHF\SSP_CONFIG\0,ACTIVE_RX_SLOT, 0x00010001, 0x03
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\IHF\SSP_CONFIG\0,FRAME_SYNC_FREQ, 0x00010001, 0x03
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\IHF\SSP_CONFIG\0,FRAME_SYNC_POL, 0x00010001, 0x01
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\IHF\SSP_CONFIG\0,DATA_POL, 0x00010001, 0x00
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\IHF\SSP_CONFIG\0,FRAME_SYNC_WIDTH, 0x00010001, 0x019
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\IHF\SSP_CONFIG\0,SSP_PROTOCL, 0x00010001, 0x01
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\IHF\SSP_CONFIG\0,START_DLY, 0x00010001, 0x01

;------------------MIC-----------------------------------------------
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\MIC,SubClasses,,"SSP_CONFIG"
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\MIC\SSP_CONFIG,SubClasses,,"0"

HKLM,SOFTWARE\Intel\Audio\GlobalSettings\MIC\SSP_CONFIG\0,PORT_ID, 0x00010001, 0x0
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\MIC\SSP_CONFIG\0,SLOT_ID, 0x00010001, 0x00

HKLM,SOFTWARE\Intel\Audio\GlobalSettings\MIC\SSP_CONFIG\0,NUM_BIT_PER_SLOT, 0x00010001, 0x018
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\MIC\SSP_CONFIG\0,NUM_OF_SLOT, 0x00010001, 0x02

HKLM,SOFTWARE\Intel\Audio\GlobalSettings\MIC\SSP_CONFIG\0,MODE, 0x00010001, 0x00

HKLM,SOFTWARE\Intel\Audio\GlobalSettings\MIC\SSP_CONFIG\0,DUPLEX, 0x00010001, 0x00

HKLM,SOFTWARE\Intel\Audio\GlobalSettings\MIC\SSP_CONFIG\0,ACTIVE_TX_SLOT, 0x00010001, 0x03
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\MIC\SSP_CONFIG\0,ACTIVE_RX_SLOT, 0x00010001, 0x03
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\MIC\SSP_CONFIG\0,FRAME_SYNC_FREQ, 0x00010001, 0x03
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\MIC\SSP_CONFIG\0,FRAME_SYNC_POL, 0x00010001, 0x01
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\MIC\SSP_CONFIG\0,DATA_POL, 0x00010001, 0x00
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\MIC\SSP_CONFIG\0,FRAME_SYNC_WIDTH, 0x00010001, 0x019
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\MIC\SSP_CONFIG\0,SSP_PROTOCL, 0x00010001, 0x01
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\MIC\SSP_CONFIG\0,START_DLY, 0x00010001, 0x01


;------------------BT-----------------------------------------------
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\BT,SubClasses,,"SSP_CONFIG"
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\BT\SSP_CONFIG,SubClasses,,"0"

HKLM,SOFTWARE\Intel\Audio\GlobalSettings\BT\SSP_CONFIG\0,PORT_ID, 0x00010001, 0x1
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\BT\SSP_CONFIG\0,SLOT_ID, 0x00010001, 0x01

HKLM,SOFTWARE\Intel\Audio\GlobalSettings\BT\SSP_CONFIG\0,NUM_BIT_PER_SLOT, 0x00010001, 0x010
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\BT\SSP_CONFIG\0,NUM_OF_SLOT, 0x00010001, 0x01

HKLM,SOFTWARE\Intel\Audio\GlobalSettings\BT\SSP_CONFIG\0,MODE, 0x00010001, 0x00

HKLM,SOFTWARE\Intel\Audio\GlobalSettings\BT\SSP_CONFIG\0,DUPLEX, 0x00010001, 0x00

HKLM,SOFTWARE\Intel\Audio\GlobalSettings\BT\SSP_CONFIG\0,ACTIVE_TX_SLOT, 0x00010001, 0x01
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\BT\SSP_CONFIG\0,ACTIVE_RX_SLOT, 0x00010001, 0x01
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\BT\SSP_CONFIG\0,FRAME_SYNC_FREQ, 0x00010001, 0x00
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\BT\SSP_CONFIG\0,FRAME_SYNC_POL, 0x00010001, 0x01
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\BT\SSP_CONFIG\0,DATA_POL, 0x00010001, 0x01
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\BT\SSP_CONFIG\0,FRAME_SYNC_WIDTH, 0x00010001, 0x01
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\BT\SSP_CONFIG\0,SSP_PROTOCL, 0x00010001, 0x00
HKLM,SOFTWARE\Intel\Audio\GlobalSettings\BT\SSP_CONFIG\0,START_DLY, 0x00010001, 0x01


;***********************DSP TOPOLOGY COnfiguration***************************
;------------------MIC-----------------------------------------------
;----------DeFault and Loop-back Capability
; To enable default set EnableDefaultCapture =1, disable EnableDefaultCapture = 0
HKR,GlobalSettings,EnableDefaultCapture,0x00010001, 0x00
; To enable CodecLoopback set EnableCodecLoopBack =1, disable EnableCodecLoopBack = 0
;But EnableDefaultCapture and EnableCodecLoopBack are mutually exclusive. Both cannot be set to TRUE
;at the same time
HKR,GlobalSettings,EnableCodecLoopBack,0x00010001, 0x00;

;------------TDM PCM Capability
HKR,GlobalSettings,EnableTDMPCMMode,0x00010001, 0x00;

;;------MIC Device Format

HKR,MIC,FRMT_CNT, 0x00010001, 0x01;Total format count
;;;;;;---------RAW Format
;device format 0
HKR,MIC,SubClasses,,"DEV_FORMAT"
HKR,MIC\DEV_FORMAT,SubClasses,,"0"
;;;For Raw PIPE_TYPE= 1
HKR,MIC\DEV_FORMAT\0,PIPE_TYPE, 0x00010001, 0x01 
HKR,MIC\DEV_FORMAT\0,NUM_CHNL, 0x00010001, 0x02
HKR,MIC\DEV_FORMAT\0,BIT_PER_SAMPL, 0x00010001, 0x10
HKR,MIC\DEV_FORMAT\0,CHNL_MASK, 0x00010001, 0x03 ; stereo
HKR,MIC\DEV_FORMAT\0,SAMPL_PER_SEC, 0x00010001, 48000 ;
HKR,MIC\DEV_FORMAT\0,VALID_BIT_PER_SAMPL, 0x00010001, 0x10

;;;;;----------DEFAULT Format
;device format 1
;;;For Default PIPE_TYPE= 2
HKR,MIC\DEV_FORMAT,SubClasses,,"1"
HKR,MIC\DEV_FORMAT\1,PIPE_TYPE, 0x00010001, 0x02
HKR,MIC\DEV_FORMAT\1,NUM_CHNL, 0x00010001, 0x02
HKR,MIC\DEV_FORMAT\1,BIT_PER_SAMPL, 0x00010001, 0x10
HKR,MIC\DEV_FORMAT\1,CHNL_MASK, 0x00010001, 0x03 ; stereo
HKR,MIC\DEV_FORMAT\1,SAMPL_PER_SEC, 0x00010001, 48000 ;
HKR,MIC\DEV_FORMAT\1,VALID_BIT_PER_SAMPL, 0x00010001, 0x10


;;------MIC Data Range
HKR,MIC,SubClasses,,"DATA_RANGE"
HKR,MIC\DATA_RANGE,MAX_BIT_PER_SAMPL, 0x00010001, 0x10
HKR,MIC\DATA_RANGE,MAX_CHNL, 0x00010001, 0x02
HKR,MIC\DATA_RANGE,MAX_SAMPL_FREQ, 0x00010001, 48000

HKR,MIC\DATA_RANGE,MIN_BIT_PER_SMPL, 0x00010001, 0x10
HKR,MIC\DATA_RANGE,MIN_SMPL_FRQ, 0x00010001, 48000


;*********HEADSET*****************
[IntelSST.I.Wave]
AddReg=IntelSST.I.Wave.AddReg

[IntelSST.I.Wave.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%IntelSST.Wave.szPname%

[IntelSST.I.Topo]
AddReg=IntelSST.I.Topo.AddReg

[IntelSST.I.Topo.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%IntelSST.Topo.szPname%
;opt-in to pull mode.
HKR,"EP\\0",%PKEY_AudioEndpoint_Association%,,%KSNODETYPE_ANY%
HKR,"EP\\0",%PKEY_AudioEndpoint_Supports_EventDriven_Mode%,0x00010001,0x1
HKR,"EP\\1",%PKEY_AudioEndpoint_Association%,,%KSNODETYPE_ANY%
HKR,"EP\\1",%PKEY_AudioEndpoint_Supports_EventDriven_Mode%,0x00010001,0x1

;*********IHF*****************
[IntelSST.I.WaveIHF]
AddReg=IntelSST.I.WaveIHF.AddReg

[IntelSST.I.WaveIHF.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%IntelSST.WaveIHF.szPname%
;; Effects which are enabled by default ON/OFF in IHF- Effect bitmap goes here
;; Currently only Render path equalizer is enabled
HKR,EffectList,EffectBitMap,0x00010001,0x1

[IntelSST.I.TopoIHF]
AddReg=IntelSST.I.TopoIHF.AddReg, IsstIHFProxyApo.I.Association0.AddReg

[IntelSST.I.TopoIHF.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%IntelSST.TopoIHF.szPname%
;opt-in to pull mode.
HKR,"EP\\0",%PKEY_AudioEndpoint_Association%,,%KSNODETYPE_ANY%
HKR,"EP\\0",%PKEY_AudioEndpoint_Supports_EventDriven_Mode%,0x00010001,0x1

[IsstProxyApo.AddReg]

; End Point effect APO COM registration
HKCR,CLSID\%FX_ISST_EFX_APO_CLSID%,,,%MFX_FriendlyName%
HKCR,CLSID\%FX_ISST_EFX_APO_CLSID%\InProcServer32,,,%11%\IsstProxyApo.dll
HKCR,CLSID\%FX_ISST_EFX_APO_CLSID%\InProcServer32,ThreadingModel,,"Both"

; Effects UI page COM registration
HKCR,CLSID\%FX_UI_CLSID%,,,"CplPage Class"
HKCR,CLSID\%FX_UI_CLSID%\InProcServer32,,,%11%\IsstPropPage.dll
HKCR,CLSID\%FX_UI_CLSID%\InProcServer32,ThreadingModel,,"Apartment"

; End Point effect APO registration
HKCR,AudioEngine\AudioProcessingObjects\%FX_ISST_EFX_APO_CLSID%, "FriendlyName", ,%MFX_FriendlyName%
HKCR,AudioEngine\AudioProcessingObjects\%FX_ISST_EFX_APO_CLSID%, "Copyright", ,%IntelCopyRight%
HKCR,AudioEngine\AudioProcessingObjects\%FX_ISST_EFX_APO_CLSID%, "MajorVersion", 0x00010001, 1
HKCR,AudioEngine\AudioProcessingObjects\%FX_ISST_EFX_APO_CLSID%, "MinorVersion", 0x00010001, 1
HKCR,AudioEngine\AudioProcessingObjects\%FX_ISST_EFX_APO_CLSID%, "Flags", 0x00010001, 0x0000000d
HKCR,AudioEngine\AudioProcessingObjects\%FX_ISST_EFX_APO_CLSID%, "MinInputConnections", 0x00010001, 1
HKCR,AudioEngine\AudioProcessingObjects\%FX_ISST_EFX_APO_CLSID%, "MaxInputConnections", 0x00010001, 1
HKCR,AudioEngine\AudioProcessingObjects\%FX_ISST_EFX_APO_CLSID%, "MinOutputConnections", 0x00010001, 1
HKCR,AudioEngine\AudioProcessingObjects\%FX_ISST_EFX_APO_CLSID%, "MaxOutputConnections", 0x00010001, 1
HKCR,AudioEngine\AudioProcessingObjects\%FX_ISST_EFX_APO_CLSID%, "MaxInstances", 0x00010001, 0xffffffff
HKCR,AudioEngine\AudioProcessingObjects\%FX_ISST_EFX_APO_CLSID%, "NumAPOInterfaces", 0x00010001, 1
HKCR,AudioEngine\AudioProcessingObjects\%FX_ISST_EFX_APO_CLSID%, "APOInterface0", ,"{FD7F2B29-24D0-4B5C-B177-592C39F9CA10}"

;*********DMIC*****************
[IntelSST.I.WaveDMIC]
AddReg=IntelSST.I.WaveDMIC.AddReg

[IntelSST.I.WaveDMIC.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%IntelSST.WaveDMIC.szPname%
;; Effects which are enabled by default ON/OFF in IHF- Effect bitmap goes here
;; These are the bitmap values [DCR][AGC][MIC EQ][SPK EQ] 
;; currently only MIC EQ and DCR enabled 
HKR,EffectList,EffectBitMap,0x00010001,0xA

[IntelSST.I.TopoDMIC]
AddReg=IntelSST.I.TopoDMIC.AddReg , IsstDMICProxyApo.I.Association0.AddReg

[IntelSST.I.TopoDMIC.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%IntelSST.TopoDMIC.szPname%
;opt-in to pull mode.
HKR,"EP\\0",%PKEY_AudioEndpoint_Association%,,%KSNODETYPE_ANY%
HKR,"EP\\0",%PKEY_AudioEndpoint_Supports_EventDriven_Mode%,0x00010001,0x1


;*********HDMI*****************

[IntelSST.I.WaveHdmi]
AddReg=IntelSST.I.WaveHdmi.AddReg

[IntelSST.I.WaveHdmi.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%IntelSST.WaveHdmi.szPname%

[IntelSST.I.TopoHdmi]
AddReg=IntelSST.I.TopoHdmi.AddReg

[IntelSST.I.TopoHdmi.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%IntelSST.TopoHdmi.szPname%
;opt-in to pull mode.
HKR,"EP\\0",%PKEY_AudioEndpoint_Association%,,%KSNODETYPE_ANY%
HKR,"EP\\0",%PKEY_AudioEndpoint_Supports_EventDriven_Mode%,0x00010001,0x1


;======================================================
; IHF APO per-interface registry
;======================================================
[IsstIHFProxyApo.I.Association0.AddReg]

HKR,FX\0,%PKEY_FX_Association%,,%KSNODETYPE_ANY%
HKR,FX\0,%PKEY_FX_UserInterfaceClsid%,,%FX_UI_CLSID%
HKR,FX\0,%PKEY_FX_EndpointEffectClsid%,,%FX_ISST_EFX_APO_CLSID%

;;Render path equalizer is enabled by default.

HKR, "FX\\0", %PKEY_AudioEndpoint_Disable_SysFx%,      %REG_DWORD%, 0x00000000
HKR, "FX\\0", %PKEY_Endpoint_Enable_RenderPath_Equalizer%,      %REG_DWORD%, 0x00000001

;======================================================
; DMIC APO per-interface registry
;======================================================
[IsstDMICProxyApo.I.Association0.AddReg]

HKR,FX\0,%PKEY_FX_Association%,,%KSNODETYPE_ANY%
HKR,FX\0,%PKEY_FX_UserInterfaceClsid%,,%FX_UI_CLSID%
HKR,FX\0,%PKEY_FX_EndpointEffectClsid%,,%FX_ISST_EFX_APO_CLSID%
;;HKR,FX\0,%PKEY_FX_EndpointEffectClsid%,,%FX_DISCOVER_EFFECTS_APO_CLSID%
HKR,FX\0,%PKEY_FX_ModeEffectClsid%,,%FX_DISCOVER_EFFECTS_APO_CLSID%

;;[DCR][AGC][MIC EQ] equalizers are enabled by default.

HKR, "FX\\0", %PKEY_AudioEndpoint_Disable_SysFx%,      %REG_DWORD%, 0x00000000
HKR, "FX\\0", %PKEY_Endpoint_Enable_CapturePath_Equalizer%,      %REG_DWORD%, 0x00000001
HKR, "FX\\0", %PKEY_Endpoint_Enable_CapturePath_AGC%,      %REG_DWORD%, 0x00000001
HKR, "FX\\0", %PKEY_Endpoint_Enable_CapturePath_DCR%,      %REG_DWORD%, 0x00000001
HKR, "FX\\0", %PKEY_ModeEffect_Enable_CapturePath_AEC%,      %REG_DWORD%, 0x00000000
HKR, "FX\\0", %PKEY_ModeEffect_Enable_CapturePath_NS%,      %REG_DWORD%, 0x00000000

;======================================================
; IntelSSTAudio
;======================================================
[IntelSSTAudio]
Needs=ks.registration(ks.inf),wdmaudio.registration(wdmaudio.inf),MsApoFxProxy.Registration(wdmaudio.inf)


[IntelSSTAudio.NT]
Include=ks.inf,wdmaudio.inf
Needs=KS.Registration, WDMAUDIO.Registration, MsApoFxProxy.Registration
CopyFiles=IntelSSTAudio.CopyList
CopyFiles=IntelSSTAudio.CopyListApo
AddReg=IntelSSTAudio.AddReg, IsstProxyApo.AddReg,IntcADSPModel.AddReg
;Reboot

[IntelSSTAudio.NT.Interfaces]
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_Wave%,IntelSST.I.Wave
AddInterface=%KSCATEGORY_RENDER%,%KSNAME_Wave%,IntelSST.I.Wave
AddInterface=%KSCATEGORY_REALTIME%,%KSNAME_Wave%,IntelSST.I.Wave
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_Wave%,IntelSST.I.Wave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_Topology%,IntelSST.I.Topo
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_Topology%,IntelSST.I.Topo
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_WaveIHF%,IntelSST.I.WaveIHF
AddInterface=%KSCATEGORY_RENDER%,%KSNAME_WaveIHF%,IntelSST.I.WaveIHF
AddInterface=%KSCATEGORY_REALTIME%,%KSNAME_WaveIHF%,IntelSST.I.WaveIHF
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_TopologyIHF%,IntelSST.I.TopoIHF
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_TopologyIHF%,IntelSST.I.TopoIHF
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_WaveDMIC%,IntelSST.I.WaveDMIC
AddInterface=%KSCATEGORY_REALTIME%,%KSNAME_WaveDMIC%,IntelSST.I.WaveDMIC
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_WaveDMIC%,IntelSST.I.WaveDMIC
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_TopologyDMIC%,IntelSST.I.TopoDMIC
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_TopologyDMIC%,IntelSST.I.TopoDMIC

AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_WaveHdmi%,IntelSST.I.WaveHdmi
AddInterface=%KSCATEGORY_RENDER%,%KSNAME_WaveHdmi%,IntelSST.I.WaveHdmi
AddInterface=%KSCATEGORY_REALTIME%,%KSNAME_WaveHdmi%,IntelSST.I.WaveHdmi
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_TopologyHdmi%,IntelSST.I.TopoHdmi
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_TopologyHdmi%,IntelSST.I.TopoHdmi

[IntelSSTAudio.NT.Services]
AddService=IntelSST,0x00000002,IntelSST_Audio_Service_Inst

[IntelSST_Audio_Service_Inst]
DisplayName=%IntelSST_Audio.SvcDesc%
ServiceType=1
StartType=3
ErrorControl=1
ServiceBinary=%10%\system32\drivers\isstrtc.sys

[IntelSSTAudio.NT.HW]
AddReg = AUDIOHW.AddReg

[AUDIOHW.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)"

;======================================================
; COMMON
;======================================================
[Strings]
INTC="Intel"
MfgName="Intel Corporation"
IntelSSTAudio.DeviceDesc="Intel SST Audio Device (WDM)"
IntelSST.Wave.szPname="IntelSST Audio Wave for HS"
IntelSST.Topo.szPname="IntelSST Audio Topology for HS"
IntelSST.WaveIHF.szPname="IntelSST Audio Wave for IHF"
IntelSST.TopoIHF.szPname="IntelSST Audio Topology for IHF"
IntelSST.WaveDMIC.szPname="IntelSST Audio Wave for DMIC"
IntelSST.TopoDMIC.szPname="IntelSST Audio Topology for DMIC"

IntelSST.WaveHdmi.szPname="IntelSST Audio Wave for Hdmi"
IntelSST.TopoHdmi.szPname="IntelSST Audio Topology for Hdmi"

INTCDisk = "Intel SST Driver Disk"

Proxy.CLSID="{17CCA71B-ECD7-11D0-B908-00A0C9223196}"
KSCATEGORY_AUDIO="{6994AD04-93EF-11D0-A3CC-00A0C9223196}"
KSCATEGORY_RENDER="{65E8773E-8F56-11D0-A3B9-00A0C9223196}"
KSCATEGORY_CAPTURE="{65E8773D-8F56-11D0-A3B9-00A0C9223196}"
KSCATEGORY_REALTIME ="{EB115FFC-10C8-4964-831D-6DCB02E6F23F}" ; non-localizable
KSCATEGORY_TOPOLOGY = "{DDA54A40-1E4C-11D1-A050-405705C10000}" ; non-localizable
KSNAME_Wave="Wave"
KSNAME_Topology="Topology"
KSNAME_WaveIHF="WaveIHF"
KSNAME_TopologyIHF="TopologyIHF"
KSNAME_WaveDMIC="WaveDMIC"
KSNAME_TopologyDMIC="TopologyDMIC"
KSNAME_WaveHdmi="WaveHdmi"
KSNAME_TopologyHdmi="TopoHdmi"


IntelSST_Audio.SvcDesc="Intel SST Audio Device (WDM)"
IntelSSTAudio_MIDI="Intel SST Audio MIDI Device(WDM)"
MediaCategories="SYSTEM\CurrentControlSet\Control\MediaCategories"
IntelSST.NameGuid="{946A7B1A-EBBC-422a-A81F-E07C8D40D3B4}"
IntelSST.Name="IntelSST"
KSNODETYPE_ANY = "{00000000-0000-0000-0000-000000000000}"

PKEY_AudioEndpoint_ControlPanelPageProvider  = "{1DA5D803-D492-4EDD-8C23-E0C0FFEE7F0E},1"
PKEY_AudioEndpoint_Association = "{1DA5D803-D492-4EDD-8C23-E0C0FFEE7F0E},2"
PKEY_AudioEndpoint_Supports_EventDriven_Mode = "{1DA5D803-D492-4EDD-8C23-E0C0FFEE7F0E},7"

PKEY_AudioEngine_OEMFormat = "{E4870E26-3CC5-4CD2-BA46-CA0A9A70ED04},3"
PKEY_FX_Association         = "{D04E05A6-594B-4FB6-A80D-01AF5EED7D1D},0"
PKEY_FX_PreMixEffectClsid   = "{D04E05A6-594B-4fb6-A80D-01AF5EED7D1D},1"
PKEY_FX_PostMixEffectClsid  = "{D04E05A6-594B-4fb6-A80D-01AF5EED7D1D},2"
PKEY_FX_UserInterfaceClsid  = "{D04E05A6-594B-4fb6-A80D-01AF5EED7D1D},3"
PKEY_FX_StreamEffectClsid   = "{D04E05A6-594B-4fb6-A80D-01AF5EED7D1D},5"
PKEY_FX_ModeEffectClsid     = "{D04E05A6-594B-4fb6-A80D-01AF5EED7D1D},6"
PKEY_FX_EndpointEffectClsid = "{D04E05A6-594B-4fb6-A80D-01AF5EED7D1D},7"


PKEY_SFX_ProcessingModes_Supported_For_Streaming = "{D3993A3F-99C2-4402-B5EC-A92A0367664B},5"
PKEY_MFX_ProcessingModes_Supported_For_Streaming = "{D3993A3F-99C2-4402-B5EC-A92A0367664B},6"
;PKEY_EFX_ProcessingModes_Supported_For_Streaming = "{D3993A3F-99C2-4402-B5EC-A92A0367664B},7"

AUDIO_SIGNALPROCESSINGMODE_DEFAULT = "{C18E2F7E-933D-4965-B7D1-1EEF228D2AF3}"
AUDIO_SIGNALPROCESSINGMODE_RAW = "{9E90EA20-B493-4FD1-A1A8-7E1361A956CF}"

REG_DWORD = 0x00010001
PKEY_AudioEndpoint_Disable_SysFx = "{1DA5D803-D492-4EDD-8C23-E0C0FFEE7F0E},5"
PKEY_Endpoint_Enable_RenderPath_Equalizer = "{6172CA8B-3E8D-4D89-AED6-8CDC4E373F2F},0"
PKEY_Endpoint_Enable_CapturePath_Equalizer = "{C88314AB-AD91-451C-91BD-766C15A119A9},0"
PKEY_Endpoint_Enable_CapturePath_AGC = "{6f64adc0-8211-11e2-8c70-2c27d7f001fa},0"
PKEY_Endpoint_Enable_CapturePath_DCR = "{8E5A8EC3-84A8-434C-B011-E6DAF4F1C7D7},0"
PKEY_ModeEffect_Enable_CapturePath_AEC = "{6f64adbe-8211-11e2-8c70-2c27d7f001fa},0"
PKEY_ModeEffect_Enable_CapturePath_NS = "{6f64adbf-8211-11e2-8c70-2c27d7f001fa},0"

FX_ISST_EFX_APO_CLSID      = "{B8BC27C3-E512-439D-9C88-009F061C9867}"
FX_UI_CLSID        = "{854A9DFD-3491-468B-95A6-37E00B341FD9}"
FX_DISCOVER_EFFECTS_APO_CLSID  = "{889C03C8-ABAD-4004-BF0A-BC7BB825E166}" 

MFX_FriendlyName = "Intel SST Audio Device (WDM) Proxy EFX APO"

MEDIA_CATEGORIES = "SYSTEM\CurrentControlSet\Control\MediaCategories"
;MicArray1CustomNameGUID = {6ae81ff4-203e-4fe1-88aa-f2d57775cd4a}
;MicArray2CustomNameGUID = {3fe0e3e1-ad16-4772-8382-4129169018ce}
;MicInCustomNameGUID = {d48deb08-fd1c-4d1e-b821-9064d49ae96e}

IntelCopyRight="Copyright (c) Intel Corporation All Rights Reserved"