Attention is currently required from: Avi Uday, Jayvik Desai, Kapil Porwal, Pranava Y N.
Subrata Banik has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/87463?usp=email )
Change subject: mainboard/google/fatcat/francka: Conditional HDA init ......................................................................
mainboard/google/fatcat/francka: Conditional HDA init
This commit implements `mainboard_hda_init()` for the Google Francka mainboard variant. This overrides the default weak HDA common initialization.
Initialization of the High Definition Audio (HDA) controller, managed by `azalia_audio_init()` (which handles HDA verb table loading), is now conditional. It proceeds only if the firmware config `FW_CONFIG(AUDIO, AUDIO_ALC256M_CG_HDA)` is set. This targets the ALC256M-CG HDA codec.
This change ensures that HDA verb tables are loaded only when the ALC256M-CG HDA codec is actively configured for the Francka variant. Crucially, this prevents attempts to incorrectly load HDA verbs for other audio interfaces, like SoundWire (SNDW), which might be present in different Francka hardware configurations.
The headers `device/azalia_device.h` and `intelblocks/hda.h` were added to support this HDA initialization logic.
BUG=b:ENTER_FRANCKA_BUG_ID_HERE TEST=Verified HDA verb table loading is skipped on Francka platforms when configured with non-HDA audio codecs (e.g., SNDW), and proceeds as expected when ALC256M-CG HDA is configured
Change-Id: Idbc506c1ad180c7e8ecdec51c3491e6f0518204c Signed-off-by: Subrata Banik subratabanik@google.com --- M src/mainboard/google/fatcat/variants/francka/variant.c 1 file changed, 8 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/63/87463/1
diff --git a/src/mainboard/google/fatcat/variants/francka/variant.c b/src/mainboard/google/fatcat/variants/francka/variant.c index 0943ee1..85b2b1a 100644 --- a/src/mainboard/google/fatcat/variants/francka/variant.c +++ b/src/mainboard/google/fatcat/variants/francka/variant.c @@ -1,8 +1,10 @@ /* SPDX-License-Identifier: GPL-2.0-only */
#include <baseboard/variants.h> +#include <device/azalia_device.h> #include <fsp/api.h> #include <fw_config.h> +#include <intelblocks/hda.h>
void variant_update_soc_memory_init_params(FSPM_UPD *memupd) { @@ -15,3 +17,9 @@ m_cfg->PchHdaSdiEnable[1] = false; } } + +void mainboard_hda_init(struct device *dev) +{ + if (fw_config_probe(FW_CONFIG(AUDIO, AUDIO_ALC256M_CG_HDA))) + azalia_audio_init(dev); +}