soc/intel/pantherlake: Program HDA SVID/SSID

Retrieve SVID/SSID via devicetree and program to HDA device

BUG=b/458444964, b/454824561
TEST="lspci -s 00:1f.3 -x and check value in offset 0x2c-0x2f"

Change-Id: I6bf4b5f2cbce69429daabce83ab11c13272194f4
Signed-off-by: Simon Yang <simon1.yang@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/89983
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Derek Huang <derekhuang@google.com>
This commit is contained in:
Simon Yang 2025-11-10 19:36:07 +08:00 committed by Matt DeVillier
commit 8851b5b0e7

View file

@ -196,6 +196,15 @@ static void fill_fspm_audio_params(FSP_M_CONFIG *m_cfg,
memset(m_cfg->PchHdaAudioLinkDmicEnable, 0, sizeof(m_cfg->PchHdaAudioLinkDmicEnable));
memset(m_cfg->PchHdaAudioLinkSspEnable, 0, sizeof(m_cfg->PchHdaAudioLinkSspEnable));
memset(m_cfg->PchHdaAudioLinkSndwEnable, 0, sizeof(m_cfg->PchHdaAudioLinkSndwEnable));
/*
* Get HDA Subsystem Vendor ID and Device ID from devicetree
* and set it in FSPM UPD.
*/
const struct device_path path = { .type = DEVICE_PATH_PCI, .pci.devfn = PCI_DEVFN_HDA };
const struct device *dev = find_dev_path(pci_root_bus(), &path);
if (is_dev_enabled(dev) && dev->subsystem_vendor && dev->subsystem_device)
m_cfg->PchHdaSubSystemIds = dev->subsystem_vendor | (dev->subsystem_device << 16);
}
static void pcie_rp_init(FSP_M_CONFIG *m_cfg, uint32_t en_mask,