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>
diff --git a/src/soc/intel/meteorlake/chip.c b/src/soc/intel/meteorlake/chip.c
index a1b1968..be957cc 100644
--- a/src/soc/intel/meteorlake/chip.c
+++ b/src/soc/intel/meteorlake/chip.c
@@ -151,6 +151,18 @@
 	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 @@
 	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();