public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
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


  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