From 429c304725e819df02db9ac69179efe7daa1eb49 Mon Sep 17 00:00:00 2001 From: Kane Chen Date: Wed, 25 Oct 2023 15:25:16 +0800 Subject: 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 Reviewed-on: https://review.coreboot.org/c/coreboot/+/78648 Tested-by: build bot (Jenkins) Reviewed-by: Subrata Banik --- src/soc/intel/meteorlake/Kconfig | 1 + src/soc/intel/meteorlake/chip.c | 15 +++++++++++++++ 2 files changed, 16 insertions(+) (limited to 'src/soc') diff --git a/src/soc/intel/meteorlake/Kconfig b/src/soc/intel/meteorlake/Kconfig index 05d7f70256..a2f2706145 100644 --- a/src/soc/intel/meteorlake/Kconfig +++ b/src/soc/intel/meteorlake/Kconfig @@ -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. diff --git a/src/soc/intel/meteorlake/chip.c b/src/soc/intel/meteorlake/chip.c index a1b19682af..be957cc51f 100644 --- a/src/soc/intel/meteorlake/chip.c +++ b/src/soc/intel/meteorlake/chip.c @@ -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(); -- cgit v1.2.3