mb/google/volteer: Disable HDA PCI device when AUDIO=NONE

If there is no installed audio daughter board on volteer then the
HDA driver in the kernel will crash on resume.  In order to prevent
this disable the PCI device when AUDIO=NONE probe match is true.

BUG=b:147462631
TEST=boot on volteer and ensure that the PCI device at 0:1f.3 is gone

Change-Id: I4a436e1b76418030bf635427e490b54a713fdd33
Signed-off-by: Duncan Laurie <dlaurie@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/41217
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Sathyanarayana Nujella <sathyanarayana.nujella@intel.com>
Reviewed-by: Srinidhi N Kaushik <srinidhi.n.kaushik@intel.com>
Reviewed-by: Furquan Shaikh <furquan@google.com>
This commit is contained in:
Duncan Laurie 2020-05-10 11:26:22 -07:00 committed by Duncan Laurie
parent 76f1713ff2
commit f7841d03e2
1 changed files with 5 additions and 0 deletions

View File

@ -7,6 +7,7 @@
#include <baseboard/variants.h> #include <baseboard/variants.h>
#include <ec/google/chromeec/ec.h> #include <ec/google/chromeec/ec.h>
#include <fsp/soc_binding.h> #include <fsp/soc_binding.h>
#include <fw_config.h>
#include <gpio.h> #include <gpio.h>
#include <memory_info.h> #include <memory_info.h>
#include <soc/gpio.h> #include <soc/gpio.h>
@ -26,6 +27,10 @@ void mainboard_memory_init_params(FSPM_UPD *mupd)
}; };
bool half_populated = gpio_get(GPIO_MEM_CH_SEL); bool half_populated = gpio_get(GPIO_MEM_CH_SEL);
/* Disable HDA device if no audio board is present. */
if (fw_config_probe(FW_CONFIG(AUDIO, NONE)))
mem_cfg->PchHdaEnable = 0;
meminit_lpddr4x(mem_cfg, board_cfg, &spd_info, half_populated); meminit_lpddr4x(mem_cfg, board_cfg, &spd_info, half_populated);
} }