From: "Chiu, Chasel" <chasel.chiu@intel.com>
To: "Kubacki, Michael A" <michael.a.kubacki@intel.com>,
"devel@edk2.groups.io" <devel@edk2.groups.io>
Cc: "Chaganty, Rangasai V" <rangasai.v.chaganty@intel.com>,
"Desimone, Nathaniel L" <nathaniel.l.desimone@intel.com>,
"Gao, Liming" <liming.gao@intel.com>,
"Kinney, Michael D" <michael.d.kinney@intel.com>,
"Sinha, Ankit" <ankit.sinha@intel.com>
Subject: Re: [edk2-platforms][PATCH V1 22/37] CoffeelakeSiliconPkg/Pch: Add DXE private library instances
Date: Sat, 17 Aug 2019 01:13:51 +0000 [thread overview]
Message-ID: <3C3EFB470A303B4AB093197B6777CCEC5046236B@PGSMSX111.gar.corp.intel.com> (raw)
In-Reply-To: <20190817001603.30632-23-michael.a.kubacki@intel.com>
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com>
> -----Original Message-----
> From: Kubacki, Michael A
> Sent: Saturday, August 17, 2019 8:16 AM
> To: devel@edk2.groups.io
> Cc: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Chiu, Chasel
> <chasel.chiu@intel.com>; Desimone, Nathaniel L
> <nathaniel.l.desimone@intel.com>; Gao, Liming <liming.gao@intel.com>;
> Kinney, Michael D <michael.d.kinney@intel.com>; Sinha, Ankit
> <ankit.sinha@intel.com>
> Subject: [edk2-platforms][PATCH V1 22/37] CoffeelakeSiliconPkg/Pch: Add DXE
> private library instances
>
> REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2082
>
> Adds PCH DXE private library class instances.
>
> * DxeGpioNameBufferLib
> * DxePchHdaLib
>
> Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
> Cc: Chasel Chiu <chasel.chiu@intel.com>
> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
> Cc: Liming Gao <liming.gao@intel.com>
> Cc: Michael D Kinney <michael.d.kinney@intel.com>
> Cc: Ankit Sinha <ankit.sinha@intel.com>
> Signed-off-by: Michael Kubacki <michael.a.kubacki@intel.com>
> ---
>
> Silicon/Intel/CoffeelakeSiliconPkg/Pch/Library/Private/DxeGpioNameBufferLi
> b/DxeGpioNameBufferLib.inf | 32 +
>
> Silicon/Intel/CoffeelakeSiliconPkg/Pch/Library/Private/DxePchHdaLib/DxePch
> HdaLib.inf | 43 +
>
> Silicon/Intel/CoffeelakeSiliconPkg/Pch/Library/Private/DxeGpioNameBufferLi
> b/GpioNameBufferDxe.c | 20 +
>
> Silicon/Intel/CoffeelakeSiliconPkg/Pch/Library/Private/DxePchHdaLib/PchHd
> aEndpoints.c | 333 ++++++++
>
> Silicon/Intel/CoffeelakeSiliconPkg/Pch/Library/Private/DxePchHdaLib/PchHd
> aLib.c | 886 ++++++++++++++++++++
>
> Silicon/Intel/CoffeelakeSiliconPkg/Pch/Library/Private/DxePchHdaLib/PchHd
> aNhltConfig.c | 439 ++++++++++
> 6 files changed, 1753 insertions(+)
>
> diff --git
> a/Silicon/Intel/CoffeelakeSiliconPkg/Pch/Library/Private/DxeGpioNameBuffe
> rLib/DxeGpioNameBufferLib.inf
> b/Silicon/Intel/CoffeelakeSiliconPkg/Pch/Library/Private/DxeGpioNameBuffe
> rLib/DxeGpioNameBufferLib.inf
> new file mode 100644
> index 0000000000..0dc8f9749d
> --- /dev/null
> +++
> b/Silicon/Intel/CoffeelakeSiliconPkg/Pch/Library/Private/DxeGpioNameBuffe
> rLib/DxeGpioNameBufferLib.inf
> @@ -0,0 +1,32 @@
> +## @file
> +# Component description file for the DxeGpioMemLib
> +#
> +# Copyright (c) 2019 Intel Corporation. All rights reserved. <BR>
> +#
> +# SPDX-License-Identifier: BSD-2-Clause-Patent
> +#
> +##
> +
> +[Defines]
> +INF_VERSION = 0x00010017
> +BASE_NAME = DxeGpioNameBufferLib
> +FILE_GUID = 16EC6AA8-81D5-4847-B6CB-662CDAB863F2
> +VERSION_STRING = 1.0
> +MODULE_TYPE = DXE_DRIVER
> +LIBRARY_CLASS = GpioNameBufferLib
> +#
> +# The following information is for reference only and not required by the
> build tools.
> +#
> +# VALID_ARCHITECTURES = IA32 X64 IPF EBC
> +#
> +
> +[LibraryClasses]
> +BaseLib
> +
> +[Packages]
> +MdePkg/MdePkg.dec
> +CoffeelakeSiliconPkg/SiPkg.dec
> +
> +[Sources]
> +GpioNameBufferDxe.c
> +
> diff --git
> a/Silicon/Intel/CoffeelakeSiliconPkg/Pch/Library/Private/DxePchHdaLib/DxeP
> chHdaLib.inf
> b/Silicon/Intel/CoffeelakeSiliconPkg/Pch/Library/Private/DxePchHdaLib/DxeP
> chHdaLib.inf
> new file mode 100644
> index 0000000000..a8a3f60b53
> --- /dev/null
> +++
> b/Silicon/Intel/CoffeelakeSiliconPkg/Pch/Library/Private/DxePchHdaLib/DxeP
> chHdaLib.inf
> @@ -0,0 +1,43 @@
> +## @file
> +# Component information file for PCH HD Audio Library
> +#
> +# Copyright (c) 2019 Intel Corporation. All rights reserved. <BR>
> +#
> +# SPDX-License-Identifier: BSD-2-Clause-Patent
> +#
> +##
> +
> +[Defines]
> +INF_VERSION = 0x00010017
> +BASE_NAME = DxePchHdaLib
> +FILE_GUID = DA915B7F-EE08-4C1D-B3D0-DE7C52AB155A
> +VERSION_STRING = 1.0
> +MODULE_TYPE = BASE
> +LIBRARY_CLASS = PchHdaLib
> +
> +
> +[LibraryClasses]
> +BaseLib
> +DebugLib
> +MemoryAllocationLib
> +BaseMemoryLib
> +PchInfoLib
> +
> +
> +[Packages]
> +MdePkg/MdePkg.dec
> +CoffeelakeSiliconPkg/SiPkg.dec
> +
> +
> +[Pcd]
> + gSiPkgTokenSpaceGuid.PcdAcpiDefaultOemId
> + gSiPkgTokenSpaceGuid.PcdAcpiDefaultOemTableId
> + gSiPkgTokenSpaceGuid.PcdAcpiDefaultOemRevision
> + gSiPkgTokenSpaceGuid.PcdAcpiDefaultCreatorId
> + gSiPkgTokenSpaceGuid.PcdAcpiDefaultCreatorRevision
> +
> +
> +[Sources]
> +PchHdaLib.c
> +PchHdaEndpoints.c
> +PchHdaNhltConfig.c
> diff --git
> a/Silicon/Intel/CoffeelakeSiliconPkg/Pch/Library/Private/DxeGpioNameBuffe
> rLib/GpioNameBufferDxe.c
> b/Silicon/Intel/CoffeelakeSiliconPkg/Pch/Library/Private/DxeGpioNameBuffe
> rLib/GpioNameBufferDxe.c
> new file mode 100644
> index 0000000000..af53387faf
> --- /dev/null
> +++
> b/Silicon/Intel/CoffeelakeSiliconPkg/Pch/Library/Private/DxeGpioNameBuffe
> rLib/GpioNameBufferDxe.c
> @@ -0,0 +1,20 @@
> +/** @file
> + This file contains implementation of the GpioMemLib for DXE phase
> +
> + Copyright (c) 2019 Intel Corporation. All rights reserved. <BR>
> +
> + SPDX-License-Identifier: BSD-2-Clause-Patent
> +**/
> +
> +#include <Private/Library/GpioNameBufferLib.h>
> +
> +STATIC CHAR8 mGpioNameBuffer[GPIO_NAME_LENGTH_MAX];
> +
> +CHAR8*
> +GpioGetStaticNameBuffer (
> + VOID
> + )
> +{
> + return mGpioNameBuffer;
> +}
> +
> diff --git
> a/Silicon/Intel/CoffeelakeSiliconPkg/Pch/Library/Private/DxePchHdaLib/PchH
> daEndpoints.c
> b/Silicon/Intel/CoffeelakeSiliconPkg/Pch/Library/Private/DxePchHdaLib/PchH
> daEndpoints.c
> new file mode 100644
> index 0000000000..ea04512501
> --- /dev/null
> +++
> b/Silicon/Intel/CoffeelakeSiliconPkg/Pch/Library/Private/DxePchHdaLib/PchH
> daEndpoints.c
> @@ -0,0 +1,333 @@
> +/** @file
> + This file contains HD Audio NHLT Endpoints definitions
> +
> + Copyright (c) 2019 Intel Corporation. All rights reserved. <BR>
> +
> + SPDX-License-Identifier: BSD-2-Clause-Patent
> +**/
> +
> +#include <Private/PchHdaEndpoints.h>
> +
> +GLOBAL_REMOVE_IF_UNREFERENCED
> +CONST WAVEFORMATEXTENSIBLE Ch1_48kHz16bitFormat =
> +{
> + {
> + WAVE_FORMAT_EXTENSIBLE,
> + 1,
> + 48000,
> + 96000,
> + 2,
> + 16,
> + sizeof (WAVEFORMATEXTENSIBLE) - sizeof (WAVEFORMATEX)
> + },
> + {16},
> + KSAUDIO_SPEAKER_MONO,
> + KSDATAFORMAT_SUBTYPE_PCM
> +};
> +
> +GLOBAL_REMOVE_IF_UNREFERENCED
> +CONST WAVEFORMATEXTENSIBLE Ch2_48kHz16bitFormat =
> +{
> + {
> + WAVE_FORMAT_EXTENSIBLE,
> + 2,
> + 48000,
> + 192000,
> + 4,
> + 16,
> + sizeof (WAVEFORMATEXTENSIBLE) - sizeof (WAVEFORMATEX)
> + },
> + {16},
> + KSAUDIO_SPEAKER_STEREO,
> + KSDATAFORMAT_SUBTYPE_PCM
> +};
> +
> +GLOBAL_REMOVE_IF_UNREFERENCED
> +CONST WAVEFORMATEXTENSIBLE Ch2_48kHz24bitFormat =
> +{
> + {
> + WAVE_FORMAT_EXTENSIBLE,
> + 2,
> + 48000,
> + 384000,
> + 8,
> + 32,
> + sizeof (WAVEFORMATEXTENSIBLE) - sizeof (WAVEFORMATEX)
> + },
> + {24},
> + KSAUDIO_SPEAKER_STEREO,
> + KSDATAFORMAT_SUBTYPE_PCM
> +};
> +
> +GLOBAL_REMOVE_IF_UNREFERENCED
> +CONST WAVEFORMATEXTENSIBLE Ch2_48kHz32bitFormat =
> +{
> + {
> + WAVE_FORMAT_EXTENSIBLE,
> + 2,
> + 48000,
> + 384000,
> + 8,
> + 32,
> + sizeof (WAVEFORMATEXTENSIBLE) - sizeof (WAVEFORMATEX)
> + },
> + {32},
> + KSAUDIO_SPEAKER_STEREO,
> + KSDATAFORMAT_SUBTYPE_PCM
> +};
> +
> +GLOBAL_REMOVE_IF_UNREFERENCED
> +CONST WAVEFORMATEXTENSIBLE Ch4_48kHz16bitFormat =
> +{
> + {
> + WAVE_FORMAT_EXTENSIBLE,
> + 4,
> + 48000,
> + 384000,
> + 8,
> + 16,
> + sizeof (WAVEFORMATEXTENSIBLE) - sizeof (WAVEFORMATEX)
> + },
> + {16},
> + KSAUDIO_SPEAKER_QUAD,
> + KSDATAFORMAT_SUBTYPE_PCM
> +};
> +
> +GLOBAL_REMOVE_IF_UNREFERENCED
> +CONST WAVEFORMATEXTENSIBLE Ch4_48kHz32bitFormat =
> +{
> + {
> + WAVE_FORMAT_EXTENSIBLE,
> + 4,
> + 48000,
> + 384000,
> + 8,
> + 32,
> + sizeof (WAVEFORMATEXTENSIBLE) - sizeof (WAVEFORMATEX)
> + },
> + {32},
> + KSAUDIO_SPEAKER_QUAD,
> + KSDATAFORMAT_SUBTYPE_PCM
> +};
> +
> +GLOBAL_REMOVE_IF_UNREFERENCED
> +CONST WAVEFORMATEXTENSIBLE NarrowbandFormat =
> +{
> + {
> + WAVE_FORMAT_EXTENSIBLE,
> + 1,
> + 8000,
> + 16000,
> + 2,
> + 16,
> + sizeof (WAVEFORMATEXTENSIBLE) - sizeof (WAVEFORMATEX)
> + },
> + {16},
> + KSAUDIO_SPEAKER_MONO,
> + KSDATAFORMAT_SUBTYPE_PCM
> +};
> +
> +GLOBAL_REMOVE_IF_UNREFERENCED
> +CONST WAVEFORMATEXTENSIBLE WidebandFormat =
> +{
> + {
> + WAVE_FORMAT_EXTENSIBLE,
> + 1,
> + 16000,
> + 32000,
> + 2,
> + 16,
> + sizeof (WAVEFORMATEXTENSIBLE) - sizeof (WAVEFORMATEX)
> + },
> + {16},
> + KSAUDIO_SPEAKER_MONO,
> + KSDATAFORMAT_SUBTYPE_PCM
> +};
> +
> +GLOBAL_REMOVE_IF_UNREFERENCED
> +CONST WAVEFORMATEXTENSIBLE A2dpFormat =
> +{
> + {
> + WAVE_FORMAT_EXTENSIBLE,
> + 2,
> + 48000,
> + 384000,
> + 8,
> + 32,
> + sizeof (WAVEFORMATEXTENSIBLE) - sizeof (WAVEFORMATEX)
> + },
> + {24},
> + KSAUDIO_SPEAKER_STEREO,
> + KSDATAFORMAT_SUBTYPE_PCM
> +};
> +GLOBAL_REMOVE_IF_UNREFERENCED
> +ENDPOINT_DESCRIPTOR HdaEndpointDmicX1 = {
> + 0, // EndpointDescriptorLength
> + HdaNhltLinkDmic, // LinkType
> + 0, // InstanceId
> + 0x8086, // HwVendorId
> + 0xae20, // HwDeviceId
> + 1, // HwRevisionId
> + 1, // HwSubsystemId
> + HdaNhltDeviceDmic, // DeviceType
> + 1, // Direction
> + 0, // VirtualBusId
> + { 0 }, // EndpointConfig
> + { 0 }, // FormatsConfig
> + { 0 } // DevicesInformation
> +};
> +
> +GLOBAL_REMOVE_IF_UNREFERENCED
> +ENDPOINT_DESCRIPTOR HdaEndpointDmicX2 = {
> + 0, // EndpointDescriptorLength
> + HdaNhltLinkDmic, // LinkType
> + 0, // InstanceId
> + 0x8086, // HwVendorId
> + 0xae20, // HwDeviceId
> + 1, // HwRevisionId
> + 1, // HwSubsystemId
> + HdaNhltDeviceDmic, // DeviceType
> + 1, // Direction
> + 0, // VirtualBusId
> + { 0 }, // EndpointConfig
> + { 0 }, // FormatsConfig
> + { 0 } // DevicesInformation
> +};
> +
> +GLOBAL_REMOVE_IF_UNREFERENCED
> +ENDPOINT_DESCRIPTOR HdaEndpointDmicX4 = {
> + 0, // EndpointDescriptorLength
> + HdaNhltLinkDmic, // LinkType
> + 0, // InstanceId
> + 0x8086, // HwVendorId
> + 0xae20, // HwDeviceId
> + 1, // HwRevisionId
> + 1, // HwSubsystemId
> + HdaNhltDeviceDmic, // DeviceType
> + 1, // Direction
> + 0, // VirtualBusId
> + { 0 }, // EndpointConfig
> + { 0 }, // FormatsConfig
> + { 0 } // DevicesInformation
> +};
> +
> +GLOBAL_REMOVE_IF_UNREFERENCED
> +ENDPOINT_DESCRIPTOR HdaEndpointBtRender = {
> + 0, // EndpointDescriptorLength
> + HdaNhltLinkSsp, // LinkType
> + 0, // InstanceId
> + 0x8086, // HwVendorId
> + 0xae30, // HwDeviceId
> + 1, // HwRevisionId
> + 1, // HwSubsystemId
> + HdaNhltDeviceBt, // DeviceType
> + 0, // Direction
> + 2, // VirtualBusId
> + { 0 }, // EndpointConfig
> + { 0 }, // FormatsConfig
> + { 0 } // DevicesInformation
> +};
> +
> +GLOBAL_REMOVE_IF_UNREFERENCED
> +ENDPOINT_DESCRIPTOR HdaEndpointBtCapture = {
> + 0, // EndpointDescriptorLength
> + HdaNhltLinkSsp, // LinkType
> + 0, // InstanceId
> + 0x8086, // HwVendorId
> + 0xae30, // HwDeviceId
> + 1, // HwRevisionId
> + 1, // HwSubsystemId
> + HdaNhltDeviceBt, // DeviceType
> + 1, // Direction
> + 2, // VirtualBusId
> + { 0 }, // EndpointConfig
> + { 0 }, // FormatsConfig
> + { 0 } // DevicesInformation
> +};
> +
> +GLOBAL_REMOVE_IF_UNREFERENCED
> +ENDPOINT_DESCRIPTOR HdaEndpointI2sRender = {
> + 0, // EndpointDescriptorLength
> + HdaNhltLinkSsp, // LinkType
> + 1, // InstanceId
> + 0x8086, // HwVendorId
> + 0xae34, // HwDeviceId
> + 1, // HwRevisionId
> + 1, // HwSubsystemId
> + HdaNhltDeviceI2s, // DeviceType
> + 0, // Direction
> + 0, // VirtualBusId
> + { 0 }, // EndpointConfig
> + { 0 }, // FormatsConfig
> + { 0 } // DevicesInformation
> +};
> +
> +GLOBAL_REMOVE_IF_UNREFERENCED
> +ENDPOINT_DESCRIPTOR HdaEndpointI2sCapture = {
> + 0, // EndpointDescriptorLength
> + HdaNhltLinkSsp, // LinkType
> + 1, // InstanceId
> + 0x8086, // HwVendorId
> + 0xae34, // HwDeviceId
> + 1, // HwRevisionId
> + 1, // HwSubsystemId
> + HdaNhltDeviceI2s, // DeviceType
> + 1, // Direction
> + 0, // VirtualBusId
> + { 0 }, // EndpointConfig
> + { 0 }, // FormatsConfig
> + { 0 } // DevicesInformation
> +};
> +
> +GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 DmicX1Config[] =
> +{
> + 0x00, // VirtualSlot
> + 0x00, // eIntcConfigTypeMicArray = 1 , eIntcConfigTypeGeneric = 0
> +};
> +GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT32 DmicX1ConfigSize =
> sizeof (DmicX1Config);
> +
> +GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 DmicX2Config[] =
> +{
> + 0x00, // VirtualSlot
> + 0x01, // eIntcConfigTypeMicArray = 1 , eIntcConfigTypeGeneric = 0
> + 0x0A // ArrayType
> +};
> +GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT32 DmicX2ConfigSize =
> sizeof (DmicX2Config);
> +
> +GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 DmicX4Config[] =
> +{
> + 0x00, // VirtualSlot
> + 0x01, // eIntcConfigTypeMicArray = 1 , eIntcConfigTypeGeneric = 0
> + 0x0D // ArrayType
> +};
> +GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT32 DmicX4ConfigSize =
> sizeof (DmicX4Config);
> +
> +GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 BtConfig[] = {0};
> +GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT32 BtConfigSize = 0;
> +
> +GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 I2sRender1Config[] =
> {0};
> +GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT32 I2sRender1ConfigSize =
> 0;
> +
> +GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 I2sRender2Config[] =
> {0x01};
> +GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT32 I2sRender2ConfigSize =
> sizeof (I2sRender2Config);
> +
> +GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8 I2sCaptureConfig[] =
> {0};
> +GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT32 I2sCaptureConfigSize =
> 0;
> +
> +GLOBAL_REMOVE_IF_UNREFERENCED CONST DEVICE_INFO
> I2sRenderDeviceInfo =
> +{
> + "INT34C2", // DeviceId
> + 0x00, // DeviceInstanceId
> + 0x01 // DevicePortId
> +};
> +
> +GLOBAL_REMOVE_IF_UNREFERENCED CONST DEVICE_INFO
> I2sCaptureDeviceInfo =
> +{
> + "INT34C2", // DeviceId
> + 0x00, // DeviceInstanceId
> + 0x01 // DevicePortId
> +};
> +
> +GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT32 NhltConfiguration[] =
> { 0xEFBEADDE };
> +GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT32 NhltConfigurationSize
> = sizeof (NhltConfiguration);
> +
> diff --git
> a/Silicon/Intel/CoffeelakeSiliconPkg/Pch/Library/Private/DxePchHdaLib/PchH
> daLib.c
> b/Silicon/Intel/CoffeelakeSiliconPkg/Pch/Library/Private/DxePchHdaLib/PchH
> daLib.c
> new file mode 100644
> index 0000000000..a87509de1b
> --- /dev/null
> +++
> b/Silicon/Intel/CoffeelakeSiliconPkg/Pch/Library/Private/DxePchHdaLib/PchH
> daLib.c
> @@ -0,0 +1,886 @@
> +/** @file
> + PCH HD Audio Library implementation.
> +
> + Copyright (c) 2019 Intel Corporation. All rights reserved. <BR>
> +
> + SPDX-License-Identifier: BSD-2-Clause-Patent
> +**/
> +
> +#include <Uefi/UefiBaseType.h>
> +#include <Library/DebugLib.h>
> +#include <Library/MemoryAllocationLib.h>
> +#include <Library/BaseMemoryLib.h>
> +#include <Library/PcdLib.h>
> +#include <Private/Library/PchHdaLib.h>
> +#include <Library/PchInfoLib.h>
> +
> +/**
> + Returns pointer to Endpoint ENDPOINT_DESCRIPTOR structure.
> +
> + @param[in] *NhltTable Endpoint for which Format address is retrieved
> + @param[in] FormatIndex Index of Format to be retrieved
> +
> + @retval Pointer to ENDPOINT_DESCRIPTOR structure with
> given index
> +**/
> +ENDPOINT_DESCRIPTOR *
> +GetNhltEndpoint (
> + IN CONST NHLT_ACPI_TABLE *NhltTable,
> + IN CONST UINT8 EndpointIndex
> + )
> +{
> + UINT8 i;
> + ENDPOINT_DESCRIPTOR *Endpoint;
> + Endpoint = (ENDPOINT_DESCRIPTOR*) (NhltTable->EndpointDescriptors);
> +
> + if (EndpointIndex > NhltTable->EndpointCount) {
> + return NULL;
> + }
> +
> + for (i = 0; i < EndpointIndex; i++) {
> + Endpoint = (ENDPOINT_DESCRIPTOR*) ((UINT8*) (Endpoint) +
> Endpoint->EndpointDescriptorLength);
> + }
> +
> + return Endpoint;
> +}
> +
> +/**
> + Returns pointer to Endpoint Specific Configuration SPECIFIC_CONFIG
> structure.
> +
> + @param[in] *Endpoint Endpoint for which config address is retrieved
> +
> + @retval Pointer to SPECIFIC_CONFIG structure with endpoint's
> capabilities
> +**/
> +SPECIFIC_CONFIG *
> +GetNhltEndpointDeviceCapabilities (
> + IN CONST ENDPOINT_DESCRIPTOR *Endpoint
> + )
> +{
> + return (SPECIFIC_CONFIG*) (&Endpoint->EndpointConfig);
> +}
> +
> +/**
> + Returns pointer to all Formats Configuration FORMATS_CONFIG structure.
> +
> + @param[in] *Endpoint Endpoint for which Formats address is retrieved
> +
> + @retval Pointer to FORMATS_CONFIG structure
> +**/
> +FORMATS_CONFIG *
> +GetNhltEndpointFormatsConfig (
> + IN CONST ENDPOINT_DESCRIPTOR *Endpoint
> + )
> +{
> + FORMATS_CONFIG *FormatsConfig;
> + FormatsConfig = (FORMATS_CONFIG*) ((UINT8*)
> (&Endpoint->EndpointConfig)
> + + sizeof
> (Endpoint->EndpointConfig.CapabilitiesSize)
> + + Endpoint->EndpointConfig.CapabilitiesSize);
> +
> + return FormatsConfig;
> +}
> +
> +/**
> + Returns pointer to Format Configuration FORMAT_CONFIG structure.
> +
> + @param[in] *Endpoint Endpoint for which Format address is retrieved
> + @param[in] FormatIndex Index of Format to be retrieved
> +
> + @retval Pointer to FORMAT_CONFIG structure with given index
> +**/
> +FORMAT_CONFIG *
> +GetNhltEndpointFormat (
> + IN CONST ENDPOINT_DESCRIPTOR *Endpoint,
> + IN CONST UINT8 FormatIndex
> + )
> +{
> + UINT8 i;
> + UINT32 Length;
> + FORMATS_CONFIG *FormatsConfig;
> + FORMAT_CONFIG *Format;
> +
> + Length = 0;
> + FormatsConfig = GetNhltEndpointFormatsConfig (Endpoint);
> + Format = FormatsConfig->FormatsConfiguration;
> +
> + if (FormatIndex > FormatsConfig->FormatsCount) {
> + return NULL;
> + }
> +
> + for (i = 0; i < FormatIndex; i++) {
> + Length = sizeof (Format->Format) +
> Format->FormatConfiguration.CapabilitiesSize
> + + sizeof (Format->FormatConfiguration.CapabilitiesSize);
> + Format = (FORMAT_CONFIG*) ((UINT8*) (Format) + Length);
> + }
> +
> + return Format;
> +}
> +
> +/**
> + Returns pointer to all Device Information DEVICES_INFO structure.
> +
> + @param[in] *Endpoint Endpoint for which DevicesInfo address is
> retrieved
> +
> + @retval Pointer to DEVICES_INFO structure
> +**/
> +DEVICES_INFO *
> +GetNhltEndpointDevicesInfo (
> + IN CONST ENDPOINT_DESCRIPTOR *Endpoint
> + )
> +{
> + DEVICES_INFO *DevicesInfo;
> + FORMATS_CONFIG *FormatsConfig;
> + FORMAT_CONFIG *Format;
> +
> + FormatsConfig = GetNhltEndpointFormatsConfig (Endpoint);
> + Format = GetNhltEndpointFormat (Endpoint,
> FormatsConfig->FormatsCount);
> + DevicesInfo = (DEVICES_INFO*) ((UINT8*) Format);
> +
> + return DevicesInfo;
> +}
> +
> +/**
> + Returns pointer to Device Information DEVICES_INFO structure.
> +
> + @param[in] *Endpoint Endpoint for which Device Info address is
> retrieved
> + @param[in] DeviceInfoIndex Index of Device Info to be retrieved
> +
> + @retval Pointer to DEVICE_INFO structure with given index
> +**/
> +DEVICE_INFO *
> +GetNhltEndpointDeviceInfo (
> + IN CONST ENDPOINT_DESCRIPTOR *Endpoint,
> + IN CONST UINT8 DeviceInfoIndex
> + )
> +{
> + DEVICES_INFO *DevicesInfo;
> + DEVICE_INFO *DeviceInfo;
> +
> + DevicesInfo = GetNhltEndpointDevicesInfo (Endpoint);
> + DeviceInfo = DevicesInfo->DeviceInformation;
> +
> + if (DevicesInfo == NULL) {
> + return NULL;
> + }
> +
> + if (DeviceInfoIndex > DevicesInfo->DeviceInfoCount) {
> + return NULL;
> + }
> +
> + DeviceInfo = (DEVICE_INFO*) ((UINT8*) (DeviceInfo) + sizeof (*DeviceInfo) *
> DeviceInfoIndex);
> +
> + return DeviceInfo;
> +}
> +
> +/**
> + Returns pointer to OED Configuration SPECIFIC_CONFIG structure.
> +
> + @param[in] *NhltTable NHLT table for which OED address is retrieved
> +
> + @retval Pointer to SPECIFIC_CONFIG structure with NHLT
> capabilities
> +**/
> +SPECIFIC_CONFIG *
> +GetNhltOedConfig (
> + IN CONST NHLT_ACPI_TABLE *NhltTable
> + )
> +{
> + ENDPOINT_DESCRIPTOR *Endpoint;
> + SPECIFIC_CONFIG *OedConfig;
> +
> + Endpoint = GetNhltEndpoint (NhltTable, (NhltTable->EndpointCount));
> + OedConfig = (SPECIFIC_CONFIG*) ((UINT8*) (Endpoint));
> +
> + return OedConfig;
> +}
> +
> +/**
> + Prints Format configuration.
> +
> + @param[in] *Format Format to be printed
> +
> + @retval None
> +**/
> +VOID
> +NhltFormatDump (
> + IN CONST FORMAT_CONFIG *Format
> + )
> +{
> + UINT32 i;
> +
> + DEBUG ((DEBUG_INFO, "------------------------------- FORMAT
> -------------------------------\n"));
> + DEBUG ((DEBUG_INFO, " Format->Format.Format.wFormatTag =
> 0x%x\n", Format->Format.Format.wFormatTag));
> + DEBUG ((DEBUG_INFO, " Format->Format.Format.nChannels = %d\n",
> Format->Format.Format.nChannels));
> + DEBUG ((DEBUG_INFO, " Format->Format.Format.nSamplesPerSec = %d\n",
> Format->Format.Format.nSamplesPerSec));
> + DEBUG ((DEBUG_INFO, " Format->Format.Format.nAvgBytesPerSec = %d\n",
> Format->Format.Format.nAvgBytesPerSec));
> + DEBUG ((DEBUG_INFO, " Format->Format.Format.nBlockAlign = %d\n",
> Format->Format.Format.nBlockAlign));
> + DEBUG ((DEBUG_INFO, " Format->Format.Format.wBitsPerSample = %d\n",
> Format->Format.Format.wBitsPerSample));
> + DEBUG ((DEBUG_INFO, " Format->Format.Format.cbSize = %d\n",
> Format->Format.Format.cbSize));
> + DEBUG ((DEBUG_INFO, " Format->Format.Samples = %d\n",
> Format->Format.Samples));
> + DEBUG ((DEBUG_INFO, " Format->Format.dwChannelMask =
> 0x%x\n", Format->Format.dwChannelMask));
> + DEBUG ((DEBUG_INFO, " Format->Format.SubFormat = %g\n",
> Format->Format.SubFormat));
> +
> +
> + DEBUG ((DEBUG_INFO, " Format->FormatConfiguration.CapabilitiesSize =
> %d B\n", Format->FormatConfiguration.CapabilitiesSize));
> + DEBUG ((DEBUG_VERBOSE, "
> Format->FormatConfiguration.Capabilities:"));
> + for (i = 0; i < ( Format->FormatConfiguration.CapabilitiesSize ) ; i++) {
> + if (i % 16 == 0) {
> + DEBUG ((DEBUG_VERBOSE, "\n"));
> + }
> + DEBUG ((DEBUG_VERBOSE, "0x%02x, ",
> Format->FormatConfiguration.Capabilities[i]));
> + }
> + DEBUG ((DEBUG_VERBOSE, "\n"));
> +}
> +
> +/**
> + Prints Device Information.
> +
> + @param[in] *DeviceInfo DeviceInfo to be printed
> +
> + @retval None
> +**/
> +VOID
> +NhltDeviceInfoDump (
> + IN CONST DEVICE_INFO *DeviceInfo
> + )
> +{
> + DEBUG ((DEBUG_INFO, "----------------------------- DEVICE INFO
> ----------------------------\n"));
> + DEBUG ((DEBUG_INFO, " DeviceInfo->DeviceId = %a\n",
> DeviceInfo->DeviceId));
> + DEBUG ((DEBUG_INFO, " DeviceInfo->DeviceInstanceId = 0x%x\n",
> DeviceInfo->DeviceInstanceId));
> + DEBUG ((DEBUG_INFO, " DeviceInfo->DevicePortId = 0x%x\n",
> DeviceInfo->DevicePortId));
> +}
> +
> +/**
> + Prints Endpoint configuration.
> +
> + @param[in] *Endpoint Endpoint to be printed
> +
> + @retval None
> +**/
> +VOID
> +NhltEndpointDump (
> + IN CONST ENDPOINT_DESCRIPTOR *Endpoint
> + )
> +{
> + UINT8 i;
> + FORMATS_CONFIG *FormatsConfigs;
> + FORMAT_CONFIG *Format;
> + DEVICES_INFO *DevicesInfo;
> + DEVICE_INFO *DeviceInfo;
> +
> + DEBUG ((DEBUG_INFO, "------------------------------ ENDPOINT
> ------------------------------\n"));
> + DEBUG ((DEBUG_INFO, " Endpoint->DeviceDescriptorLength = %d B\n",
> Endpoint->EndpointDescriptorLength));
> + DEBUG ((DEBUG_INFO, " Endpoint->LinkType = 0x%x\n",
> Endpoint->LinkType));
> + DEBUG ((DEBUG_INFO, " Endpoint->InstanceId = 0x%x\n",
> Endpoint->InstanceId));
> + DEBUG ((DEBUG_INFO, " Endpoint->HwVendorId = 0x%x\n",
> Endpoint->HwVendorId));
> + DEBUG ((DEBUG_INFO, " Endpoint->HwDeviceId = 0x%x\n",
> Endpoint->HwDeviceId));
> + DEBUG ((DEBUG_INFO, " Endpoint->HwRevisionId = 0x%x\n",
> Endpoint->HwRevisionId));
> + DEBUG ((DEBUG_INFO, " Endpoint->HwSubsystemId = 0x%x\n",
> Endpoint->HwSubsystemId));
> + DEBUG ((DEBUG_INFO, " Endpoint->DeviceType = 0x%x\n",
> Endpoint->DeviceType));
> + DEBUG ((DEBUG_INFO, " Endpoint->Direction = 0x%x\n",
> Endpoint->Direction));
> + DEBUG ((DEBUG_INFO, " Endpoint->VirtualBusId = 0x%x\n",
> Endpoint->VirtualBusId));
> +
> + DEBUG ((DEBUG_INFO, " Endpoint->EndpointConfig.CapabilitiesSize = %d
> B\n", Endpoint->EndpointConfig.CapabilitiesSize));
> + DEBUG ((DEBUG_VERBOSE, " Endpoint->EndpointConfig.Capabilities:"));
> + for (i = 0; i < (Endpoint->EndpointConfig.CapabilitiesSize ) ; i++) {
> + if (i % 16 == 0) DEBUG ((DEBUG_VERBOSE, "\n"));
> + DEBUG ((DEBUG_VERBOSE, "0x%02x, ",
> Endpoint->EndpointConfig.Capabilities[i]));
> + }
> +
> + FormatsConfigs = GetNhltEndpointFormatsConfig (Endpoint);
> +
> + DEBUG ((DEBUG_INFO, "\n"));
> + DEBUG ((DEBUG_INFO, " Endpoint->FormatsConfig.FormatsCount = %d\n",
> FormatsConfigs->FormatsCount));
> + for (i = 0; i < FormatsConfigs->FormatsCount; i++) {
> + Format = GetNhltEndpointFormat (Endpoint, i);
> + if (Format != NULL) {
> + NhltFormatDump (Format);
> + }
> + }
> +
> + DevicesInfo = GetNhltEndpointDevicesInfo (Endpoint);
> + if (DevicesInfo != NULL) {
> + DEBUG ((DEBUG_INFO, "\n"));
> + DEBUG ((DEBUG_INFO, " Endpoint->DevicesInfo.DeviceInfoCount = %d\n",
> DevicesInfo->DeviceInfoCount));
> + for (i = 0; i < DevicesInfo->DeviceInfoCount; i++) {
> + DeviceInfo = GetNhltEndpointDeviceInfo (Endpoint, i);
> + if (DeviceInfo != NULL) {
> + NhltDeviceInfoDump (DeviceInfo);
> + }
> + }
> + }
> + DEBUG ((DEBUG_VERBOSE, "\n"));
> +}
> +
> +/**
> + Prints OED (Offload Engine Driver) configuration.
> +
> + @param[in] *OedConfig OED to be printed
> +
> + @retval None
> +**/
> +VOID
> +NhltOedConfigDump (
> + IN CONST SPECIFIC_CONFIG *OedConfig
> + )
> +{
> + UINT8 i;
> +
> + DEBUG ((DEBUG_INFO, "-------------------------- OED CONFIGURATION
> -------------------------\n"));
> + DEBUG ((DEBUG_INFO, " OedConfig->CapabilitiesSize = %d B\n",
> OedConfig->CapabilitiesSize));
> + DEBUG ((DEBUG_VERBOSE, " OedConfig->Capabilities:"));
> + for (i = 0; i < (OedConfig->CapabilitiesSize) ; i++) {
> + if (i % 16 == 0) DEBUG ((DEBUG_VERBOSE, "\n"));
> + DEBUG ((DEBUG_VERBOSE, "0x%02x, ", OedConfig->Capabilities[i]));
> + }
> +
> + DEBUG ((DEBUG_VERBOSE, "\n"));
> +}
> +
> +/**
> + Prints NHLT (Non HDA-Link Table) to be exposed via ACPI (aka. OED (Offload
> Engine Driver) Configuration Table).
> +
> + @param[in] *NhltTable The NHLT table to print
> +
> + @retval None
> +**/
> +VOID
> +NhltAcpiTableDump (
> + IN NHLT_ACPI_TABLE *NhltTable
> + )
> +{
> + DEBUG_CODE_BEGIN ();
> + UINT8 i;
> +
> + DEBUG ((DEBUG_INFO, "\n"));
> + DEBUG ((DEBUG_INFO, "--- NHLT ACPI Table Dump [OED (Offload Engine
> Driver) Configuration] ---\n"));
> +
> + DEBUG ((DEBUG_INFO, "sizeof NHLT_ACPI_TABLE = %d B\n", sizeof
> (NHLT_ACPI_TABLE)));
> + DEBUG ((DEBUG_INFO, "sizeof EFI_ACPI_DESCRIPTION_HEADER = %d B\n",
> sizeof (EFI_ACPI_DESCRIPTION_HEADER)));
> + DEBUG ((DEBUG_INFO, "sizeof ENDPOINT_DESCRIPTOR = %d B\n", sizeof
> (ENDPOINT_DESCRIPTOR)));
> + DEBUG ((DEBUG_INFO, "sizeof SPECIFIC_CONFIG = %d B\n", sizeof
> (SPECIFIC_CONFIG)));
> + DEBUG ((DEBUG_INFO, "sizeof FORMATS_CONFIG = %d B\n", sizeof
> (FORMATS_CONFIG)));
> + DEBUG ((DEBUG_INFO, "sizeof FORMAT_CONFIG = %d B\n", sizeof
> (FORMAT_CONFIG)));
> + DEBUG ((DEBUG_INFO, "sizeof WAVEFORMATEXTENSIBLE = %d B\n", sizeof
> (WAVEFORMATEXTENSIBLE)));
> + DEBUG ((DEBUG_INFO, "sizeof DEVICES_INFO = %d B\n", sizeof
> (DEVICES_INFO)));
> + DEBUG ((DEBUG_INFO, "sizeof DEVICE_INFO = %d B\n", sizeof
> (DEVICE_INFO)));
> +
> + DEBUG ((DEBUG_INFO, " NHLT_ACPI_TABLE Header.Signature =
> 0x%08x\n", NhltTable->Header.Signature));
> + DEBUG ((DEBUG_INFO, " NHLT_ACPI_TABLE Header.Length =
> 0x%08x\n", NhltTable->Header.Length));
> + DEBUG ((DEBUG_INFO, " NHLT_ACPI_TABLE Header.Revision =
> 0x%02x\n", NhltTable->Header.Revision));
> + DEBUG ((DEBUG_INFO, " NHLT_ACPI_TABLE Header.Checksum =
> 0x%02x\n", NhltTable->Header.Checksum));
> + DEBUG ((DEBUG_INFO, " NHLT_ACPI_TABLE Header.OemId = %a\n",
> NhltTable->Header.OemId));
> + DEBUG ((DEBUG_INFO, " NHLT_ACPI_TABLE Header.OemTableId =
> 0x%lx\n", NhltTable->Header.OemTableId));
> + DEBUG ((DEBUG_INFO, " NHLT_ACPI_TABLE Header.OemRevision =
> 0x%08x\n", NhltTable->Header.OemRevision));
> + DEBUG ((DEBUG_INFO, " NHLT_ACPI_TABLE Header.CreatorId =
> 0x%08x\n", NhltTable->Header.CreatorId));
> + DEBUG ((DEBUG_INFO, " NHLT_ACPI_TABLE Header.CreatorRevision =
> 0x%08x\n", NhltTable->Header.CreatorRevision));
> + DEBUG ((DEBUG_INFO, "\n"));
> +
> + DEBUG ((DEBUG_INFO, " NHLT_ACPI_TABLE EndpointCount = %d\n",
> NhltTable->EndpointCount));
> + for (i = 0; i < NhltTable->EndpointCount; i++) {
> + NhltEndpointDump (GetNhltEndpoint (NhltTable, i));
> + }
> +
> + NhltOedConfigDump (GetNhltOedConfig (NhltTable));
> + DEBUG ((DEBUG_INFO,
> "----------------------------------------------------------------------\n"));
> +
> + DEBUG_CODE_END ();
> +}
> +
> +/**
> + Constructs FORMATS_CONFIGS structure based on given formats list.
> +
> + @param[in][out] *Endpoint Endpoint for which format structures are
> created
> + @param[in] FormatBitmask Bitmask of formats supported for given
> endpoint
> +
> + @retval Size of created FORMATS_CONFIGS structure
> +**/
> +UINT32
> +NhltFormatsConstructor (
> + IN OUT ENDPOINT_DESCRIPTOR *Endpoint,
> + IN CONST UINT32 FormatsBitmask
> + )
> +{
> + FORMATS_CONFIG *FormatsConfig;
> + FORMAT_CONFIG *Format;
> + UINT8 FormatIndex;
> + UINT32 FormatsConfigLength;
> +
> + DEBUG ((DEBUG_INFO, "NhltFormatsConstructor() Start, FormatsBitmask =
> 0x%08x\n", FormatsBitmask));
> +
> + FormatsConfig = NULL;
> + FormatIndex = 0;
> + FormatsConfigLength = 0;
> +
> + if (!FormatsBitmask) {
> + DEBUG ((DEBUG_WARN, "No supported format found!\n"));
> + return 0;
> + }
> +
> + FormatsConfig = GetNhltEndpointFormatsConfig (Endpoint);
> + FormatsConfig->FormatsCount = 0;
> +
> + if (FormatsBitmask & B_HDA_DMIC_2CH_48KHZ_16BIT_FORMAT) {
> + DEBUG ((DEBUG_INFO, "Format:
> B_HDA_DMIC_2CH_48KHZ_16BIT_FORMAT\n"));
> +
> + Format = GetNhltEndpointFormat (Endpoint, FormatIndex++);
> + if (Format != NULL) {
> + CopyMem (&(Format->Format), &Ch2_48kHz16bitFormat, sizeof
> (WAVEFORMATEXTENSIBLE));
> + Format->FormatConfiguration.CapabilitiesSize =
> DmicStereo16BitFormatConfigSize;
> + CopyMem (Format->FormatConfiguration.Capabilities,
> DmicStereo16BitFormatConfig, DmicStereo16BitFormatConfigSize);
> +
> + FormatsConfigLength += sizeof (*Format)
> + - sizeof (Format->FormatConfiguration.Capabilities)
> + + Format->FormatConfiguration.CapabilitiesSize;
> + FormatsConfig->FormatsCount++;
> + }
> + }
> +
> + if (FormatsBitmask & B_HDA_DMIC_2CH_48KHZ_32BIT_FORMAT) {
> + DEBUG ((DEBUG_INFO, "Format:
> B_HDA_DMIC_2CH_48KHZ_32BIT_FORMAT\n"));
> +
> + Format = GetNhltEndpointFormat (Endpoint, FormatIndex++);
> + if (Format != NULL) {
> + CopyMem (&(Format->Format), &Ch2_48kHz32bitFormat, sizeof
> (WAVEFORMATEXTENSIBLE));
> +
> + Format->FormatConfiguration.CapabilitiesSize =
> DmicStereo32BitFormatConfigSize;
> + CopyMem (Format->FormatConfiguration.Capabilities,
> DmicStereo32BitFormatConfig, DmicStereo32BitFormatConfigSize);
> +
> + FormatsConfigLength += sizeof (*Format)
> + - sizeof (Format->FormatConfiguration.Capabilities)
> + + Format->FormatConfiguration.CapabilitiesSize;
> + FormatsConfig->FormatsCount++;
> + }
> + }
> +
> + if (FormatsBitmask & B_HDA_DMIC_4CH_48KHZ_16BIT_FORMAT) {
> + DEBUG ((DEBUG_INFO, "Format:
> B_HDA_DMIC_4CH_48KHZ_16BIT_FORMAT\n"));
> +
> + Format = GetNhltEndpointFormat (Endpoint, FormatIndex++);
> + if (Format != NULL) {
> + CopyMem (&(Format->Format), &Ch4_48kHz16bitFormat, sizeof
> (WAVEFORMATEXTENSIBLE));
> + Format->FormatConfiguration.CapabilitiesSize =
> DmicQuad16BitFormatConfigSize;
> + CopyMem (Format->FormatConfiguration.Capabilities,
> DmicQuad16BitFormatConfig, DmicQuad16BitFormatConfigSize);
> +
> + FormatsConfigLength += sizeof (*Format)
> + - sizeof (Format->FormatConfiguration.Capabilities)
> + + Format->FormatConfiguration.CapabilitiesSize;
> + FormatsConfig->FormatsCount++;
> + }
> + }
> +
> + if (FormatsBitmask & B_HDA_DMIC_4CH_48KHZ_32BIT_FORMAT) {
> + DEBUG ((DEBUG_INFO, "Format:
> B_HDA_DMIC_4CH_48KHZ_32BIT_FORMAT\n"));
> +
> + Format = GetNhltEndpointFormat (Endpoint, FormatIndex++);
> + if (Format != NULL) {
> + CopyMem (&(Format->Format), &Ch4_48kHz32bitFormat, sizeof
> (WAVEFORMATEXTENSIBLE));
> +
> + Format->FormatConfiguration.CapabilitiesSize =
> DmicQuad32BitFormatConfigSize;
> + CopyMem (Format->FormatConfiguration.Capabilities,
> DmicQuad32BitFormatConfig, DmicQuad32BitFormatConfigSize);
> +
> + FormatsConfigLength += sizeof (*Format)
> + - sizeof (Format->FormatConfiguration.Capabilities)
> + + Format->FormatConfiguration.CapabilitiesSize;
> + FormatsConfig->FormatsCount++;
> + }
> + }
> +
> + if (FormatsBitmask & B_HDA_DMIC_1CH_48KHZ_16BIT_FORMAT) {
> + DEBUG ((DEBUG_INFO, "Format:
> B_HDA_DMIC_1CH_48KHZ_16BIT_FORMAT\n"));
> +
> + Format = GetNhltEndpointFormat (Endpoint, FormatIndex++);
> + if (Format != NULL) {
> + CopyMem (&(Format->Format), &Ch1_48kHz16bitFormat, sizeof
> (WAVEFORMATEXTENSIBLE));
> +
> + Format->FormatConfiguration.CapabilitiesSize =
> DmicMono16BitFormatConfigSize;
> + CopyMem (Format->FormatConfiguration.Capabilities,
> DmicMono16BitFormatConfig, DmicMono16BitFormatConfigSize);
> +
> + FormatsConfigLength += sizeof (*Format)
> + - sizeof (Format->FormatConfiguration.Capabilities)
> + + Format->FormatConfiguration.CapabilitiesSize;
> + FormatsConfig->FormatsCount++;
> + }
> + }
> +
> + if (FormatsBitmask & B_HDA_BT_NARROWBAND_FORMAT) {
> + DEBUG ((DEBUG_INFO, "Format:
> B_HDA_BT_NARROWBAND_FORMAT\n"));
> +
> + Format = GetNhltEndpointFormat (Endpoint, FormatIndex++);
> + if (Format != NULL) {
> + CopyMem (&(Format->Format), &NarrowbandFormat, sizeof
> (WAVEFORMATEXTENSIBLE));
> +
> + Format->FormatConfiguration.CapabilitiesSize = BtFormatConfigSize;
> + CopyMem (Format->FormatConfiguration.Capabilities, BtFormatConfig,
> BtFormatConfigSize);
> +
> + FormatsConfigLength += sizeof (*Format)
> + - sizeof (Format->FormatConfiguration.Capabilities)
> + + Format->FormatConfiguration.CapabilitiesSize;
> + FormatsConfig->FormatsCount++;
> + }
> + }
> +
> + if (FormatsBitmask & B_HDA_BT_WIDEBAND_FORMAT) {
> + DEBUG ((DEBUG_INFO, "Format: B_HDA_BT_WIDEBAND_FORMAT\n"));
> +
> + Format = GetNhltEndpointFormat (Endpoint, FormatIndex++);
> + if (Format != NULL) {
> + CopyMem (&(Format->Format), &WidebandFormat, sizeof
> (WAVEFORMATEXTENSIBLE));
> +
> + Format->FormatConfiguration.CapabilitiesSize = BtFormatConfigSize;
> + CopyMem (Format->FormatConfiguration.Capabilities, BtFormatConfig,
> BtFormatConfigSize);
> +
> + FormatsConfigLength += sizeof (*Format)
> + - sizeof (Format->FormatConfiguration.Capabilities)
> + + Format->FormatConfiguration.CapabilitiesSize;
> + FormatsConfig->FormatsCount++;
> + }
> + }
> +
> + if (FormatsBitmask & B_HDA_BT_A2DP_FORMAT) {
> + DEBUG ((DEBUG_INFO, "Format: B_HDA_BT_A2DP_FORMAT\n"));
> +
> + Format = GetNhltEndpointFormat (Endpoint, FormatIndex++);
> + if (Format != NULL) {
> + CopyMem (&(Format->Format), &A2dpFormat, sizeof
> (WAVEFORMATEXTENSIBLE));
> +
> + Format->FormatConfiguration.CapabilitiesSize = BtFormatConfigSize;
> + CopyMem (Format->FormatConfiguration.Capabilities, BtFormatConfig,
> BtFormatConfigSize);
> +
> + FormatsConfigLength += sizeof (*Format)
> + - sizeof (Format->FormatConfiguration.Capabilities)
> + + Format->FormatConfiguration.CapabilitiesSize;
> + FormatsConfig->FormatsCount++;
> + }
> + }
> +
> + if (FormatsBitmask &
> B_HDA_I2S_RTK274_RENDER_4CH_48KHZ_24BIT_FORMAT) {
> + DEBUG ((DEBUG_INFO, "Format:
> B_HDA_I2S_RTK274_RENDER_4CH_48KHZ_24BIT_FORMAT\n"));
> +
> + Format = GetNhltEndpointFormat (Endpoint, FormatIndex++);
> + if (Format != NULL) {
> + CopyMem (&(Format->Format), &Ch2_48kHz24bitFormat, sizeof
> (WAVEFORMATEXTENSIBLE));
> +
> + Format->FormatConfiguration.CapabilitiesSize =
> I2sRtk274Render4ch48kHz24bitFormatConfigSize;
> + CopyMem (Format->FormatConfiguration.Capabilities,
> I2sRtk274Render4ch48kHz24bitFormatConfig,
> I2sRtk274Render4ch48kHz24bitFormatConfigSize);
> +
> + FormatsConfigLength += sizeof (*Format)
> + - sizeof (Format->FormatConfiguration.Capabilities)
> + + Format->FormatConfiguration.CapabilitiesSize;
> + FormatsConfig->FormatsCount++;
> + }
> + }
> +
> + if (FormatsBitmask &
> B_HDA_I2S_RTK274_CAPTURE_4CH_48KHZ_24BIT_FORMAT) {
> + DEBUG ((DEBUG_INFO, "Format:
> B_HDA_I2S_RTK274_CAPTURE_4CH_48KHZ_24BIT_FORMAT\n"));
> +
> + Format = GetNhltEndpointFormat (Endpoint, FormatIndex++);
> + if (Format != NULL) {
> + CopyMem (&(Format->Format), &Ch2_48kHz24bitFormat, sizeof
> (WAVEFORMATEXTENSIBLE));
> +
> + Format->FormatConfiguration.CapabilitiesSize =
> I2sRtk274Capture4ch48kHz24bitFormatConfigSize;
> + CopyMem (Format->FormatConfiguration.Capabilities,
> I2sRtk274Capture4ch48kHz24bitFormatConfig,
> I2sRtk274Capture4ch48kHz24bitFormatConfigSize);
> +
> + FormatsConfigLength += sizeof (*Format)
> + - sizeof (Format->FormatConfiguration.Capabilities)
> + + Format->FormatConfiguration.CapabilitiesSize;
> + FormatsConfig->FormatsCount++;
> + }
> + }
> +
> + DEBUG ((DEBUG_INFO, "NhltFormatsConstructor() End, FormatsCount = %d,
> FormatsConfigLength = %d B\n", FormatsConfig->FormatsCount,
> FormatsConfigLength));
> + return FormatsConfigLength;
> +}
> +
> +/**
> + Constructs DEVICES_INFO structure based on given device info list.
> +
> + @param[in][out] *Endpoint Endpoint for which device info structures
> are created
> + @param[in] DevicesBitmask Bitmask of devices supported for given
> endpoint
> +
> + @retval Size of created DEVICES_INFO structure
> +**/
> +UINT32
> +NhltDevicesInfoConstructor (
> + IN OUT ENDPOINT_DESCRIPTOR *Endpoint,
> + IN CONST UINT32 DevicesBitmask
> + )
> +{
> + DEVICES_INFO *DevicesInfo;
> + DEVICE_INFO *DeviceInfo;
> + UINT8 DeviceIndex;
> + UINT32 DevicesInfoLength;
> +
> + DEBUG ((DEBUG_INFO, "NhltDevicesInfoConstructor() Start,
> DevicesBitmask = 0x%08x\n", DevicesBitmask));
> +
> + DevicesInfo = NULL;
> + DeviceIndex = 0;
> + DevicesInfoLength = 0;
> +
> + if (!DevicesBitmask) {
> + return 0;
> + }
> +
> + DevicesInfo = GetNhltEndpointDevicesInfo (Endpoint);
> + if (DevicesInfo == NULL) {
> + return 0;
> + }
> + DevicesInfo->DeviceInfoCount = 0;
> +
> + if (DevicesBitmask & B_HDA_I2S_RENDER_DEVICE_INFO) {
> + DEBUG ((DEBUG_INFO, "DeviceInfo:
> B_HDA_I2S_RENDER_DEVICE_INFO\n"));
> +
> + DeviceInfo = GetNhltEndpointDeviceInfo (Endpoint, DeviceIndex++);
> + if (DeviceInfo != NULL) {
> + CopyMem (DeviceInfo, &I2sRenderDeviceInfo, sizeof (DEVICE_INFO));
> + DevicesInfo->DeviceInfoCount++;
> + }
> + } else if (DevicesBitmask & B_HDA_I2S_CAPTURE_DEVICE_INFO) {
> + DEBUG ((DEBUG_INFO, "DeviceInfo:
> B_HDA_I2S_CAPTURE_DEVICE_INFO\n"));
> +
> + DeviceInfo = GetNhltEndpointDeviceInfo (Endpoint, DeviceIndex++);
> + if (DeviceInfo != NULL) {
> + CopyMem (DeviceInfo, &I2sCaptureDeviceInfo, sizeof (DEVICE_INFO));
> + DevicesInfo->DeviceInfoCount++;
> + }
> + }
> +
> + DevicesInfoLength = DevicesInfo->DeviceInfoCount * sizeof (DEVICE_INFO);
> +
> + DEBUG ((DEBUG_INFO, "NhltDevicesInfoConstructor() End, DevicesCount =
> %d, DevicesInfoLength = %d B\n", DevicesInfo->DeviceInfoCount,
> DevicesInfoLength));
> + return DevicesInfoLength;
> +}
> +
> +/**
> + Constructs NHLT_ENDPOINT structure based on given endpoint type.
> +
> + @param[in][out] *NhltTable NHLT table for which endpoint is
> created
> + @param[in] EndpointType Type of endpoint to be created
> + @param[in] EndpointFormatsBitmask Bitmask of formats supported
> by endpoint
> + @param[in] EndpointDevicesBitmask Bitmask of device info for
> endpoint
> + @param[in] EndpointIndex Endpoint index in NHLT table
> +
> + @retval Size of created NHLT_ENDPOINT structure
> +**/
> +UINT32
> +NhltEndpointConstructor (
> + IN OUT NHLT_ACPI_TABLE *NhltTable,
> + IN NHLT_ENDPOINT EndpointType,
> + IN UINT32 EndpointFormatsBitmask,
> + IN UINT32 EndpointDevicesBitmask,
> + IN UINT8 EndpointIndex
> + )
> +{
> +
> + ENDPOINT_DESCRIPTOR *Endpoint;
> + SPECIFIC_CONFIG *EndpointConfig;
> + CONST UINT8 *EndpointConfigBuffer;
> + UINT32 EndpointConfigBufferSize;
> + UINT32 EndpointDescriptorLength;
> +
> + DEBUG ((DEBUG_INFO, "NhltEndpointConstructor() Start, EndpointIndex =
> %d\n", EndpointIndex));
> +
> + EndpointDescriptorLength = 0;
> + Endpoint = GetNhltEndpoint (NhltTable, EndpointIndex);
> + if (Endpoint == NULL) {
> + return 0;
> + }
> + EndpointDescriptorLength = sizeof (ENDPOINT_DESCRIPTOR)
> + - sizeof (SPECIFIC_CONFIG)
> + - sizeof (FORMAT_CONFIG)
> + - sizeof (DEVICE_INFO);
> +
> + switch (EndpointType) {
> + case HdaDmicX1:
> + DEBUG ((DEBUG_INFO, "Endpoint: HdaDmicX1\n"));
> + CopyMem (Endpoint, &HdaEndpointDmicX1, sizeof
> (ENDPOINT_DESCRIPTOR));
> + EndpointConfigBuffer = DmicX1Config;
> + EndpointConfigBufferSize = DmicX1ConfigSize;
> + break;
> + case HdaDmicX2:
> + DEBUG ((DEBUG_INFO, "Endpoint: HdaDmicX2\n"));
> + CopyMem (Endpoint, &HdaEndpointDmicX2, sizeof
> (ENDPOINT_DESCRIPTOR));
> + EndpointConfigBuffer = DmicX2Config;
> + EndpointConfigBufferSize = DmicX2ConfigSize;
> + break;
> + case HdaDmicX4:
> + DEBUG ((DEBUG_INFO, "Endpoint: HdaDmicX4\n"));
> + CopyMem (Endpoint, &HdaEndpointDmicX4, sizeof
> (ENDPOINT_DESCRIPTOR));
> + EndpointConfigBuffer = DmicX4Config;
> + EndpointConfigBufferSize = DmicX4ConfigSize;
> + break;
> + case HdaBtRender:
> + DEBUG ((DEBUG_INFO, "Endpoint: HdaBtRender\n"));
> + CopyMem (Endpoint, &HdaEndpointBtRender, sizeof
> (ENDPOINT_DESCRIPTOR));
> + if (IsPchH ()) {
> + Endpoint->VirtualBusId = 0;
> + }
> +
> + EndpointConfigBuffer = BtConfig;
> + EndpointConfigBufferSize = BtConfigSize;
> + break;
> + case HdaBtCapture:
> + DEBUG ((DEBUG_INFO, "Endpoint: HdaBtCapture\n"));
> + CopyMem (Endpoint, &HdaEndpointBtCapture, sizeof
> (ENDPOINT_DESCRIPTOR));
> + if (IsPchH ()) {
> + Endpoint->VirtualBusId = 0;
> + }
> +
> + EndpointConfigBuffer = BtConfig;
> + EndpointConfigBufferSize = BtConfigSize;
> + break;
> + case HdaI2sRender1:
> + DEBUG ((DEBUG_INFO, "Endpoint: HdaI2sRender1\n"));
> + CopyMem (Endpoint, &HdaEndpointI2sRender, sizeof
> (ENDPOINT_DESCRIPTOR));
> + EndpointConfigBuffer = I2sRender1Config;
> + EndpointConfigBufferSize = I2sRender1ConfigSize;
> + break;
> + case HdaI2sRender2:
> + DEBUG ((DEBUG_INFO, "Endpoint: HdaI2sRender2\n"));
> + CopyMem (Endpoint, &HdaEndpointI2sRender, sizeof
> (ENDPOINT_DESCRIPTOR));
> + EndpointConfigBuffer = I2sRender2Config;
> + EndpointConfigBufferSize = I2sRender2ConfigSize;
> + break;
> + case HdaI2sCapture:
> + DEBUG ((DEBUG_INFO, "Endpoint: HdaI2sCapture\n"));
> + CopyMem (Endpoint, &HdaEndpointI2sCapture, sizeof
> (ENDPOINT_DESCRIPTOR));
> + EndpointConfigBuffer = I2sCaptureConfig;
> + EndpointConfigBufferSize = I2sCaptureConfigSize;
> + break;
> + default:
> + DEBUG ((DEBUG_WARN, "Unknown endpoint!\n"));
> + return 0;
> + }
> +
> + EndpointConfig = GetNhltEndpointDeviceCapabilities (Endpoint);
> + EndpointConfig->CapabilitiesSize = EndpointConfigBufferSize;
> + CopyMem (EndpointConfig->Capabilities, EndpointConfigBuffer,
> EndpointConfig->CapabilitiesSize);
> + EndpointDescriptorLength += sizeof (*EndpointConfig)
> + - sizeof (EndpointConfig->Capabilities)
> + + EndpointConfig->CapabilitiesSize;
> +
> + EndpointDescriptorLength += NhltFormatsConstructor (Endpoint,
> EndpointFormatsBitmask);
> + EndpointDescriptorLength += NhltDevicesInfoConstructor (Endpoint,
> EndpointDevicesBitmask);
> +
> + Endpoint->EndpointDescriptorLength = EndpointDescriptorLength;
> +
> + DEBUG ((DEBUG_INFO, "NhltEndpointConstructor() End,
> EndpointDescriptorLength = %d B\n", Endpoint->EndpointDescriptorLength));
> + return Endpoint->EndpointDescriptorLength;
> +}
> +
> +/**
> + Constructs SPECIFIC_CONFIG structure for OED configuration.
> +
> + @param[in][out] *NhltTable NHLT table for which OED config is created
> +
> + @retval Size of created SPECIFIC_CONFIG structure
> +**/
> +UINT32
> +NhltOedConfigConstructor (
> + IN OUT NHLT_ACPI_TABLE *NhltTable
> + )
> +{
> + SPECIFIC_CONFIG *OedConfig;
> + UINT32 OedConfigLength;
> +
> + OedConfigLength = 0;
> + OedConfig = GetNhltOedConfig (NhltTable);
> +
> + OedConfig->CapabilitiesSize = NhltConfigurationSize;
> + CopyMem (OedConfig->Capabilities, (UINT8*) NhltConfiguration,
> NhltConfigurationSize);
> +
> + OedConfigLength = sizeof (*OedConfig)
> + - sizeof (OedConfig->Capabilities)
> + + OedConfig->CapabilitiesSize;
> +
> + return OedConfigLength;
> +}
> +
> +/**
> + Constructs NHLT_ACPI_TABLE structure based on given Endpoints list.
> +
> + @param[in] *EndpointTable List of endpoints for NHLT
> + @param[in][out] **NhltTable NHLT table to be created
> + @param[in][out] *NhltTableSize Size of created NHLT table
> +
> + @retval EFI_SUCCESS NHLT created successfully
> + @retval EFI_BAD_BUFFER_SIZE Not enough resources to allocate NHLT
> +**/
> +EFI_STATUS
> +NhltConstructor (
> + IN PCH_HDA_NHLT_ENDPOINTS *EndpointTable,
> + IN OUT NHLT_ACPI_TABLE **NhltTable,
> + IN OUT UINT32 *NhltTableSize
> + )
> +{
> + EFI_STATUS Status;
> + UINT8 Index;
> + UINT32 TableSize;
> + UINT32 EndpointDescriptorsLength;
> + UINT32 OedConfigLength;
> + NHLT_ACPI_TABLE *Table;
> +
> +
> + Status = EFI_SUCCESS;
> + TableSize = PCH_HDA_NHLT_TABLE_SIZE;
> + EndpointDescriptorsLength = 0;
> + OedConfigLength = 0;
> +
> + Table = AllocateZeroPool (TableSize);
> +
> + if (Table == NULL) {
> + return EFI_BAD_BUFFER_SIZE;
> + }
> +
> + Table->EndpointCount = 0;
> +
> + for (Index = 0; Index < HdaEndpointMax; Index++) {
> + if (EndpointTable[Index].Enable == TRUE) {
> + EndpointDescriptorsLength += NhltEndpointConstructor (Table,
> + EndpointTable[Index].EndpointType,
> + EndpointTable[Index].EndpointFormatsBitmask,
> + EndpointTable[Index].EndpointDevicesBitmask,
> + Table->EndpointCount++);
> + }
> + }
> + DEBUG ((DEBUG_INFO, "NhltConstructor: EndpointCount = %d, All
> EndpointDescriptorsLength = %d B\n", Table->EndpointCount,
> EndpointDescriptorsLength));
> +
> + OedConfigLength = NhltOedConfigConstructor (Table);
> + DEBUG ((DEBUG_INFO, "NhltConstructor: OedConfigLength = %d B\n",
> OedConfigLength));
> +
> + TableSize = EndpointDescriptorsLength + OedConfigLength;
> +
> + *NhltTableSize = TableSize;
> + *NhltTable = Table;
> +
> + return Status;
> +}
> +
> +/**
> + Constructs EFI_ACPI_DESCRIPTION_HEADER structure for NHLT table.
> +
> + @param[in][out] *NhltTable NHLT table for which header will be
> created
> + @param[in] NhltTableSize Size of NHLT table
> +
> + @retval None
> +**/
> +VOID
> +NhltAcpiHeaderConstructor (
> + IN OUT NHLT_ACPI_TABLE *NhltTable,
> + IN UINT32 NhltTableSize
> + )
> +{
> + DEBUG ((DEBUG_INFO, "NhltAcpiHeaderConstructor() Start\n"));
> +
> + // Header
> + NhltTable->Header.Signature = NHLT_ACPI_TABLE_SIGNATURE;
> + NhltTable->Header.Length = (UINT32) (NhltTableSize + sizeof
> (NHLT_ACPI_TABLE) - sizeof (ENDPOINT_DESCRIPTOR) - sizeof
> (SPECIFIC_CONFIG));
> + NhltTable->Header.Revision = 0x0;
> + NhltTable->Header.Checksum = 0x0;
> +
> + CopyMem (NhltTable->Header.OemId, PcdGetPtr (PcdAcpiDefaultOemId),
> sizeof (NhltTable->Header.OemId));
> + NhltTable->Header.OemTableId = PcdGet64
> (PcdAcpiDefaultOemTableId);
> + NhltTable->Header.OemRevision = PcdGet32
> (PcdAcpiDefaultOemRevision);
> + NhltTable->Header.CreatorId = PcdGet32 (PcdAcpiDefaultCreatorId);
> + NhltTable->Header.CreatorRevision = PcdGet32
> (PcdAcpiDefaultCreatorRevision);
> +
> + DEBUG ((DEBUG_INFO, "NhltAcpiHeaderConstructor(),
> NhltAcpiTable->Header.Length = %d B\n", NhltTable->Header.Length));
> +}
> +
> diff --git
> a/Silicon/Intel/CoffeelakeSiliconPkg/Pch/Library/Private/DxePchHdaLib/PchH
> daNhltConfig.c
> b/Silicon/Intel/CoffeelakeSiliconPkg/Pch/Library/Private/DxePchHdaLib/PchH
> daNhltConfig.c
> new file mode 100644
> index 0000000000..301b1f8d10
> --- /dev/null
> +++
> b/Silicon/Intel/CoffeelakeSiliconPkg/Pch/Library/Private/DxePchHdaLib/PchH
> daNhltConfig.c
> @@ -0,0 +1,439 @@
> +/** @file
> + This file contains HD Audio NHLT Configuration BLOBs
> +
> + Copyright (c) 2019 Intel Corporation. All rights reserved. <BR>
> +
> + SPDX-License-Identifier: BSD-2-Clause-Patent
> +**/
> +
> +//
> +// CFL NHLT Configuration BLOBs
> +//
> +
> +//
> +// DMIC Configuration BLOBs
> +//
> +// DMIC Config 2 channels, 16 bits, 2.4Mhz BCLK
> +GLOBAL_REMOVE_IF_UNREFERENCED
> +CONST UINT32 DmicStereo16BitFormatConfig[] =
> +{
> + 0x00000001,0xffff3210,0xffffff10,0xffffff32,0xffffffff,
> + 3,
> + 3,
> + 0x00300003,
> + 0x00300003,
> + 0x3,
> + 0x1, 0x09001303, 0x0, 0x0303, 0, 0, 0, 0,
> + 0x11, 0x402a0, 0, 0, 0, 0, 0, 0,
> + 0x11, 0xe03ae, 0, 0, 0, 0, 0, 0,
> + 0x00008, 0xfffae, 0xfff12, 0xffdfb, 0xffc61, 0xffa5a, 0xff82b, 0xff641, 0xff520,
> 0xff544, 0xff6f4, 0xffa25, 0xffe65,
> + 0x002e0, 0x0068f, 0x00876, 0x007f1, 0x004f5, 0x0002a, 0xffad4, 0xff68a,
> 0xff4bf, 0xff64f, 0xffb20,
> + 0x0020f, 0x00929, 0x00e2d, 0x00f40, 0x00b92, 0x003bf, 0xff9cd, 0xff0b0,
> 0xfeb6e, 0xfec2a, 0xff351,
> + 0xfff4f, 0x00ccd, 0x0179d, 0x01bfc, 0x017d7, 0x00ba3, 0xffa7e, 0xfe96f,
> 0xfddf5, 0xfdc4d, 0xfe5ee,
> + 0xff8ce, 0x00fb7, 0x023a8, 0x02df5, 0x02a74, 0x01910, 0xffe2c, 0xfe19c,
> 0xfcc64, 0xfc5ee, 0xfd17e,
> + 0xfecd4, 0x01071, 0x03198, 0x0457e, 0x044c9, 0x02e24, 0x00728, 0xfdb0e,
> 0xfb781, 0xfa86b, 0xfb408,
> + 0xfd884, 0x00c02, 0x03f37, 0x061e8, 0x06807, 0x04dc5, 0x01954, 0xfd98c,
> 0xfa1c8, 0xf840f, 0xf8b52,
> + 0xfb78c, 0xffd23, 0x047db, 0x080b1, 0x094e3, 0x07c08, 0x03b41, 0xfe45e,
> 0xf9101, 0xf5b1e, 0xf54f4,
> + 0xf8307, 0xfda0b, 0x0418f, 0x09ad0, 0x0c9d6, 0x0be16, 0x0780b, 0x009dd,
> 0xf92ba, 0xf3606, 0xf10ed,
> + 0xf315e, 0xf9135, 0x0172c, 0x09d83, 0x0fc9e, 0x11695, 0x0e05b, 0x065bf,
> 0xfc6ed, 0xf2ff4, 0xecc96,
> + 0xebbc9, 0xf0668, 0xf9be7, 0x05601, 0x1029e, 0x17140, 0x18065, 0x12728,
> 0x07874, 0xf9edb, 0xed202,
> + 0xe486c, 0xe294d, 0xe820f, 0xf424a, 0x03f29, 0x13d68, 0x1ff61, 0x253b2,
> 0x220fa, 0x16be1, 0x05638,
> + 0xf1798, 0xdf165, 0xd211a, 0xcd3f9, 0xd1eb5, 0xdfa89, 0xf4802, 0x0d656,
> 0x26d63, 0x3d808, 0x4ecc3,
> + 0x59315, 0x5c520, 0x58db6, 0x503d6, 0x444dd, 0x36ecb, 0x29b9a, 0x1de5d,
> 0x14234, 0x0cae0, 0x07669,
> + 0x03f40, 0x01e4e, 0x00c95, 0x0043b, 0x000f9,0xff961, 0x00823, 0x0084f,
> 0x00a39, 0x00d21, 0x010a8, 0x0149a, 0x018cc, 0x01d15, 0x0214d, 0x02543,
> 0x028c8, 0x02baa,
> + 0x02db8, 0x02ec6, 0x02eac, 0x02d4c, 0x02a90, 0x02672, 0x020f9, 0x01a3b,
> 0x0125c, 0x00994, 0x00025,
> + 0xff662, 0xfeca3, 0xfe34c, 0xfdabe, 0xfd364, 0xfcd94, 0xfc9a4, 0xfc7dd,
> 0xfc86b, 0xfcb6e, 0xfd0e6,
> + 0xfd8bb, 0xfe2b9, 0xfee8f, 0xffbd5, 0x00a0c, 0x018a3, 0x026fc, 0x03474,
> 0x04065, 0x04a36, 0x0515a,
> + 0x0555a, 0x055df, 0x052b2, 0x04bc3, 0x0412c, 0x03332, 0x02242, 0x00ef3,
> 0xff9fb, 0xfe430, 0xfce78,
> + 0xfb9c6, 0xfa70f, 0xf973a, 0xf8b1e, 0xf836e, 0xf80b7, 0xf8355, 0xf8b6e,
> 0xf98ea, 0xfab78, 0xfc288,
> + 0xfdd52, 0xffadf, 0x01a0a, 0x03992, 0x05823, 0x07465, 0x08d0c, 0x0a0e3,
> 0x0aedc, 0x0b61f, 0x0b614,
> + 0x0ae6b, 0x09f23, 0x0888d, 0x06b4c, 0x04850, 0x020d3, 0xff647, 0xfca4f,
> 0xf9eae, 0xf7533, 0xf4fa8,
> + 0xf2fc0, 0xf1702, 0xf06ba, 0xeffe6, 0xf032d, 0xf10d3, 0xf28b4, 0xf4a42,
> 0xf7486, 0xfa62a, 0xfdd81,
> + 0x01896, 0x0553d, 0x09128, 0x0c9fe, 0x0fd6f, 0x1294e, 0x14ba5, 0x162cb,
> 0x16d75, 0x16ac4, 0x15a52,
> + 0x13c38, 0x1110d, 0x0d9e9, 0x09856, 0x04e4a, 0xffe17, 0xfaa51, 0xf55c4,
> 0xf0350, 0xeb5d6, 0xe7020,
> + 0xe34c8, 0xe0620, 0xde61c, 0xdd64b, 0xdd7bd, 0xdeb03, 0xe102a, 0xe46b5,
> 0xe8dab, 0xee397, 0xf4699,
> + 0xfb479, 0x02ab3, 0x0a691, 0x1253c, 0x1a3d9, 0x21f98, 0x295cc, 0x30400,
> 0x36803, 0x3bff8, 0x40a63,
> + 0x44628, 0x4729b, 0x48f76, 0x49cd2, 0x49b35, 0x48b71, 0x46ea5, 0x44632,
> 0x413a6, 0x3d8b3, 0x3971b,
> + 0x350a6, 0x30716, 0x2bc15, 0x27131, 0x227cb, 0x1e11d, 0x19e2a, 0x15fc1,
> 0x1267c, 0x0f2c0, 0x0c4c2,
> + 0x09c8b, 0x079fb, 0x05cd2, 0x044b2, 0x0312d, 0x021c5, 0x015f4, 0x0135e,
> + 0x1, 0x09001303, 0x0, 0x0303, 0, 0, 0, 0,
> + 0x11, 0x402a0, 0, 0, 0, 0, 0, 0,
> + 0x11, 0xe03ae, 0, 0, 0, 0, 0, 0,
> + 0x00008, 0xfffae, 0xfff12, 0xffdfb, 0xffc61, 0xffa5a, 0xff82b, 0xff641, 0xff520,
> 0xff544, 0xff6f4, 0xffa25, 0xffe65,
> + 0x002e0, 0x0068f, 0x00876, 0x007f1, 0x004f5, 0x0002a, 0xffad4, 0xff68a,
> 0xff4bf, 0xff64f, 0xffb20,
> + 0x0020f, 0x00929, 0x00e2d, 0x00f40, 0x00b92, 0x003bf, 0xff9cd, 0xff0b0,
> 0xfeb6e, 0xfec2a, 0xff351,
> + 0xfff4f, 0x00ccd, 0x0179d, 0x01bfc, 0x017d7, 0x00ba3, 0xffa7e, 0xfe96f,
> 0xfddf5, 0xfdc4d, 0xfe5ee,
> + 0xff8ce, 0x00fb7, 0x023a8, 0x02df5, 0x02a74, 0x01910, 0xffe2c, 0xfe19c,
> 0xfcc64, 0xfc5ee, 0xfd17e,
> + 0xfecd4, 0x01071, 0x03198, 0x0457e, 0x044c9, 0x02e24, 0x00728, 0xfdb0e,
> 0xfb781, 0xfa86b, 0xfb408,
> + 0xfd884, 0x00c02, 0x03f37, 0x061e8, 0x06807, 0x04dc5, 0x01954, 0xfd98c,
> 0xfa1c8, 0xf840f, 0xf8b52,
> + 0xfb78c, 0xffd23, 0x047db, 0x080b1, 0x094e3, 0x07c08, 0x03b41, 0xfe45e,
> 0xf9101, 0xf5b1e, 0xf54f4,
> + 0xf8307, 0xfda0b, 0x0418f, 0x09ad0, 0x0c9d6, 0x0be16, 0x0780b, 0x009dd,
> 0xf92ba, 0xf3606, 0xf10ed,
> + 0xf315e, 0xf9135, 0x0172c, 0x09d83, 0x0fc9e, 0x11695, 0x0e05b, 0x065bf,
> 0xfc6ed, 0xf2ff4, 0xecc96,
> + 0xebbc9, 0xf0668, 0xf9be7, 0x05601, 0x1029e, 0x17140, 0x18065, 0x12728,
> 0x07874, 0xf9edb, 0xed202,
> + 0xe486c, 0xe294d, 0xe820f, 0xf424a, 0x03f29, 0x13d68, 0x1ff61, 0x253b2,
> 0x220fa, 0x16be1, 0x05638,
> + 0xf1798, 0xdf165, 0xd211a, 0xcd3f9, 0xd1eb5, 0xdfa89, 0xf4802, 0x0d656,
> 0x26d63, 0x3d808, 0x4ecc3,
> + 0x59315, 0x5c520, 0x58db6, 0x503d6, 0x444dd, 0x36ecb, 0x29b9a, 0x1de5d,
> 0x14234, 0x0cae0, 0x07669,
> + 0x03f40, 0x01e4e, 0x00c95, 0x0043b, 0x000f9,0xff961, 0x00823, 0x0084f,
> 0x00a39, 0x00d21, 0x010a8, 0x0149a, 0x018cc, 0x01d15, 0x0214d, 0x02543,
> 0x028c8, 0x02baa,
> + 0x02db8, 0x02ec6, 0x02eac, 0x02d4c, 0x02a90, 0x02672, 0x020f9, 0x01a3b,
> 0x0125c, 0x00994, 0x00025,
> + 0xff662, 0xfeca3, 0xfe34c, 0xfdabe, 0xfd364, 0xfcd94, 0xfc9a4, 0xfc7dd,
> 0xfc86b, 0xfcb6e, 0xfd0e6,
> + 0xfd8bb, 0xfe2b9, 0xfee8f, 0xffbd5, 0x00a0c, 0x018a3, 0x026fc, 0x03474,
> 0x04065, 0x04a36, 0x0515a,
> + 0x0555a, 0x055df, 0x052b2, 0x04bc3, 0x0412c, 0x03332, 0x02242, 0x00ef3,
> 0xff9fb, 0xfe430, 0xfce78,
> + 0xfb9c6, 0xfa70f, 0xf973a, 0xf8b1e, 0xf836e, 0xf80b7, 0xf8355, 0xf8b6e,
> 0xf98ea, 0xfab78, 0xfc288,
> + 0xfdd52, 0xffadf, 0x01a0a, 0x03992, 0x05823, 0x07465, 0x08d0c, 0x0a0e3,
> 0x0aedc, 0x0b61f, 0x0b614,
> + 0x0ae6b, 0x09f23, 0x0888d, 0x06b4c, 0x04850, 0x020d3, 0xff647, 0xfca4f,
> 0xf9eae, 0xf7533, 0xf4fa8,
> + 0xf2fc0, 0xf1702, 0xf06ba, 0xeffe6, 0xf032d, 0xf10d3, 0xf28b4, 0xf4a42,
> 0xf7486, 0xfa62a, 0xfdd81,
> + 0x01896, 0x0553d, 0x09128, 0x0c9fe, 0x0fd6f, 0x1294e, 0x14ba5, 0x162cb,
> 0x16d75, 0x16ac4, 0x15a52,
> + 0x13c38, 0x1110d, 0x0d9e9, 0x09856, 0x04e4a, 0xffe17, 0xfaa51, 0xf55c4,
> 0xf0350, 0xeb5d6, 0xe7020,
> + 0xe34c8, 0xe0620, 0xde61c, 0xdd64b, 0xdd7bd, 0xdeb03, 0xe102a, 0xe46b5,
> 0xe8dab, 0xee397, 0xf4699,
> + 0xfb479, 0x02ab3, 0x0a691, 0x1253c, 0x1a3d9, 0x21f98, 0x295cc, 0x30400,
> 0x36803, 0x3bff8, 0x40a63,
> + 0x44628, 0x4729b, 0x48f76, 0x49cd2, 0x49b35, 0x48b71, 0x46ea5, 0x44632,
> 0x413a6, 0x3d8b3, 0x3971b,
> + 0x350a6, 0x30716, 0x2bc15, 0x27131, 0x227cb, 0x1e11d, 0x19e2a, 0x15fc1,
> 0x1267c, 0x0f2c0, 0x0c4c2,
> + 0x09c8b, 0x079fb, 0x05cd2, 0x044b2, 0x0312d, 0x021c5, 0x015f4, 0x0135e
> +};
> +GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT32
> DmicStereo16BitFormatConfigSize = sizeof (DmicStereo16BitFormatConfig);
> +
> +// DMIC Config 2 channels, 32 bits, 2.4Mhz BCLK
> +GLOBAL_REMOVE_IF_UNREFERENCED
> +CONST UINT32 DmicStereo32BitFormatConfig[] =
> +{
> + 0x00000001,0xffff3210,0xffffff10,0xffffff32,0xffffffff,
> + 3,
> + 3,
> + 0x00380003,
> + 0x00380003,
> + 0x3,
> + 0x1, 0x09001303, 0x0, 0x0303, 0, 0, 0, 0,
> + 0x11, 0x402a0, 0, 0, 0, 0, 0, 0,
> + 0x11, 0xe03ae, 0, 0, 0, 0, 0, 0,
> + 0x00008, 0xfffae, 0xfff12, 0xffdfb, 0xffc61, 0xffa5a, 0xff82b, 0xff641, 0xff520,
> 0xff544, 0xff6f4, 0xffa25, 0xffe65,
> + 0x002e0, 0x0068f, 0x00876, 0x007f1, 0x004f5, 0x0002a, 0xffad4, 0xff68a,
> 0xff4bf, 0xff64f, 0xffb20,
> + 0x0020f, 0x00929, 0x00e2d, 0x00f40, 0x00b92, 0x003bf, 0xff9cd, 0xff0b0,
> 0xfeb6e, 0xfec2a, 0xff351,
> + 0xfff4f, 0x00ccd, 0x0179d, 0x01bfc, 0x017d7, 0x00ba3, 0xffa7e, 0xfe96f,
> 0xfddf5, 0xfdc4d, 0xfe5ee,
> + 0xff8ce, 0x00fb7, 0x023a8, 0x02df5, 0x02a74, 0x01910, 0xffe2c, 0xfe19c,
> 0xfcc64, 0xfc5ee, 0xfd17e,
> + 0xfecd4, 0x01071, 0x03198, 0x0457e, 0x044c9, 0x02e24, 0x00728, 0xfdb0e,
> 0xfb781, 0xfa86b, 0xfb408,
> + 0xfd884, 0x00c02, 0x03f37, 0x061e8, 0x06807, 0x04dc5, 0x01954, 0xfd98c,
> 0xfa1c8, 0xf840f, 0xf8b52,
> + 0xfb78c, 0xffd23, 0x047db, 0x080b1, 0x094e3, 0x07c08, 0x03b41, 0xfe45e,
> 0xf9101, 0xf5b1e, 0xf54f4,
> + 0xf8307, 0xfda0b, 0x0418f, 0x09ad0, 0x0c9d6, 0x0be16, 0x0780b, 0x009dd,
> 0xf92ba, 0xf3606, 0xf10ed,
> + 0xf315e, 0xf9135, 0x0172c, 0x09d83, 0x0fc9e, 0x11695, 0x0e05b, 0x065bf,
> 0xfc6ed, 0xf2ff4, 0xecc96,
> + 0xebbc9, 0xf0668, 0xf9be7, 0x05601, 0x1029e, 0x17140, 0x18065, 0x12728,
> 0x07874, 0xf9edb, 0xed202,
> + 0xe486c, 0xe294d, 0xe820f, 0xf424a, 0x03f29, 0x13d68, 0x1ff61, 0x253b2,
> 0x220fa, 0x16be1, 0x05638,
> + 0xf1798, 0xdf165, 0xd211a, 0xcd3f9, 0xd1eb5, 0xdfa89, 0xf4802, 0x0d656,
> 0x26d63, 0x3d808, 0x4ecc3,
> + 0x59315, 0x5c520, 0x58db6, 0x503d6, 0x444dd, 0x36ecb, 0x29b9a, 0x1de5d,
> 0x14234, 0x0cae0, 0x07669,
> + 0x03f40, 0x01e4e, 0x00c95, 0x0043b, 0x000f9,0xff961, 0x00823, 0x0084f,
> 0x00a39, 0x00d21, 0x010a8, 0x0149a, 0x018cc, 0x01d15, 0x0214d, 0x02543,
> 0x028c8, 0x02baa,
> + 0x02db8, 0x02ec6, 0x02eac, 0x02d4c, 0x02a90, 0x02672, 0x020f9, 0x01a3b,
> 0x0125c, 0x00994, 0x00025,
> + 0xff662, 0xfeca3, 0xfe34c, 0xfdabe, 0xfd364, 0xfcd94, 0xfc9a4, 0xfc7dd,
> 0xfc86b, 0xfcb6e, 0xfd0e6,
> + 0xfd8bb, 0xfe2b9, 0xfee8f, 0xffbd5, 0x00a0c, 0x018a3, 0x026fc, 0x03474,
> 0x04065, 0x04a36, 0x0515a,
> + 0x0555a, 0x055df, 0x052b2, 0x04bc3, 0x0412c, 0x03332, 0x02242, 0x00ef3,
> 0xff9fb, 0xfe430, 0xfce78,
> + 0xfb9c6, 0xfa70f, 0xf973a, 0xf8b1e, 0xf836e, 0xf80b7, 0xf8355, 0xf8b6e,
> 0xf98ea, 0xfab78, 0xfc288,
> + 0xfdd52, 0xffadf, 0x01a0a, 0x03992, 0x05823, 0x07465, 0x08d0c, 0x0a0e3,
> 0x0aedc, 0x0b61f, 0x0b614,
> + 0x0ae6b, 0x09f23, 0x0888d, 0x06b4c, 0x04850, 0x020d3, 0xff647, 0xfca4f,
> 0xf9eae, 0xf7533, 0xf4fa8,
> + 0xf2fc0, 0xf1702, 0xf06ba, 0xeffe6, 0xf032d, 0xf10d3, 0xf28b4, 0xf4a42,
> 0xf7486, 0xfa62a, 0xfdd81,
> + 0x01896, 0x0553d, 0x09128, 0x0c9fe, 0x0fd6f, 0x1294e, 0x14ba5, 0x162cb,
> 0x16d75, 0x16ac4, 0x15a52,
> + 0x13c38, 0x1110d, 0x0d9e9, 0x09856, 0x04e4a, 0xffe17, 0xfaa51, 0xf55c4,
> 0xf0350, 0xeb5d6, 0xe7020,
> + 0xe34c8, 0xe0620, 0xde61c, 0xdd64b, 0xdd7bd, 0xdeb03, 0xe102a, 0xe46b5,
> 0xe8dab, 0xee397, 0xf4699,
> + 0xfb479, 0x02ab3, 0x0a691, 0x1253c, 0x1a3d9, 0x21f98, 0x295cc, 0x30400,
> 0x36803, 0x3bff8, 0x40a63,
> + 0x44628, 0x4729b, 0x48f76, 0x49cd2, 0x49b35, 0x48b71, 0x46ea5, 0x44632,
> 0x413a6, 0x3d8b3, 0x3971b,
> + 0x350a6, 0x30716, 0x2bc15, 0x27131, 0x227cb, 0x1e11d, 0x19e2a, 0x15fc1,
> 0x1267c, 0x0f2c0, 0x0c4c2,
> + 0x09c8b, 0x079fb, 0x05cd2, 0x044b2, 0x0312d, 0x021c5, 0x015f4, 0x0135e,
> + 0x1, 0x09001303, 0x0, 0x0303, 0, 0, 0, 0,
> + 0x11, 0x402a0, 0, 0, 0, 0, 0, 0,
> + 0x11, 0xe03ae, 0, 0, 0, 0, 0, 0,
> + 0x00008, 0xfffae, 0xfff12, 0xffdfb, 0xffc61, 0xffa5a, 0xff82b, 0xff641, 0xff520,
> 0xff544, 0xff6f4, 0xffa25, 0xffe65,
> + 0x002e0, 0x0068f, 0x00876, 0x007f1, 0x004f5, 0x0002a, 0xffad4, 0xff68a,
> 0xff4bf, 0xff64f, 0xffb20,
> + 0x0020f, 0x00929, 0x00e2d, 0x00f40, 0x00b92, 0x003bf, 0xff9cd, 0xff0b0,
> 0xfeb6e, 0xfec2a, 0xff351,
> + 0xfff4f, 0x00ccd, 0x0179d, 0x01bfc, 0x017d7, 0x00ba3, 0xffa7e, 0xfe96f,
> 0xfddf5, 0xfdc4d, 0xfe5ee,
> + 0xff8ce, 0x00fb7, 0x023a8, 0x02df5, 0x02a74, 0x01910, 0xffe2c, 0xfe19c,
> 0xfcc64, 0xfc5ee, 0xfd17e,
> + 0xfecd4, 0x01071, 0x03198, 0x0457e, 0x044c9, 0x02e24, 0x00728, 0xfdb0e,
> 0xfb781, 0xfa86b, 0xfb408,
> + 0xfd884, 0x00c02, 0x03f37, 0x061e8, 0x06807, 0x04dc5, 0x01954, 0xfd98c,
> 0xfa1c8, 0xf840f, 0xf8b52,
> + 0xfb78c, 0xffd23, 0x047db, 0x080b1, 0x094e3, 0x07c08, 0x03b41, 0xfe45e,
> 0xf9101, 0xf5b1e, 0xf54f4,
> + 0xf8307, 0xfda0b, 0x0418f, 0x09ad0, 0x0c9d6, 0x0be16, 0x0780b, 0x009dd,
> 0xf92ba, 0xf3606, 0xf10ed,
> + 0xf315e, 0xf9135, 0x0172c, 0x09d83, 0x0fc9e, 0x11695, 0x0e05b, 0x065bf,
> 0xfc6ed, 0xf2ff4, 0xecc96,
> + 0xebbc9, 0xf0668, 0xf9be7, 0x05601, 0x1029e, 0x17140, 0x18065, 0x12728,
> 0x07874, 0xf9edb, 0xed202,
> + 0xe486c, 0xe294d, 0xe820f, 0xf424a, 0x03f29, 0x13d68, 0x1ff61, 0x253b2,
> 0x220fa, 0x16be1, 0x05638,
> + 0xf1798, 0xdf165, 0xd211a, 0xcd3f9, 0xd1eb5, 0xdfa89, 0xf4802, 0x0d656,
> 0x26d63, 0x3d808, 0x4ecc3,
> + 0x59315, 0x5c520, 0x58db6, 0x503d6, 0x444dd, 0x36ecb, 0x29b9a, 0x1de5d,
> 0x14234, 0x0cae0, 0x07669,
> + 0x03f40, 0x01e4e, 0x00c95, 0x0043b, 0x000f9,0xff961, 0x00823, 0x0084f,
> 0x00a39, 0x00d21, 0x010a8, 0x0149a, 0x018cc, 0x01d15, 0x0214d, 0x02543,
> 0x028c8, 0x02baa,
> + 0x02db8, 0x02ec6, 0x02eac, 0x02d4c, 0x02a90, 0x02672, 0x020f9, 0x01a3b,
> 0x0125c, 0x00994, 0x00025,
> + 0xff662, 0xfeca3, 0xfe34c, 0xfdabe, 0xfd364, 0xfcd94, 0xfc9a4, 0xfc7dd,
> 0xfc86b, 0xfcb6e, 0xfd0e6,
> + 0xfd8bb, 0xfe2b9, 0xfee8f, 0xffbd5, 0x00a0c, 0x018a3, 0x026fc, 0x03474,
> 0x04065, 0x04a36, 0x0515a,
> + 0x0555a, 0x055df, 0x052b2, 0x04bc3, 0x0412c, 0x03332, 0x02242, 0x00ef3,
> 0xff9fb, 0xfe430, 0xfce78,
> + 0xfb9c6, 0xfa70f, 0xf973a, 0xf8b1e, 0xf836e, 0xf80b7, 0xf8355, 0xf8b6e,
> 0xf98ea, 0xfab78, 0xfc288,
> + 0xfdd52, 0xffadf, 0x01a0a, 0x03992, 0x05823, 0x07465, 0x08d0c, 0x0a0e3,
> 0x0aedc, 0x0b61f, 0x0b614,
> + 0x0ae6b, 0x09f23, 0x0888d, 0x06b4c, 0x04850, 0x020d3, 0xff647, 0xfca4f,
> 0xf9eae, 0xf7533, 0xf4fa8,
> + 0xf2fc0, 0xf1702, 0xf06ba, 0xeffe6, 0xf032d, 0xf10d3, 0xf28b4, 0xf4a42,
> 0xf7486, 0xfa62a, 0xfdd81,
> + 0x01896, 0x0553d, 0x09128, 0x0c9fe, 0x0fd6f, 0x1294e, 0x14ba5, 0x162cb,
> 0x16d75, 0x16ac4, 0x15a52,
> + 0x13c38, 0x1110d, 0x0d9e9, 0x09856, 0x04e4a, 0xffe17, 0xfaa51, 0xf55c4,
> 0xf0350, 0xeb5d6, 0xe7020,
> + 0xe34c8, 0xe0620, 0xde61c, 0xdd64b, 0xdd7bd, 0xdeb03, 0xe102a, 0xe46b5,
> 0xe8dab, 0xee397, 0xf4699,
> + 0xfb479, 0x02ab3, 0x0a691, 0x1253c, 0x1a3d9, 0x21f98, 0x295cc, 0x30400,
> 0x36803, 0x3bff8, 0x40a63,
> + 0x44628, 0x4729b, 0x48f76, 0x49cd2, 0x49b35, 0x48b71, 0x46ea5, 0x44632,
> 0x413a6, 0x3d8b3, 0x3971b,
> + 0x350a6, 0x30716, 0x2bc15, 0x27131, 0x227cb, 0x1e11d, 0x19e2a, 0x15fc1,
> 0x1267c, 0x0f2c0, 0x0c4c2,
> + 0x09c8b, 0x079fb, 0x05cd2, 0x044b2, 0x0312d, 0x021c5, 0x015f4, 0x0135e
> +};
> +GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT32
> DmicStereo32BitFormatConfigSize = sizeof (DmicStereo32BitFormatConfig);
> +
> +// DMIC Config 4 channels, 16 bits, 2.4Mhz BCLK
> +GLOBAL_REMOVE_IF_UNREFERENCED
> +CONST UINT32 DmicQuad16BitFormatConfig[] =
> +{
> + 0x00000001,0xffff3210,0xffffff10,0xffffff32,0xffffffff,
> + 3,
> + 3,
> + 0x00320003,
> + 0x00320003,
> + 0x3,
> + 0x1, 0x09001303, 0x0, 0x0303, 0, 0, 0, 0,
> + 0x11, 0x402a0, 0, 0, 0, 0, 0, 0,
> + 0x11, 0xe03ae, 0, 0, 0, 0, 0, 0,
> + 0x00008, 0xfffae, 0xfff12, 0xffdfb, 0xffc61, 0xffa5a, 0xff82b, 0xff641, 0xff520,
> 0xff544, 0xff6f4, 0xffa25, 0xffe65,
> + 0x002e0, 0x0068f, 0x00876, 0x007f1, 0x004f5, 0x0002a, 0xffad4, 0xff68a,
> 0xff4bf, 0xff64f, 0xffb20,
> + 0x0020f, 0x00929, 0x00e2d, 0x00f40, 0x00b92, 0x003bf, 0xff9cd, 0xff0b0,
> 0xfeb6e, 0xfec2a, 0xff351,
> + 0xfff4f, 0x00ccd, 0x0179d, 0x01bfc, 0x017d7, 0x00ba3, 0xffa7e, 0xfe96f,
> 0xfddf5, 0xfdc4d, 0xfe5ee,
> + 0xff8ce, 0x00fb7, 0x023a8, 0x02df5, 0x02a74, 0x01910, 0xffe2c, 0xfe19c,
> 0xfcc64, 0xfc5ee, 0xfd17e,
> + 0xfecd4, 0x01071, 0x03198, 0x0457e, 0x044c9, 0x02e24, 0x00728, 0xfdb0e,
> 0xfb781, 0xfa86b, 0xfb408,
> + 0xfd884, 0x00c02, 0x03f37, 0x061e8, 0x06807, 0x04dc5, 0x01954, 0xfd98c,
> 0xfa1c8, 0xf840f, 0xf8b52,
> + 0xfb78c, 0xffd23, 0x047db, 0x080b1, 0x094e3, 0x07c08, 0x03b41, 0xfe45e,
> 0xf9101, 0xf5b1e, 0xf54f4,
> + 0xf8307, 0xfda0b, 0x0418f, 0x09ad0, 0x0c9d6, 0x0be16, 0x0780b, 0x009dd,
> 0xf92ba, 0xf3606, 0xf10ed,
> + 0xf315e, 0xf9135, 0x0172c, 0x09d83, 0x0fc9e, 0x11695, 0x0e05b, 0x065bf,
> 0xfc6ed, 0xf2ff4, 0xecc96,
> + 0xebbc9, 0xf0668, 0xf9be7, 0x05601, 0x1029e, 0x17140, 0x18065, 0x12728,
> 0x07874, 0xf9edb, 0xed202,
> + 0xe486c, 0xe294d, 0xe820f, 0xf424a, 0x03f29, 0x13d68, 0x1ff61, 0x253b2,
> 0x220fa, 0x16be1, 0x05638,
> + 0xf1798, 0xdf165, 0xd211a, 0xcd3f9, 0xd1eb5, 0xdfa89, 0xf4802, 0x0d656,
> 0x26d63, 0x3d808, 0x4ecc3,
> + 0x59315, 0x5c520, 0x58db6, 0x503d6, 0x444dd, 0x36ecb, 0x29b9a, 0x1de5d,
> 0x14234, 0x0cae0, 0x07669,
> + 0x03f40, 0x01e4e, 0x00c95, 0x0043b, 0x000f9,0xff961, 0x00823, 0x0084f,
> 0x00a39, 0x00d21, 0x010a8, 0x0149a, 0x018cc, 0x01d15, 0x0214d, 0x02543,
> 0x028c8, 0x02baa,
> + 0x02db8, 0x02ec6, 0x02eac, 0x02d4c, 0x02a90, 0x02672, 0x020f9, 0x01a3b,
> 0x0125c, 0x00994, 0x00025,
> + 0xff662, 0xfeca3, 0xfe34c, 0xfdabe, 0xfd364, 0xfcd94, 0xfc9a4, 0xfc7dd,
> 0xfc86b, 0xfcb6e, 0xfd0e6,
> + 0xfd8bb, 0xfe2b9, 0xfee8f, 0xffbd5, 0x00a0c, 0x018a3, 0x026fc, 0x03474,
> 0x04065, 0x04a36, 0x0515a,
> + 0x0555a, 0x055df, 0x052b2, 0x04bc3, 0x0412c, 0x03332, 0x02242, 0x00ef3,
> 0xff9fb, 0xfe430, 0xfce78,
> + 0xfb9c6, 0xfa70f, 0xf973a, 0xf8b1e, 0xf836e, 0xf80b7, 0xf8355, 0xf8b6e,
> 0xf98ea, 0xfab78, 0xfc288,
> + 0xfdd52, 0xffadf, 0x01a0a, 0x03992, 0x05823, 0x07465, 0x08d0c, 0x0a0e3,
> 0x0aedc, 0x0b61f, 0x0b614,
> + 0x0ae6b, 0x09f23, 0x0888d, 0x06b4c, 0x04850, 0x020d3, 0xff647, 0xfca4f,
> 0xf9eae, 0xf7533, 0xf4fa8,
> + 0xf2fc0, 0xf1702, 0xf06ba, 0xeffe6, 0xf032d, 0xf10d3, 0xf28b4, 0xf4a42,
> 0xf7486, 0xfa62a, 0xfdd81,
> + 0x01896, 0x0553d, 0x09128, 0x0c9fe, 0x0fd6f, 0x1294e, 0x14ba5, 0x162cb,
> 0x16d75, 0x16ac4, 0x15a52,
> + 0x13c38, 0x1110d, 0x0d9e9, 0x09856, 0x04e4a, 0xffe17, 0xfaa51, 0xf55c4,
> 0xf0350, 0xeb5d6, 0xe7020,
> + 0xe34c8, 0xe0620, 0xde61c, 0xdd64b, 0xdd7bd, 0xdeb03, 0xe102a, 0xe46b5,
> 0xe8dab, 0xee397, 0xf4699,
> + 0xfb479, 0x02ab3, 0x0a691, 0x1253c, 0x1a3d9, 0x21f98, 0x295cc, 0x30400,
> 0x36803, 0x3bff8, 0x40a63,
> + 0x44628, 0x4729b, 0x48f76, 0x49cd2, 0x49b35, 0x48b71, 0x46ea5, 0x44632,
> 0x413a6, 0x3d8b3, 0x3971b,
> + 0x350a6, 0x30716, 0x2bc15, 0x27131, 0x227cb, 0x1e11d, 0x19e2a, 0x15fc1,
> 0x1267c, 0x0f2c0, 0x0c4c2,
> + 0x09c8b, 0x079fb, 0x05cd2, 0x044b2, 0x0312d, 0x021c5, 0x015f4, 0x0135e,
> + 0x1, 0x09001303, 0x0, 0x0303, 0, 0, 0, 0,
> + 0x11, 0x402a0, 0, 0, 0, 0, 0, 0,
> + 0x11, 0xe03ae, 0, 0, 0, 0, 0, 0,
> + 0x00008, 0xfffae, 0xfff12, 0xffdfb, 0xffc61, 0xffa5a, 0xff82b, 0xff641, 0xff520,
> 0xff544, 0xff6f4, 0xffa25, 0xffe65,
> + 0x002e0, 0x0068f, 0x00876, 0x007f1, 0x004f5, 0x0002a, 0xffad4, 0xff68a,
> 0xff4bf, 0xff64f, 0xffb20,
> + 0x0020f, 0x00929, 0x00e2d, 0x00f40, 0x00b92, 0x003bf, 0xff9cd, 0xff0b0,
> 0xfeb6e, 0xfec2a, 0xff351,
> + 0xfff4f, 0x00ccd, 0x0179d, 0x01bfc, 0x017d7, 0x00ba3, 0xffa7e, 0xfe96f,
> 0xfddf5, 0xfdc4d, 0xfe5ee,
> + 0xff8ce, 0x00fb7, 0x023a8, 0x02df5, 0x02a74, 0x01910, 0xffe2c, 0xfe19c,
> 0xfcc64, 0xfc5ee, 0xfd17e,
> + 0xfecd4, 0x01071, 0x03198, 0x0457e, 0x044c9, 0x02e24, 0x00728, 0xfdb0e,
> 0xfb781, 0xfa86b, 0xfb408,
> + 0xfd884, 0x00c02, 0x03f37, 0x061e8, 0x06807, 0x04dc5, 0x01954, 0xfd98c,
> 0xfa1c8, 0xf840f, 0xf8b52,
> + 0xfb78c, 0xffd23, 0x047db, 0x080b1, 0x094e3, 0x07c08, 0x03b41, 0xfe45e,
> 0xf9101, 0xf5b1e, 0xf54f4,
> + 0xf8307, 0xfda0b, 0x0418f, 0x09ad0, 0x0c9d6, 0x0be16, 0x0780b, 0x009dd,
> 0xf92ba, 0xf3606, 0xf10ed,
> + 0xf315e, 0xf9135, 0x0172c, 0x09d83, 0x0fc9e, 0x11695, 0x0e05b, 0x065bf,
> 0xfc6ed, 0xf2ff4, 0xecc96,
> + 0xebbc9, 0xf0668, 0xf9be7, 0x05601, 0x1029e, 0x17140, 0x18065, 0x12728,
> 0x07874, 0xf9edb, 0xed202,
> + 0xe486c, 0xe294d, 0xe820f, 0xf424a, 0x03f29, 0x13d68, 0x1ff61, 0x253b2,
> 0x220fa, 0x16be1, 0x05638,
> + 0xf1798, 0xdf165, 0xd211a, 0xcd3f9, 0xd1eb5, 0xdfa89, 0xf4802, 0x0d656,
> 0x26d63, 0x3d808, 0x4ecc3,
> + 0x59315, 0x5c520, 0x58db6, 0x503d6, 0x444dd, 0x36ecb, 0x29b9a, 0x1de5d,
> 0x14234, 0x0cae0, 0x07669,
> + 0x03f40, 0x01e4e, 0x00c95, 0x0043b, 0x000f9,0xff961, 0x00823, 0x0084f,
> 0x00a39, 0x00d21, 0x010a8, 0x0149a, 0x018cc, 0x01d15, 0x0214d, 0x02543,
> 0x028c8, 0x02baa,
> + 0x02db8, 0x02ec6, 0x02eac, 0x02d4c, 0x02a90, 0x02672, 0x020f9, 0x01a3b,
> 0x0125c, 0x00994, 0x00025,
> + 0xff662, 0xfeca3, 0xfe34c, 0xfdabe, 0xfd364, 0xfcd94, 0xfc9a4, 0xfc7dd,
> 0xfc86b, 0xfcb6e, 0xfd0e6,
> + 0xfd8bb, 0xfe2b9, 0xfee8f, 0xffbd5, 0x00a0c, 0x018a3, 0x026fc, 0x03474,
> 0x04065, 0x04a36, 0x0515a,
> + 0x0555a, 0x055df, 0x052b2, 0x04bc3, 0x0412c, 0x03332, 0x02242, 0x00ef3,
> 0xff9fb, 0xfe430, 0xfce78,
> + 0xfb9c6, 0xfa70f, 0xf973a, 0xf8b1e, 0xf836e, 0xf80b7, 0xf8355, 0xf8b6e,
> 0xf98ea, 0xfab78, 0xfc288,
> + 0xfdd52, 0xffadf, 0x01a0a, 0x03992, 0x05823, 0x07465, 0x08d0c, 0x0a0e3,
> 0x0aedc, 0x0b61f, 0x0b614,
> + 0x0ae6b, 0x09f23, 0x0888d, 0x06b4c, 0x04850, 0x020d3, 0xff647, 0xfca4f,
> 0xf9eae, 0xf7533, 0xf4fa8,
> + 0xf2fc0, 0xf1702, 0xf06ba, 0xeffe6, 0xf032d, 0xf10d3, 0xf28b4, 0xf4a42,
> 0xf7486, 0xfa62a, 0xfdd81,
> + 0x01896, 0x0553d, 0x09128, 0x0c9fe, 0x0fd6f, 0x1294e, 0x14ba5, 0x162cb,
> 0x16d75, 0x16ac4, 0x15a52,
> + 0x13c38, 0x1110d, 0x0d9e9, 0x09856, 0x04e4a, 0xffe17, 0xfaa51, 0xf55c4,
> 0xf0350, 0xeb5d6, 0xe7020,
> + 0xe34c8, 0xe0620, 0xde61c, 0xdd64b, 0xdd7bd, 0xdeb03, 0xe102a, 0xe46b5,
> 0xe8dab, 0xee397, 0xf4699,
> + 0xfb479, 0x02ab3, 0x0a691, 0x1253c, 0x1a3d9, 0x21f98, 0x295cc, 0x30400,
> 0x36803, 0x3bff8, 0x40a63,
> + 0x44628, 0x4729b, 0x48f76, 0x49cd2, 0x49b35, 0x48b71, 0x46ea5, 0x44632,
> 0x413a6, 0x3d8b3, 0x3971b,
> + 0x350a6, 0x30716, 0x2bc15, 0x27131, 0x227cb, 0x1e11d, 0x19e2a, 0x15fc1,
> 0x1267c, 0x0f2c0, 0x0c4c2,
> + 0x09c8b, 0x079fb, 0x05cd2, 0x044b2, 0x0312d, 0x021c5, 0x015f4, 0x0135e
> +};
> +GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT32
> DmicQuad16BitFormatConfigSize = sizeof (DmicQuad16BitFormatConfig);
> +
> +// DMIC Config 4 channels, 32 bits, 2.4Mhz BCLK
> +GLOBAL_REMOVE_IF_UNREFERENCED
> +CONST UINT32 DmicQuad32BitFormatConfig[] =
> +{
> + 0x00000001,0xffff3210,0xffffff10,0xffffff32,0xffffffff,
> + 3,
> + 3,
> + 0x003A0003,
> + 0x003A0003,
> + 0x3,
> + 0x1, 0x09001303, 0x0, 0x0303, 0, 0, 0, 0,
> + 0x11, 0x402a0, 0, 0, 0, 0, 0, 0,
> + 0x11, 0xe03ae, 0, 0, 0, 0, 0, 0,
> + 0x00008, 0xfffae, 0xfff12, 0xffdfb, 0xffc61, 0xffa5a, 0xff82b, 0xff641, 0xff520,
> 0xff544, 0xff6f4, 0xffa25, 0xffe65,
> + 0x002e0, 0x0068f, 0x00876, 0x007f1, 0x004f5, 0x0002a, 0xffad4, 0xff68a,
> 0xff4bf, 0xff64f, 0xffb20,
> + 0x0020f, 0x00929, 0x00e2d, 0x00f40, 0x00b92, 0x003bf, 0xff9cd, 0xff0b0,
> 0xfeb6e, 0xfec2a, 0xff351,
> + 0xfff4f, 0x00ccd, 0x0179d, 0x01bfc, 0x017d7, 0x00ba3, 0xffa7e, 0xfe96f,
> 0xfddf5, 0xfdc4d, 0xfe5ee,
> + 0xff8ce, 0x00fb7, 0x023a8, 0x02df5, 0x02a74, 0x01910, 0xffe2c, 0xfe19c,
> 0xfcc64, 0xfc5ee, 0xfd17e,
> + 0xfecd4, 0x01071, 0x03198, 0x0457e, 0x044c9, 0x02e24, 0x00728, 0xfdb0e,
> 0xfb781, 0xfa86b, 0xfb408,
> + 0xfd884, 0x00c02, 0x03f37, 0x061e8, 0x06807, 0x04dc5, 0x01954, 0xfd98c,
> 0xfa1c8, 0xf840f, 0xf8b52,
> + 0xfb78c, 0xffd23, 0x047db, 0x080b1, 0x094e3, 0x07c08, 0x03b41, 0xfe45e,
> 0xf9101, 0xf5b1e, 0xf54f4,
> + 0xf8307, 0xfda0b, 0x0418f, 0x09ad0, 0x0c9d6, 0x0be16, 0x0780b, 0x009dd,
> 0xf92ba, 0xf3606, 0xf10ed,
> + 0xf315e, 0xf9135, 0x0172c, 0x09d83, 0x0fc9e, 0x11695, 0x0e05b, 0x065bf,
> 0xfc6ed, 0xf2ff4, 0xecc96,
> + 0xebbc9, 0xf0668, 0xf9be7, 0x05601, 0x1029e, 0x17140, 0x18065, 0x12728,
> 0x07874, 0xf9edb, 0xed202,
> + 0xe486c, 0xe294d, 0xe820f, 0xf424a, 0x03f29, 0x13d68, 0x1ff61, 0x253b2,
> 0x220fa, 0x16be1, 0x05638,
> + 0xf1798, 0xdf165, 0xd211a, 0xcd3f9, 0xd1eb5, 0xdfa89, 0xf4802, 0x0d656,
> 0x26d63, 0x3d808, 0x4ecc3,
> + 0x59315, 0x5c520, 0x58db6, 0x503d6, 0x444dd, 0x36ecb, 0x29b9a, 0x1de5d,
> 0x14234, 0x0cae0, 0x07669,
> + 0x03f40, 0x01e4e, 0x00c95, 0x0043b, 0x000f9,0xff961, 0x00823, 0x0084f,
> 0x00a39, 0x00d21, 0x010a8, 0x0149a, 0x018cc, 0x01d15, 0x0214d, 0x02543,
> 0x028c8, 0x02baa,
> + 0x02db8, 0x02ec6, 0x02eac, 0x02d4c, 0x02a90, 0x02672, 0x020f9, 0x01a3b,
> 0x0125c, 0x00994, 0x00025,
> + 0xff662, 0xfeca3, 0xfe34c, 0xfdabe, 0xfd364, 0xfcd94, 0xfc9a4, 0xfc7dd,
> 0xfc86b, 0xfcb6e, 0xfd0e6,
> + 0xfd8bb, 0xfe2b9, 0xfee8f, 0xffbd5, 0x00a0c, 0x018a3, 0x026fc, 0x03474,
> 0x04065, 0x04a36, 0x0515a,
> + 0x0555a, 0x055df, 0x052b2, 0x04bc3, 0x0412c, 0x03332, 0x02242, 0x00ef3,
> 0xff9fb, 0xfe430, 0xfce78,
> + 0xfb9c6, 0xfa70f, 0xf973a, 0xf8b1e, 0xf836e, 0xf80b7, 0xf8355, 0xf8b6e,
> 0xf98ea, 0xfab78, 0xfc288,
> + 0xfdd52, 0xffadf, 0x01a0a, 0x03992, 0x05823, 0x07465, 0x08d0c, 0x0a0e3,
> 0x0aedc, 0x0b61f, 0x0b614,
> + 0x0ae6b, 0x09f23, 0x0888d, 0x06b4c, 0x04850, 0x020d3, 0xff647, 0xfca4f,
> 0xf9eae, 0xf7533, 0xf4fa8,
> + 0xf2fc0, 0xf1702, 0xf06ba, 0xeffe6, 0xf032d, 0xf10d3, 0xf28b4, 0xf4a42,
> 0xf7486, 0xfa62a, 0xfdd81,
> + 0x01896, 0x0553d, 0x09128, 0x0c9fe, 0x0fd6f, 0x1294e, 0x14ba5, 0x162cb,
> 0x16d75, 0x16ac4, 0x15a52,
> + 0x13c38, 0x1110d, 0x0d9e9, 0x09856, 0x04e4a, 0xffe17, 0xfaa51, 0xf55c4,
> 0xf0350, 0xeb5d6, 0xe7020,
> + 0xe34c8, 0xe0620, 0xde61c, 0xdd64b, 0xdd7bd, 0xdeb03, 0xe102a, 0xe46b5,
> 0xe8dab, 0xee397, 0xf4699,
> + 0xfb479, 0x02ab3, 0x0a691, 0x1253c, 0x1a3d9, 0x21f98, 0x295cc, 0x30400,
> 0x36803, 0x3bff8, 0x40a63,
> + 0x44628, 0x4729b, 0x48f76, 0x49cd2, 0x49b35, 0x48b71, 0x46ea5, 0x44632,
> 0x413a6, 0x3d8b3, 0x3971b,
> + 0x350a6, 0x30716, 0x2bc15, 0x27131, 0x227cb, 0x1e11d, 0x19e2a, 0x15fc1,
> 0x1267c, 0x0f2c0, 0x0c4c2,
> + 0x09c8b, 0x079fb, 0x05cd2, 0x044b2, 0x0312d, 0x021c5, 0x015f4, 0x0135e,
> + 0x1, 0x09001303, 0x0, 0x0303, 0, 0, 0, 0,
> + 0x11, 0x402a0, 0, 0, 0, 0, 0, 0,
> + 0x11, 0xe03ae, 0, 0, 0, 0, 0, 0,
> + 0x00008, 0xfffae, 0xfff12, 0xffdfb, 0xffc61, 0xffa5a, 0xff82b, 0xff641, 0xff520,
> 0xff544, 0xff6f4, 0xffa25, 0xffe65,
> + 0x002e0, 0x0068f, 0x00876, 0x007f1, 0x004f5, 0x0002a, 0xffad4, 0xff68a,
> 0xff4bf, 0xff64f, 0xffb20,
> + 0x0020f, 0x00929, 0x00e2d, 0x00f40, 0x00b92, 0x003bf, 0xff9cd, 0xff0b0,
> 0xfeb6e, 0xfec2a, 0xff351,
> + 0xfff4f, 0x00ccd, 0x0179d, 0x01bfc, 0x017d7, 0x00ba3, 0xffa7e, 0xfe96f,
> 0xfddf5, 0xfdc4d, 0xfe5ee,
> + 0xff8ce, 0x00fb7, 0x023a8, 0x02df5, 0x02a74, 0x01910, 0xffe2c, 0xfe19c,
> 0xfcc64, 0xfc5ee, 0xfd17e,
> + 0xfecd4, 0x01071, 0x03198, 0x0457e, 0x044c9, 0x02e24, 0x00728, 0xfdb0e,
> 0xfb781, 0xfa86b, 0xfb408,
> + 0xfd884, 0x00c02, 0x03f37, 0x061e8, 0x06807, 0x04dc5, 0x01954, 0xfd98c,
> 0xfa1c8, 0xf840f, 0xf8b52,
> + 0xfb78c, 0xffd23, 0x047db, 0x080b1, 0x094e3, 0x07c08, 0x03b41, 0xfe45e,
> 0xf9101, 0xf5b1e, 0xf54f4,
> + 0xf8307, 0xfda0b, 0x0418f, 0x09ad0, 0x0c9d6, 0x0be16, 0x0780b, 0x009dd,
> 0xf92ba, 0xf3606, 0xf10ed,
> + 0xf315e, 0xf9135, 0x0172c, 0x09d83, 0x0fc9e, 0x11695, 0x0e05b, 0x065bf,
> 0xfc6ed, 0xf2ff4, 0xecc96,
> + 0xebbc9, 0xf0668, 0xf9be7, 0x05601, 0x1029e, 0x17140, 0x18065, 0x12728,
> 0x07874, 0xf9edb, 0xed202,
> + 0xe486c, 0xe294d, 0xe820f, 0xf424a, 0x03f29, 0x13d68, 0x1ff61, 0x253b2,
> 0x220fa, 0x16be1, 0x05638,
> + 0xf1798, 0xdf165, 0xd211a, 0xcd3f9, 0xd1eb5, 0xdfa89, 0xf4802, 0x0d656,
> 0x26d63, 0x3d808, 0x4ecc3,
> + 0x59315, 0x5c520, 0x58db6, 0x503d6, 0x444dd, 0x36ecb, 0x29b9a, 0x1de5d,
> 0x14234, 0x0cae0, 0x07669,
> + 0x03f40, 0x01e4e, 0x00c95, 0x0043b, 0x000f9,0xff961, 0x00823, 0x0084f,
> 0x00a39, 0x00d21, 0x010a8, 0x0149a, 0x018cc, 0x01d15, 0x0214d, 0x02543,
> 0x028c8, 0x02baa,
> + 0x02db8, 0x02ec6, 0x02eac, 0x02d4c, 0x02a90, 0x02672, 0x020f9, 0x01a3b,
> 0x0125c, 0x00994, 0x00025,
> + 0xff662, 0xfeca3, 0xfe34c, 0xfdabe, 0xfd364, 0xfcd94, 0xfc9a4, 0xfc7dd,
> 0xfc86b, 0xfcb6e, 0xfd0e6,
> + 0xfd8bb, 0xfe2b9, 0xfee8f, 0xffbd5, 0x00a0c, 0x018a3, 0x026fc, 0x03474,
> 0x04065, 0x04a36, 0x0515a,
> + 0x0555a, 0x055df, 0x052b2, 0x04bc3, 0x0412c, 0x03332, 0x02242, 0x00ef3,
> 0xff9fb, 0xfe430, 0xfce78,
> + 0xfb9c6, 0xfa70f, 0xf973a, 0xf8b1e, 0xf836e, 0xf80b7, 0xf8355, 0xf8b6e,
> 0xf98ea, 0xfab78, 0xfc288,
> + 0xfdd52, 0xffadf, 0x01a0a, 0x03992, 0x05823, 0x07465, 0x08d0c, 0x0a0e3,
> 0x0aedc, 0x0b61f, 0x0b614,
> + 0x0ae6b, 0x09f23, 0x0888d, 0x06b4c, 0x04850, 0x020d3, 0xff647, 0xfca4f,
> 0xf9eae, 0xf7533, 0xf4fa8,
> + 0xf2fc0, 0xf1702, 0xf06ba, 0xeffe6, 0xf032d, 0xf10d3, 0xf28b4, 0xf4a42,
> 0xf7486, 0xfa62a, 0xfdd81,
> + 0x01896, 0x0553d, 0x09128, 0x0c9fe, 0x0fd6f, 0x1294e, 0x14ba5, 0x162cb,
> 0x16d75, 0x16ac4, 0x15a52,
> + 0x13c38, 0x1110d, 0x0d9e9, 0x09856, 0x04e4a, 0xffe17, 0xfaa51, 0xf55c4,
> 0xf0350, 0xeb5d6, 0xe7020,
> + 0xe34c8, 0xe0620, 0xde61c, 0xdd64b, 0xdd7bd, 0xdeb03, 0xe102a, 0xe46b5,
> 0xe8dab, 0xee397, 0xf4699,
> + 0xfb479, 0x02ab3, 0x0a691, 0x1253c, 0x1a3d9, 0x21f98, 0x295cc, 0x30400,
> 0x36803, 0x3bff8, 0x40a63,
> + 0x44628, 0x4729b, 0x48f76, 0x49cd2, 0x49b35, 0x48b71, 0x46ea5, 0x44632,
> 0x413a6, 0x3d8b3, 0x3971b,
> + 0x350a6, 0x30716, 0x2bc15, 0x27131, 0x227cb, 0x1e11d, 0x19e2a, 0x15fc1,
> 0x1267c, 0x0f2c0, 0x0c4c2,
> + 0x09c8b, 0x079fb, 0x05cd2, 0x044b2, 0x0312d, 0x021c5, 0x015f4, 0x0135e
> +};
> +GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT32
> DmicQuad32BitFormatConfigSize = sizeof (DmicQuad32BitFormatConfig);
> +
> +
> +// DMIC Config 1 channel, 16 bits
> +GLOBAL_REMOVE_IF_UNREFERENCED
> +CONST UINT32 DmicMono16BitFormatConfig[] =
> +{
> + 0x00000000,
> + 0xfffffff0,0xfffffff0,0xfffffff0,0xfffffff0,
> + 3,
> + 3,
> + 0x00300003,
> + 0x00300003,
> + 0x3,
> + 0x0, 0x09001303, 0x0, 0x0301, 0, 0, 0, 0,
> + 0x10, 0x402a0, 0, 0, 0, 0, 0, 0,
> + 0x10, 0xe03ae, 0, 0, 0, 0, 0, 0,
> + 0x00008, 0xfffae, 0xfff12, 0xffdfb, 0xffc61, 0xffa5a, 0xff82b, 0xff641, 0xff520,
> 0xff544, 0xff6f4, 0xffa25, 0xffe65,
> + 0x002e0, 0x0068f, 0x00876, 0x007f1, 0x004f5, 0x0002a, 0xffad4, 0xff68a,
> 0xff4bf, 0xff64f, 0xffb20,
> + 0x0020f, 0x00929, 0x00e2d, 0x00f40, 0x00b92, 0x003bf, 0xff9cd, 0xff0b0,
> 0xfeb6e, 0xfec2a, 0xff351,
> + 0xfff4f, 0x00ccd, 0x0179d, 0x01bfc, 0x017d7, 0x00ba3, 0xffa7e, 0xfe96f,
> 0xfddf5, 0xfdc4d, 0xfe5ee,
> + 0xff8ce, 0x00fb7, 0x023a8, 0x02df5, 0x02a74, 0x01910, 0xffe2c, 0xfe19c,
> 0xfcc64, 0xfc5ee, 0xfd17e,
> + 0xfecd4, 0x01071, 0x03198, 0x0457e, 0x044c9, 0x02e24, 0x00728, 0xfdb0e,
> 0xfb781, 0xfa86b, 0xfb408,
> + 0xfd884, 0x00c02, 0x03f37, 0x061e8, 0x06807, 0x04dc5, 0x01954, 0xfd98c,
> 0xfa1c8, 0xf840f, 0xf8b52,
> + 0xfb78c, 0xffd23, 0x047db, 0x080b1, 0x094e3, 0x07c08, 0x03b41, 0xfe45e,
> 0xf9101, 0xf5b1e, 0xf54f4,
> + 0xf8307, 0xfda0b, 0x0418f, 0x09ad0, 0x0c9d6, 0x0be16, 0x0780b, 0x009dd,
> 0xf92ba, 0xf3606, 0xf10ed,
> + 0xf315e, 0xf9135, 0x0172c, 0x09d83, 0x0fc9e, 0x11695, 0x0e05b, 0x065bf,
> 0xfc6ed, 0xf2ff4, 0xecc96,
> + 0xebbc9, 0xf0668, 0xf9be7, 0x05601, 0x1029e, 0x17140, 0x18065, 0x12728,
> 0x07874, 0xf9edb, 0xed202,
> + 0xe486c, 0xe294d, 0xe820f, 0xf424a, 0x03f29, 0x13d68, 0x1ff61, 0x253b2,
> 0x220fa, 0x16be1, 0x05638,
> + 0xf1798, 0xdf165, 0xd211a, 0xcd3f9, 0xd1eb5, 0xdfa89, 0xf4802, 0x0d656,
> 0x26d63, 0x3d808, 0x4ecc3,
> + 0x59315, 0x5c520, 0x58db6, 0x503d6, 0x444dd, 0x36ecb, 0x29b9a, 0x1de5d,
> 0x14234, 0x0cae0, 0x07669,
> + 0x03f40, 0x01e4e, 0x00c95, 0x0043b, 0x000f9,0xff961, 0x00823, 0x0084f,
> 0x00a39, 0x00d21, 0x010a8, 0x0149a, 0x018cc, 0x01d15, 0x0214d, 0x02543,
> 0x028c8, 0x02baa,
> + 0x02db8, 0x02ec6, 0x02eac, 0x02d4c, 0x02a90, 0x02672, 0x020f9, 0x01a3b,
> 0x0125c, 0x00994, 0x00025,
> + 0xff662, 0xfeca3, 0xfe34c, 0xfdabe, 0xfd364, 0xfcd94, 0xfc9a4, 0xfc7dd,
> 0xfc86b, 0xfcb6e, 0xfd0e6,
> + 0xfd8bb, 0xfe2b9, 0xfee8f, 0xffbd5, 0x00a0c, 0x018a3, 0x026fc, 0x03474,
> 0x04065, 0x04a36, 0x0515a,
> + 0x0555a, 0x055df, 0x052b2, 0x04bc3, 0x0412c, 0x03332, 0x02242, 0x00ef3,
> 0xff9fb, 0xfe430, 0xfce78,
> + 0xfb9c6, 0xfa70f, 0xf973a, 0xf8b1e, 0xf836e, 0xf80b7, 0xf8355, 0xf8b6e,
> 0xf98ea, 0xfab78, 0xfc288,
> + 0xfdd52, 0xffadf, 0x01a0a, 0x03992, 0x05823, 0x07465, 0x08d0c, 0x0a0e3,
> 0x0aedc, 0x0b61f, 0x0b614,
> + 0x0ae6b, 0x09f23, 0x0888d, 0x06b4c, 0x04850, 0x020d3, 0xff647, 0xfca4f,
> 0xf9eae, 0xf7533, 0xf4fa8,
> + 0xf2fc0, 0xf1702, 0xf06ba, 0xeffe6, 0xf032d, 0xf10d3, 0xf28b4, 0xf4a42,
> 0xf7486, 0xfa62a, 0xfdd81,
> + 0x01896, 0x0553d, 0x09128, 0x0c9fe, 0x0fd6f, 0x1294e, 0x14ba5, 0x162cb,
> 0x16d75, 0x16ac4, 0x15a52,
> + 0x13c38, 0x1110d, 0x0d9e9, 0x09856, 0x04e4a, 0xffe17, 0xfaa51, 0xf55c4,
> 0xf0350, 0xeb5d6, 0xe7020,
> + 0xe34c8, 0xe0620, 0xde61c, 0xdd64b, 0xdd7bd, 0xdeb03, 0xe102a, 0xe46b5,
> 0xe8dab, 0xee397, 0xf4699,
> + 0xfb479, 0x02ab3, 0x0a691, 0x1253c, 0x1a3d9, 0x21f98, 0x295cc, 0x30400,
> 0x36803, 0x3bff8, 0x40a63,
> + 0x44628, 0x4729b, 0x48f76, 0x49cd2, 0x49b35, 0x48b71, 0x46ea5, 0x44632,
> 0x413a6, 0x3d8b3, 0x3971b,
> + 0x350a6, 0x30716, 0x2bc15, 0x27131, 0x227cb, 0x1e11d, 0x19e2a, 0x15fc1,
> 0x1267c, 0x0f2c0, 0x0c4c2,
> + 0x09c8b, 0x079fb, 0x05cd2, 0x044b2, 0x0312d, 0x021c5, 0x015f4, 0x0135e,
> + 0x0, 0x09001303, 0x0, 0x0301, 0, 0, 0, 0,
> + 0x10, 0x402a0, 0, 0, 0, 0, 0, 0,
> + 0x10, 0xe03ae, 0, 0, 0, 0, 0, 0,
> + 0x00008, 0xfffae, 0xfff12, 0xffdfb, 0xffc61, 0xffa5a, 0xff82b, 0xff641, 0xff520,
> 0xff544, 0xff6f4, 0xffa25, 0xffe65,
> + 0x002e0, 0x0068f, 0x00876, 0x007f1, 0x004f5, 0x0002a, 0xffad4, 0xff68a,
> 0xff4bf, 0xff64f, 0xffb20,
> + 0x0020f, 0x00929, 0x00e2d, 0x00f40, 0x00b92, 0x003bf, 0xff9cd, 0xff0b0,
> 0xfeb6e, 0xfec2a, 0xff351,
> + 0xfff4f, 0x00ccd, 0x0179d, 0x01bfc, 0x017d7, 0x00ba3, 0xffa7e, 0xfe96f,
> 0xfddf5, 0xfdc4d, 0xfe5ee,
> + 0xff8ce, 0x00fb7, 0x023a8, 0x02df5, 0x02a74, 0x01910, 0xffe2c, 0xfe19c,
> 0xfcc64, 0xfc5ee, 0xfd17e,
> + 0xfecd4, 0x01071, 0x03198, 0x0457e, 0x044c9, 0x02e24, 0x00728, 0xfdb0e,
> 0xfb781, 0xfa86b, 0xfb408,
> + 0xfd884, 0x00c02, 0x03f37, 0x061e8, 0x06807, 0x04dc5, 0x01954, 0xfd98c,
> 0xfa1c8, 0xf840f, 0xf8b52,
> + 0xfb78c, 0xffd23, 0x047db, 0x080b1, 0x094e3, 0x07c08, 0x03b41, 0xfe45e,
> 0xf9101, 0xf5b1e, 0xf54f4,
> + 0xf8307, 0xfda0b, 0x0418f, 0x09ad0, 0x0c9d6, 0x0be16, 0x0780b, 0x009dd,
> 0xf92ba, 0xf3606, 0xf10ed,
> + 0xf315e, 0xf9135, 0x0172c, 0x09d83, 0x0fc9e, 0x11695, 0x0e05b, 0x065bf,
> 0xfc6ed, 0xf2ff4, 0xecc96,
> + 0xebbc9, 0xf0668, 0xf9be7, 0x05601, 0x1029e, 0x17140, 0x18065, 0x12728,
> 0x07874, 0xf9edb, 0xed202,
> + 0xe486c, 0xe294d, 0xe820f, 0xf424a, 0x03f29, 0x13d68, 0x1ff61, 0x253b2,
> 0x220fa, 0x16be1, 0x05638,
> + 0xf1798, 0xdf165, 0xd211a, 0xcd3f9, 0xd1eb5, 0xdfa89, 0xf4802, 0x0d656,
> 0x26d63, 0x3d808, 0x4ecc3,
> + 0x59315, 0x5c520, 0x58db6, 0x503d6, 0x444dd, 0x36ecb, 0x29b9a, 0x1de5d,
> 0x14234, 0x0cae0, 0x07669,
> + 0x03f40, 0x01e4e, 0x00c95, 0x0043b, 0x000f9,0xff961, 0x00823, 0x0084f,
> 0x00a39, 0x00d21, 0x010a8, 0x0149a, 0x018cc, 0x01d15, 0x0214d, 0x02543,
> 0x028c8, 0x02baa,
> + 0x02db8, 0x02ec6, 0x02eac, 0x02d4c, 0x02a90, 0x02672, 0x020f9, 0x01a3b,
> 0x0125c, 0x00994, 0x00025,
> + 0xff662, 0xfeca3, 0xfe34c, 0xfdabe, 0xfd364, 0xfcd94, 0xfc9a4, 0xfc7dd,
> 0xfc86b, 0xfcb6e, 0xfd0e6,
> + 0xfd8bb, 0xfe2b9, 0xfee8f, 0xffbd5, 0x00a0c, 0x018a3, 0x026fc, 0x03474,
> 0x04065, 0x04a36, 0x0515a,
> + 0x0555a, 0x055df, 0x052b2, 0x04bc3, 0x0412c, 0x03332, 0x02242, 0x00ef3,
> 0xff9fb, 0xfe430, 0xfce78,
> + 0xfb9c6, 0xfa70f, 0xf973a, 0xf8b1e, 0xf836e, 0xf80b7, 0xf8355, 0xf8b6e,
> 0xf98ea, 0xfab78, 0xfc288,
> + 0xfdd52, 0xffadf, 0x01a0a, 0x03992, 0x05823, 0x07465, 0x08d0c, 0x0a0e3,
> 0x0aedc, 0x0b61f, 0x0b614,
> + 0x0ae6b, 0x09f23, 0x0888d, 0x06b4c, 0x04850, 0x020d3, 0xff647, 0xfca4f,
> 0xf9eae, 0xf7533, 0xf4fa8,
> + 0xf2fc0, 0xf1702, 0xf06ba, 0xeffe6, 0xf032d, 0xf10d3, 0xf28b4, 0xf4a42,
> 0xf7486, 0xfa62a, 0xfdd81,
> + 0x01896, 0x0553d, 0x09128, 0x0c9fe, 0x0fd6f, 0x1294e, 0x14ba5, 0x162cb,
> 0x16d75, 0x16ac4, 0x15a52,
> + 0x13c38, 0x1110d, 0x0d9e9, 0x09856, 0x04e4a, 0xffe17, 0xfaa51, 0xf55c4,
> 0xf0350, 0xeb5d6, 0xe7020,
> + 0xe34c8, 0xe0620, 0xde61c, 0xdd64b, 0xdd7bd, 0xdeb03, 0xe102a, 0xe46b5,
> 0xe8dab, 0xee397, 0xf4699,
> + 0xfb479, 0x02ab3, 0x0a691, 0x1253c, 0x1a3d9, 0x21f98, 0x295cc, 0x30400,
> 0x36803, 0x3bff8, 0x40a63,
> + 0x44628, 0x4729b, 0x48f76, 0x49cd2, 0x49b35, 0x48b71, 0x46ea5, 0x44632,
> 0x413a6, 0x3d8b3, 0x3971b,
> + 0x350a6, 0x30716, 0x2bc15, 0x27131, 0x227cb, 0x1e11d, 0x19e2a, 0x15fc1,
> 0x1267c, 0x0f2c0, 0x0c4c2,
> + 0x09c8b, 0x079fb, 0x05cd2, 0x044b2, 0x0312d, 0x021c5, 0x015f4, 0x0135e
> +};
> +
> +GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT32
> DmicMono16BitFormatConfigSize = sizeof (DmicMono16BitFormatConfig);
> +
> +//
> +// I2S/SSP Configuration BLOBs
> +// Audio Format and Configuration details
> +//
> +// Frequency: 48kHz, PCM resolution: 24 bits
> +// TDM slots: 4
> +// Codec: Realtek ALC274, mode: slave
> +GLOBAL_REMOVE_IF_UNREFERENCED
> +CONST UINT32 I2sRtk274Render4ch48kHz24bitFormatConfig[] = {0x0,
> 0xffffff10, 0xffffff32, 0xffff3210, 0xffff3210, 0xffff3210, 0xffff3210, 0xffff3210,
> 0xffff3210, 0x83d00437, 0xc0700000, 0x0, 0x02010004, 0xf, 0xf, 0x4002, 0x4,
> 0x7070f00, 0x20, 0x00000001, 0x00000fff};
> +GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT32
> I2sRtk274Render4ch48kHz24bitFormatConfigSize = sizeof
> (I2sRtk274Render4ch48kHz24bitFormatConfig);
> +
> +GLOBAL_REMOVE_IF_UNREFERENCED
> +CONST UINT32 I2sRtk274Capture4ch48kHz24bitFormatConfig[] = {0x0,
> 0xffffff10, 0xffffff10, 0xffffff10, 0xffffff10, 0xffffff10, 0xffffff10, 0xffffff10,
> 0xffffff10, 0x83d00437, 0xc0700000, 0x0, 0x02010004, 0xf, 0xf, 0x4002, 0x4,
> 0x7070f00, 0x20, 0x00000001, 0x00000fff};
> +GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT32
> I2sRtk274Capture4ch48kHz24bitFormatConfigSize = sizeof
> (I2sRtk274Capture4ch48kHz24bitFormatConfig);
> +
> +//
> +// BlueTooth Configuration BLOBs
> +//
> +GLOBAL_REMOVE_IF_UNREFERENCED
> +CONST UINT32 BtFormatConfig[] =
> +{
> + 0x0, 0xfffffff0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
> + 0x0, 0x80c0003f, 0xd3400000, 0x0, 0x02000005, 0x01, 0x01, 0x4002,
> + 0x0, 0x07020000, 0x0, 0x01, 0x0
> +};
> +GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT32 BtFormatConfigSize =
> sizeof (BtFormatConfig);
> --
> 2.16.2.windows.1
next prev parent reply other threads:[~2019-08-17 1:13 UTC|newest]
Thread overview: 121+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-17 0:15 [edk2-platforms][PATCH V1 00/37] Coffee Lake and Whiskey Lake support Kubacki, Michael A
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 01/37] CoffeelakeSiliconPkg: Add package and Include headers Kubacki, Michael A
2019-08-17 0:51 ` Nate DeSimone
2019-08-17 1:08 ` Chiu, Chasel
2019-08-17 1:18 ` Chaganty, Rangasai V
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 02/37] CoffeelakeSiliconPkg/Cpu: Add " Kubacki, Michael A
2019-08-17 0:51 ` Nate DeSimone
2019-08-17 1:08 ` Chiu, Chasel
2019-08-17 6:58 ` Chaganty, Rangasai V
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 03/37] CoffeelakeSiliconPkg/Me: " Kubacki, Michael A
2019-08-17 0:51 ` Nate DeSimone
2019-08-17 1:08 ` Chiu, Chasel
2019-08-17 7:04 ` Chaganty, Rangasai V
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 04/37] CoffeelakeSiliconPkg/Pch: Add include headers Kubacki, Michael A
2019-08-17 0:51 ` Nate DeSimone
2019-08-17 1:08 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 05/37] CoffeelakeSiliconPkg/Pch: Add ConfigBlock headers Kubacki, Michael A
2019-08-17 0:51 ` Nate DeSimone
2019-08-17 1:09 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 06/37] CoffeelakeSiliconPkg/Pch: Add Library include headers Kubacki, Michael A
2019-08-17 0:51 ` Nate DeSimone
2019-08-17 1:09 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 07/37] CoffeelakeSiliconPkg/Pch: Add PPI and Protocol " Kubacki, Michael A
2019-08-17 0:51 ` Nate DeSimone
2019-08-17 1:09 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 08/37] CoffeelakeSiliconPkg/Pch: Add Register " Kubacki, Michael A
2019-08-17 0:51 ` Nate DeSimone
2019-08-17 1:09 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 09/37] CoffeelakeSiliconPkg/Pch: Add Private " Kubacki, Michael A
2019-08-17 0:51 ` Nate DeSimone
2019-08-17 1:12 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 10/37] CoffeelakeSiliconPkg/Pch: Add Private/Library " Kubacki, Michael A
2019-08-17 0:52 ` Nate DeSimone
2019-08-17 1:09 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 11/37] CoffeelakeSiliconPkg/Pch: Add Private/Protocol " Kubacki, Michael A
2019-08-17 0:51 ` Nate DeSimone
2019-08-17 1:10 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 12/37] CoffeelakeSiliconPkg/SampleCode: Add Include headers Kubacki, Michael A
2019-08-17 0:52 ` Nate DeSimone
2019-08-17 1:12 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 13/37] CoffeelakeSiliconPkg/SystemAgent: " Kubacki, Michael A
2019-08-17 0:52 ` Nate DeSimone
2019-08-17 1:12 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 14/37] CoffeelakeSiliconPkg: Add package common library instances Kubacki, Michael A
2019-08-17 0:52 ` Nate DeSimone
2019-08-17 1:12 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 15/37] CoffeelakeSiliconPkg/Cpu: Add " Kubacki, Michael A
2019-08-17 0:52 ` Nate DeSimone
2019-08-17 1:15 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 16/37] CoffeelakeSiliconPkg/Me: " Kubacki, Michael A
2019-08-17 0:52 ` Nate DeSimone
2019-08-17 1:12 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 17/37] CoffeelakeSiliconPkg/Pch: Add Base " Kubacki, Michael A
2019-08-17 0:52 ` Nate DeSimone
2019-08-17 1:13 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 18/37] CoffeelakeSiliconPkg/Pch: Add DXE " Kubacki, Michael A
2019-08-17 0:52 ` Nate DeSimone
2019-08-17 1:13 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 19/37] CoffeelakeSiliconPkg/Pch: Add PEI " Kubacki, Michael A
2019-08-17 0:52 ` Nate DeSimone
2019-08-17 1:13 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 20/37] CoffeelakeSiliconPkg/Pch: Add SMM " Kubacki, Michael A
2019-08-17 0:53 ` Nate DeSimone
2019-08-17 1:16 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 21/37] CoffeelakeSiliconPkg/Pch: Add Base " Kubacki, Michael A
2019-08-17 0:52 ` Nate DeSimone
2019-08-17 1:13 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 22/37] CoffeelakeSiliconPkg/Pch: Add DXE private " Kubacki, Michael A
2019-08-17 0:52 ` Nate DeSimone
2019-08-17 1:13 ` Chiu, Chasel [this message]
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 23/37] CoffeelakeSiliconPkg/Pch: Add PEI " Kubacki, Michael A
2019-08-17 0:53 ` Nate DeSimone
2019-08-17 1:14 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 24/37] CoffeelakeSiliconPkg/Pch: Add SMM " Kubacki, Michael A
2019-08-17 0:53 ` Nate DeSimone
2019-08-17 1:14 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 25/37] CoffeelakeSiliconPkg/SystemAgent: Add " Kubacki, Michael A
2019-08-17 0:53 ` Nate DeSimone
2019-08-17 1:14 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 26/37] CoffeelakeSiliconPkg/Pch: Add modules Kubacki, Michael A
2019-08-17 0:53 ` Nate DeSimone
2019-08-17 1:14 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 27/37] CoffeelakeSiliconPkg/Pch: Add PchSmiDispatcher Kubacki, Michael A
2019-08-17 0:53 ` Nate DeSimone
2019-08-17 1:15 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 28/37] CoffeelakeSiliconPkg/SystemAgent: Add modules Kubacki, Michael A
2019-08-17 0:53 ` Nate DeSimone
2019-08-17 1:15 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 29/37] CoffeelakeSiliconPkg: Add package DSC files Kubacki, Michael A
2019-08-17 0:53 ` Nate DeSimone
2019-08-17 1:14 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 30/37] Maintainers.txt: Add CoffeelakeSiliconPkg maintainers Kubacki, Michael A
2019-08-17 0:53 ` Nate DeSimone
2019-08-17 1:15 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 31/37] WhiskeylakeOpenBoardPkg: Add package and headers Kubacki, Michael A
2019-08-17 0:54 ` Nate DeSimone
2019-08-17 1:16 ` Chiu, Chasel
2019-08-19 18:09 ` Sinha, Ankit
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 32/37] WhiskeylakeOpenBoardPkg/WhiskeylakeURvp: Add headers Kubacki, Michael A
2019-08-17 0:54 ` Nate DeSimone
2019-08-17 1:16 ` Chiu, Chasel
2019-08-17 0:15 ` [edk2-platforms][PATCH V1 33/37] WhiskeylakeOpenBoardPkg: Add library instances Kubacki, Michael A
2019-08-17 0:54 ` Nate DeSimone
2019-08-17 1:16 ` Chiu, Chasel
2019-08-17 0:16 ` [edk2-platforms][PATCH V1 34/37] WhiskeylakeOpenBoardPkg/WhiskeylakeURvp: " Kubacki, Michael A
2019-08-17 0:54 ` Nate DeSimone
2019-08-17 1:17 ` Chiu, Chasel
2019-08-17 20:08 ` Chaganty, Rangasai V
2019-08-17 0:16 ` [edk2-platforms][PATCH V1 35/37] WhiskeylakeOpenBoardPkg: Add modules Kubacki, Michael A
2019-08-17 0:54 ` Nate DeSimone
2019-08-17 1:17 ` Chiu, Chasel
2019-08-17 7:50 ` Chaganty, Rangasai V
2019-08-17 0:16 ` [edk2-platforms][PATCH V1 36/37] WhiskeylakeOpenBoardPkg/WhiskeylakeURvp: Add DSC and build files Kubacki, Michael A
2019-08-17 0:54 ` Nate DeSimone
2019-08-17 1:16 ` Chiu, Chasel
2019-08-17 20:11 ` Chaganty, Rangasai V
2019-08-17 0:16 ` [edk2-platforms][PATCH V1 37/37] Add WhiskeylakeOpenBoardPkg to global build config and documentation Kubacki, Michael A
2019-08-17 0:54 ` Nate DeSimone
2019-08-17 1:17 ` Chiu, Chasel
2019-08-17 20:00 ` Chaganty, Rangasai V
2019-08-19 18:14 ` [edk2-platforms][PATCH V1 00/37] Coffee Lake and Whiskey Lake support Sinha, Ankit
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3C3EFB470A303B4AB093197B6777CCEC5046236B@PGSMSX111.gar.corp.intel.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox