<p>Furquan Shaikh has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/28806">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">soc/intel/.../hda: Add and use config for initialization of HDA codecs<br><br>Config option SOC_INTEL_COMMON_BLOCK_HDA is currently used for<br>initialization of HDA codecs only. This prevents adding of any static<br>devices under the HDA device node. However, there can be boards which<br>want to add devices under HDA node without performing any codec<br>initialization using the HDA. This change:<br>1. Adds a new config option SOC_INTEL_COMMON_BLOCK_HDA_VERB that can<br>be set explicitly by the boards that want to perform code<br>initialization.<br>2. Uses newly added config option is used to guard the initialization<br>functions for the codec. Rest of the device operations can still be<br>used by all the other boards without having to use HDA codec<br>initialization.<br>3. Selects the newly added option SOC_INTEL_COMMON_BLOCK_HDA_VERB in<br>kblrvp which was the only board enabling HDA codec initialization<br>using common block code.<br>4. Original config SOC_INTEL_COMMON_BLOCK_HDA is selected for skylake<br>SoC.<br><br>Above changes need to be bundled and pushed in as a single change in<br>order to avoid breaking existing users.<br><br>BUG=b:112888584<br><br>Change-Id: Ie6f39c13a801833b283120a2d4b6f6175688999c<br>Signed-off-by: Furquan Shaikh <furquan@google.com><br>---<br>M src/mainboard/intel/kblrvp/Kconfig<br>M src/soc/intel/common/block/hda/Kconfig<br>M src/soc/intel/common/block/hda/hda.c<br>M src/soc/intel/skylake/Kconfig<br>4 files changed, 12 insertions(+), 1 deletion(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/coreboot refs/changes/06/28806/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/mainboard/intel/kblrvp/Kconfig b/src/mainboard/intel/kblrvp/Kconfig</span><br><span>index aed8297..bf17c4b 100644</span><br><span>--- a/src/mainboard/intel/kblrvp/Kconfig</span><br><span>+++ b/src/mainboard/intel/kblrvp/Kconfig</span><br><span>@@ -8,7 +8,7 @@</span><br><span>         select HAVE_ACPI_TABLES</span><br><span>      select HAVE_OPTION_TABLE</span><br><span>     select HAVE_SMI_HANDLER</span><br><span style="color: hsl(0, 100%, 40%);">- select SOC_INTEL_COMMON_BLOCK_HDA if BOARD_INTEL_KBLRVP3 || BOARD_INTEL_KBLRVP7</span><br><span style="color: hsl(120, 100%, 40%);">+       select SOC_INTEL_COMMON_BLOCK_HDA_VERB if BOARD_INTEL_KBLRVP3 || BOARD_INTEL_KBLRVP7</span><br><span>         select SOC_INTEL_SKYLAKE</span><br><span>     select SKYLAKE_SOC_PCH_H if BOARD_INTEL_KBLRVP8</span><br><span>      select MAINBOARD_USES_FSP2_0</span><br><span>diff --git a/src/soc/intel/common/block/hda/Kconfig b/src/soc/intel/common/block/hda/Kconfig</span><br><span>index ca415bc..a2209ab 100644</span><br><span>--- a/src/soc/intel/common/block/hda/Kconfig</span><br><span>+++ b/src/soc/intel/common/block/hda/Kconfig</span><br><span>@@ -2,3 +2,9 @@</span><br><span>  bool</span><br><span>         help</span><br><span>           Intel Processor common High Definition Audio driver support</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+config SOC_INTEL_COMMON_BLOCK_HDA_VERB</span><br><span style="color: hsl(120, 100%, 40%);">+       bool</span><br><span style="color: hsl(120, 100%, 40%);">+  depends on SOC_INTEL_COMMON_BLOCK_HDA</span><br><span style="color: hsl(120, 100%, 40%);">+ help</span><br><span style="color: hsl(120, 100%, 40%);">+    Enable initialization of HDA codecs.</span><br><span>diff --git a/src/soc/intel/common/block/hda/hda.c b/src/soc/intel/common/block/hda/hda.c</span><br><span>index 3f87fcc..97efba2 100644</span><br><span>--- a/src/soc/intel/common/block/hda/hda.c</span><br><span>+++ b/src/soc/intel/common/block/hda/hda.c</span><br><span>@@ -22,6 +22,7 @@</span><br><span> #include <soc/intel/common/hda_verb.h></span><br><span> #include <soc/ramstage.h></span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+#if IS_ENABLED(CONFIG_SOC_INTEL_COMMON_BLOCK_HDA_VERB)</span><br><span> static void codecs_init(uint8_t *base, u32 codec_mask)</span><br><span> {</span><br><span>        int i;</span><br><span>@@ -57,12 +58,15 @@</span><br><span>                 codecs_init(base, codec_mask);</span><br><span>       }</span><br><span> }</span><br><span style="color: hsl(120, 100%, 40%);">+#endif</span><br><span> </span><br><span> static struct device_operations hda_ops = {</span><br><span>    .read_resources         = &pci_dev_read_resources,</span><br><span>       .set_resources          = &pci_dev_set_resources,</span><br><span>        .enable_resources       = &pci_dev_enable_resources,</span><br><span style="color: hsl(120, 100%, 40%);">+#if IS_ENABLED(CONFIG_SOC_INTEL_COMMON_BLOCK_HDA_VERB)</span><br><span>     .init                   = &hda_init,</span><br><span style="color: hsl(120, 100%, 40%);">+#endif</span><br><span>     .ops_pci                = &pci_dev_ops_pci,</span><br><span> };</span><br><span> </span><br><span>diff --git a/src/soc/intel/skylake/Kconfig b/src/soc/intel/skylake/Kconfig</span><br><span>index 6a5dc07..e368dec 100644</span><br><span>--- a/src/soc/intel/skylake/Kconfig</span><br><span>+++ b/src/soc/intel/skylake/Kconfig</span><br><span>@@ -61,6 +61,7 @@</span><br><span>       select SOC_INTEL_COMMON_BLOCK_GPIO_LEGACY_MACROS</span><br><span>     select SOC_INTEL_COMMON_BLOCK_GPIO_PADCFG_PADTOL</span><br><span>     select SOC_INTEL_COMMON_BLOCK_GSPI</span><br><span style="color: hsl(120, 100%, 40%);">+    select SOC_INTEL_COMMON_BLOCK_HDA</span><br><span>    select SOC_INTEL_COMMON_BLOCK_SA</span><br><span>     select SOC_INTEL_COMMON_BLOCK_SGX</span><br><span>    select SOC_INTEL_COMMON_BLOCK_SMM</span><br><span></span><br></pre><p>To view, visit <a href="https://review.coreboot.org/28806">change 28806</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://review.coreboot.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://review.coreboot.org/28806"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: coreboot </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: Ie6f39c13a801833b283120a2d4b6f6175688999c </div>
<div style="display:none"> Gerrit-Change-Number: 28806 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Furquan Shaikh <furquan@google.com> </div>