;=============================================================================
;
; Copyright (c) 2024, Intel Corporation.
;
; This Intel(R) Smart Sound Technology (Intel(R) SST) ("Software") is furnished
; under license and may only be used or copied in accordance with the terms of
; that license. No license, express or implied, by estoppel or otherwise,
; to any intellectual property rights is granted by this document.
; The Software is subject to change without notice, and should not be construed
; as a commitment by Intel Corporation to market, license, sell or support any
; product or technology. Unless otherwise provided for in the license under
; which this Software is provided, the Software is provided AS IS, with no
; warranties of any kind, express or implied. Except as expressly permitted by
; the Software license, neither Intel Corporation nor its suppliers assumes any
; responsibility or liability for any errors or inaccuracies that may appear
; herein. Except as expressly permitted by the Software license, no part of
; the Software may be reproduced, stored in a retrieval system, transmitted in
; any form, or distributed by any means without the express written consent of
; Intel Corporation.
;
;=============================================================================
[Version]
Signature="$WINDOWS NT$"
Class=MEDIA
ClassGuid={4d36e96c-e325-11ce-bfc1-08002be10318}
Provider=%ProviderName%
DriverVer = 02/12/2025,20.40.11880.0
CatalogFile=IntcStreaming.cat
PnpLockdown=1
[DestinationDirs]
DefaultDestDir = 13
;*****************************************
; Audio Device Install Section
;*****************************************
[ControlFlags]
ExcludeFromSelect = %DSP_SDW_STREAMING_DEVICE_GUID%\Streaming_Speaker
ExcludeFromSelect = %DSP_SDW_STREAMING_DEVICE_GUID%\Streaming_MicrophoneArray
ExcludeFromSelect = %DSP_SDW_STREAMING_DEVICE_GUID%\Streaming_Headphones
ExcludeFromSelect = %DSP_SDW_STREAMING_DEVICE_GUID%\Streaming_LineOut
ExcludeFromSelect = %DSP_SDW_STREAMING_DEVICE_GUID%\Streaming_HeadsetOutput
ExcludeFromSelect = %DSP_SDW_STREAMING_DEVICE_GUID%\Streaming_Microphone
ExcludeFromSelect = %DSP_SDW_STREAMING_DEVICE_GUID%\Streaming_LineIn
ExcludeFromSelect = %DSP_SDW_STREAMING_DEVICE_GUID%\Streaming_HeadsetMic
[Manufacturer]
%StdMfg%=Standard,NTamd64.10.0...17763
[Standard.NTamd64.10.0...17763]
; TGL
; ADL
; RPL-P
; MTL-P/M
%IntcStreaming.DeviceDesc% = Audio_Device, INTELAUDIO\DIF_0001&UIF_0000&CTLR_DEV_7E28&LINKTYPE_05&DEVTYPE_05&VEN_8086&DEV_AE35
%IntcStreaming.DeviceDesc% = Audio_Device, INTELAUDIO\DIF_0001&UIF_0001&CTLR_DEV_7E28&LINKTYPE_05&DEVTYPE_05&VEN_8086&DEV_AE35
%IntcStreaming.DeviceDesc% = Audio_Device, INTELAUDIO\CTLR_DEV_7E28&LINKTYPE_05&DEVTYPE_05&VEN_8086&DEV_AE35
; MTL-S
%IntcStreaming.DeviceDesc% = Audio_Device, INTELAUDIO\DIF_0001&UIF_0000&CTLR_DEV_7F50&LINKTYPE_05&DEVTYPE_05&VEN_8086&DEV_AE35
%IntcStreaming.DeviceDesc% = Audio_Device, INTELAUDIO\DIF_0001&UIF_0001&CTLR_DEV_7F50&LINKTYPE_05&DEVTYPE_05&VEN_8086&DEV_AE35
%IntcStreaming.DeviceDesc% = Audio_Device, INTELAUDIO\CTLR_DEV_7F50&LINKTYPE_05&DEVTYPE_05&VEN_8086&DEV_AE35
; ARL
%IntcStreaming.DeviceDesc% = Audio_Device, INTELAUDIO\DIF_0001&UIF_0000&CTLR_DEV_7728&LINKTYPE_05&DEVTYPE_05&VEN_8086&DEV_AE35
%IntcStreaming.DeviceDesc% = Audio_Device, INTELAUDIO\DIF_0001&UIF_0001&CTLR_DEV_7728&LINKTYPE_05&DEVTYPE_05&VEN_8086&DEV_AE35
%IntcStreaming.DeviceDesc% = Audio_Device, INTELAUDIO\CTLR_DEV_7728&LINKTYPE_05&DEVTYPE_05&VEN_8086&DEV_AE35
; LNL
; PTL-PX/H
; PTL-U/P
; WCL
; NVL
; streaming device children names
%IntcStreamingSpeaker.DeviceDesc%    = Audio_Child_Device, %DSP_SDW_STREAMING_DEVICE_GUID%\Streaming_Speaker
%IntcStreamingMicArray.DeviceDesc%   = Audio_Child_Device, %DSP_SDW_STREAMING_DEVICE_GUID%\Streaming_MicrophoneArray
%IntcStreamingHeadphones.DeviceDesc% = Audio_Child_Device, %DSP_SDW_STREAMING_DEVICE_GUID%\Streaming_Headphones
%IntcStreamingLineOut.DeviceDesc%    = Audio_Child_Device, %DSP_SDW_STREAMING_DEVICE_GUID%\Streaming_LineOut
%IntcStreamingHeadsetOut.DeviceDesc% = Audio_Child_Device, %DSP_SDW_STREAMING_DEVICE_GUID%\Streaming_HeadsetOutput
%IntcStreamingMicrophone.DeviceDesc% = Audio_Child_Device, %DSP_SDW_STREAMING_DEVICE_GUID%\Streaming_Microphone
%IntcStreamingLineIn.DeviceDesc%     = Audio_Child_Device, %DSP_SDW_STREAMING_DEVICE_GUID%\Streaming_LineIn
%IntcStreamingHeadsetMic.DeviceDesc% = Audio_Child_Device, %DSP_SDW_STREAMING_DEVICE_GUID%\Streaming_HeadsetMic
[Audio_Device.NT]
CopyFiles=Audio_Device.NT.Copy
[Audio_Device.NT.HW]
AddReg = IntcDirectedPowerHW.AddReg
[Audio_Child_Device.NT]
CopyFiles=Audio_Device.NT.Copy
[Audio_Child_Device.NT.HW]
AddReg = IntcDirectedPowerHW.AddReg
[IntcDirectedPowerHW.AddReg]
HKR,"WDF","WdfDirectedPowerTransitionEnable",0x00010001,1
[Audio_Device.NT.Copy]
IntcStreaming.sys
;-------------- Service installation
[Audio_Device.NT.Services]
AddService = IntcStreaming, %SPSVCINST_ASSOCSERVICE%, Audio_Service_Inst
[Audio_Child_Device.NT.Services]
;NULL Driver
AddService = , %SPSVCINST_ASSOCSERVICE%
[Audio_Service_Inst]
DisplayName    = %IntcStreaming.DeviceDesc%
ServiceType    = 1               ; SERVICE_KERNEL_DRIVER
StartType      = 3               ; SERVICE_DEMAND_START
ErrorControl   = 1               ; SERVICE_ERROR_NORMAL
ServiceBinary  = %13%\IntcStreaming.sys
AddReg         = ParamReg
[SourceDisksNames]
1 = %DiskId1%,,,""
[SourceDisksFiles]
IntcStreaming.sys  = 1,,
[ParamReg]
HKR, Parameters, LogPages, 0x00010001, 0xF
HKR, Parameters, VerboseOn, 0x00010001, 0x1
HKR, Parameters, WppRecorder_UseTimeStamp, 0x00010001, 0x1
HKR, Parameters, WppRecorder_PreciseTimeStamp, 0x00010001, 0x1
[Audio_Device.NT.Wdf]
KmdfService = IntcStreaming, Audio_wdfsect
[Audio_wdfsect]
KmdfLibraryVersion = 1.25
;
; render interfaces: speaker
;
[Audio_Device.I.Speaker]
AddReg=Audio_Device.I.Speaker.AddReg
[Audio_Device.I.Speaker.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%Audio_Device.Speaker.szPname%
; The following lines opt-in to pull mode.
HKR,EP\0,%PKEY_AudioEndpoint_Association%,,%KSNODETYPE_ANY%
HKR,EP\0,%PKEY_AudioEndpoint_Supports_EventDriven_Mode%,0x00010001,0x1
;
; capture interfaces: microphone
;
[Audio_Device.I.Microphone]
AddReg=Audio_Device.I.Microphone.AddReg
[Audio_Device.I.Microphone.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%Audio_Device.Microphone.szPname%
; The following lines opt-in to pull mode.
HKR,EP\0,%PKEY_AudioEndpoint_Association%,,%KSNODETYPE_ANY%
HKR,EP\0,%PKEY_AudioEndpoint_Supports_EventDriven_Mode%,0x00010001,0x1
;
; PnP add interface directives for dynamic enumerated audio endpoints.
;
[Audio_Child_Device.NT.Interfaces]
; Interfaces for render endpoint. capture is used for loopback.
AddInterface=%KSCATEGORY_AUDIO%,    %KSNAME_Speaker%,  Audio_Device.I.Speaker
AddInterface=%KSCATEGORY_RENDER%,   %KSNAME_Speaker%,  Audio_Device.I.Speaker
AddInterface=%KSCATEGORY_REALTIME%, %KSNAME_Speaker%,  Audio_Device.I.Speaker
;AddInterface=%KSCATEGORY_CAPTURE%,  %KSNAME_Speaker%,  Audio_Device.I.Speaker
; Interfaces for mic capture endpoint
AddInterface=%KSCATEGORY_AUDIO%,    %KSNAME_Microphone%, Audio_Device.I.Microphone
AddInterface=%KSCATEGORY_CAPTURE%,  %KSNAME_Microphone%, Audio_Device.I.Microphone
AddInterface=%KSCATEGORY_REALTIME%, %KSNAME_Microphone%, Audio_Device.I.Microphone
[Strings]
;
;Non-localizable
;
KSNAME_Speaker="Speaker0"
KSNAME_Microphone="Microphone0"
SPSVCINST_ASSOCSERVICE = 0x00000002
ProviderName = "Intel"
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}"
MediaCategories="SYSTEM\CurrentControlSet\Control\MediaCategories"
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_AudioEndpoint_Default_VolumeInDb        = "{1DA5D803-D492-4EDD-8C23-E0C0FFEE7F0E},9"
DSP_SDW_STREAMING_DEVICE_GUID = "{F67B0BEA-BDB7-47D3-9131-75877CDE0ED4}"
;
;Localizable
;
StdMfg = "Intel ACX Streaming for SDW"
DiskId1 = "Intel ACX Streaming for SDW Driver Installation Disk"
IntcStreaming.DeviceDesc = "Intel ACX Streaming for SDW"
IntcStreamingSpeaker.DeviceDesc    = "SoundWire ACX Streaming for SDW - Speaker"
IntcStreamingMicArray.DeviceDesc   = "SoundWire ACX Streaming for SDW - Microphone Array"
IntcStreamingHeadphones.DeviceDesc = "SoundWire ACX Streaming for SDW - Headphones"
IntcStreamingLineOut.DeviceDesc    = "SoundWire ACX Streaming for SDW - Line Out"
IntcStreamingHeadsetOut.DeviceDesc = "SoundWire ACX Streaming for SDW - Headset Earphone"
IntcStreamingMicrophone.DeviceDesc = "SoundWire ACX Streaming for SDW - Microphone"
IntcStreamingLineIn.DeviceDesc     = "SoundWire ACX Streaming for SDW - Line In"
IntcStreamingHeadsetMic.DeviceDesc = "SoundWire ACX Streaming for SDW - Headset Microphone"
;; friendly names
Audio_Device.Speaker.szPname="SoundWire Speaker"
Audio_Device.Microphone.szPname="SoundWire Microphone"
