[coreboot-gerrit] New patch to review for coreboot: intel/skylake: Add support for IV feedback loop capture blob

Patrick Georgi (pgeorgi@google.com) gerrit at coreboot.org
Fri Jan 15 16:45:02 CET 2016


Patrick Georgi (pgeorgi at google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/12995

-gerrit

commit 8681767fa33662af5206bcd609975f726e6cf161
Author: Sathya Prakash M R <sathya.prakash.m.r at intel.com>
Date:   Tue Dec 15 22:49:49 2015 +0530

    intel/skylake: Add support for IV feedback loop capture blob
    
    SSM4567 smart speaker needs Current and Voltage sensing to be
    captured and reported to the algorithm.
    This needs 4 CH capture blob.
    
    BUG=chrome-os-partner:48625
    BRANCH=none
    TEST=Built and booted. Verified CBFS locates
         the blob.
    CQ-DEPEND=CL:*242635
    
    Change-Id: Ie13622da9a9a8ce5930d32e52ddaf2e0d4862895
    Signed-off-by: Patrick Georgi <pgeorgi at chromium.org>
    Original-Commit-Id: 06f1a501dcb3fa6102eccdb3e24f9011b7869ab0
    Original-Change-Id: I7b65b7582b619be53544ebbe4b3ea65398d32a34
    Original-Signed-off-by: Sathya Prakash M R <sathya.prakash.m.r at intel.com>
    Original-Reviewed-on: https://chromium-review.googlesource.com/319020
    Original-Reviewed-by: Aaron Durbin <adurbin at chromium.org>
---
 src/soc/intel/skylake/nhlt/Makefile.inc |  5 +++++
 src/soc/intel/skylake/nhlt/ssm4567.c    | 23 +++++++++++++++++++++++
 2 files changed, 28 insertions(+)

diff --git a/src/soc/intel/skylake/nhlt/Makefile.inc b/src/soc/intel/skylake/nhlt/Makefile.inc
index 201dad5..aff182c 100644
--- a/src/soc/intel/skylake/nhlt/Makefile.inc
+++ b/src/soc/intel/skylake/nhlt/Makefile.inc
@@ -13,6 +13,7 @@ DMIC_4CH_48KHZ_32B = dmic-4ch-48khz-32b.bin
 NAU88L25 = nau88l25-2ch-48khz-24b.bin
 MAX98357_RENDER = max98357-render-2ch-48khz-24b.bin
 SSM4567_RENDER = ssm4567-render-2ch-48khz-24b.bin
+SSM4567_CAPTURE = ssm4567-capture-4ch-48khz-32b.bin
 
 cbfs-files-$(CONFIG_NHLT_DMIC_2CH) += $(DMIC_2CH_48KHZ_16B)
 $(DMIC_2CH_48KHZ_16B)-file := $(NHLT_BLOB_PATH)/$(DMIC_2CH_48KHZ_16B)
@@ -41,3 +42,7 @@ $(MAX98357_RENDER)-type := raw
 cbfs-files-$(CONFIG_NHLT_SSM4567) += $(SSM4567_RENDER)
 $(SSM4567_RENDER)-file := $(NHLT_BLOB_PATH)/$(SSM4567_RENDER)
 $(SSM4567_RENDER)-type := raw
+
+cbfs-files-$(CONFIG_NHLT_SSM4567) += $(SSM4567_CAPTURE)
+$(SSM4567_CAPTURE)-file := $(NHLT_BLOB_PATH)/$(SSM4567_CAPTURE)
+$(SSM4567_CAPTURE)-type := raw
diff --git a/src/soc/intel/skylake/nhlt/ssm4567.c b/src/soc/intel/skylake/nhlt/ssm4567.c
index f531e25..9248209 100644
--- a/src/soc/intel/skylake/nhlt/ssm4567.c
+++ b/src/soc/intel/skylake/nhlt/ssm4567.c
@@ -27,6 +27,18 @@ static const struct nhlt_format_config ssm4567_render_cfg[] = {
 	},
 };
 
+/* Capture Blob used for IV feedback for Speaker Protection Algorithm */
+static const struct nhlt_format_config ssm4567_capture_cfg[] = {
+        /* 48 KHz 32-bits per sample. */
+        {
+                .num_channels = 4,
+                .sample_freq_khz = 48,
+                .container_bits_per_sample = 32,
+                .valid_bits_per_sample = 32,
+                .settings_file = "ssm4567-capture-4ch-48khz-32b.bin",
+        },
+};
+
 int nhlt_soc_add_ssm4567(struct nhlt *nhlt, int hwlink)
 {
 	struct nhlt_endpoint *endp;
@@ -42,6 +54,17 @@ int nhlt_soc_add_ssm4567(struct nhlt *nhlt, int hwlink)
 					ARRAY_SIZE(ssm4567_render_cfg)))
 		return -1;
 
+	/* Capture Endpoint for IV Feedback */
+	endp = nhlt_soc_add_endpoint(nhlt, hwlink, AUDIO_DEV_I2S,
+					NHLT_DIR_CAPTURE);
+
+	if (endp == NULL)
+		return -1;
+
+	if (nhlt_endpoint_add_formats(endp, ssm4567_capture_cfg,
+					ARRAY_SIZE(ssm4567_capture_cfg)))
+		return -1;
+
 	nhlt_next_instance(nhlt, NHLT_LINK_SSP);
 
 	return 0;



More information about the coreboot-gerrit mailing list