soc/intel/meteorlake: Consolidate settings for enabling tracehub

To get tracehub working, it requires few settings such as
SOC_INTEL_METEORLAKE_DEBUG_CONSENT=2 and enable tracehub device in
dev tree. This commit binds all tracehub related settings to Kconfig,
so that users only need to enable SOC_INTEL_COMMON_BLOCK_TRACEHUB

TEST=boot on screebo and test tracehub device exists and working

Change-Id: Ie830fe2fd38e3456497bea37fe42ca60d26ca305
Signed-off-by: Kane Chen <kane.chen@intel.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/78648
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
This commit is contained in:
Kane Chen 2023-10-25 15:25:16 +08:00 committed by Martin L Roth
parent 22e0ffabeb
commit 429c304725
2 changed files with 16 additions and 0 deletions

View File

@ -353,6 +353,7 @@ config SOC_INTEL_METEORLAKE_DEBUG_CONSENT
# USB DBC is more common for developers so make this default to 6 if
# SOC_INTEL_DEBUG_CONSENT=y
default 6 if SOC_INTEL_DEBUG_CONSENT
default 2 if SOC_INTEL_COMMON_BLOCK_TRACEHUB
default 0
help
This is to control debug interface on SOC.

View File

@ -151,6 +151,18 @@ static void soc_fill_gpio_pm_configuration(void)
gpio_pm_configure(value, TOTAL_GPIO_COMM);
}
/* Enable tracehub in device tree */
static void soc_enable_tracehub(void)
{
struct device *dev;
dev = pcidev_path_on_root(PCI_DEVFN_NPK);
if (dev) {
dev->enabled = 1;
printk(BIOS_DEBUG, "Tracehub is enabled.\n");
}
}
void soc_init_pre_device(void *chip_info)
{
config_t *config = config_of_soc();
@ -159,6 +171,9 @@ void soc_init_pre_device(void *chip_info)
config->tbt_authentication = ioe_p2sb_sbi_read(PID_IOM,
IOM_CSME_IMR_TBT_STATUS) & TBT_VALID_AUTHENTICATION;
if (CONFIG(SOC_INTEL_COMMON_BLOCK_TRACEHUB))
soc_enable_tracehub();
/* Perform silicon specific init. */
fsp_silicon_init();