UPSTREAM: soc/intel/apl: disable NPK device in devicetree.cb

Allows to enable/disable NPK device from the device tree:

    device pci 00.2 off end # NPK

Tested on Kontron come-mal10.

BUG=none
BRANCH=none
TEST=none

Change-Id: I4f99198baf7063ef661d4eab385cf9e47f028b97
Signed-off-by: Patrick Georgi <pgeorgi@google.com>
Original-Commit-Id: 7b98e3ebfc3ac12972ba36418f5de7595cc2fb8f
Original-Change-Id: I910245d4ff35a6a0a9059fb6911d4426cdb999b6
Original-Signed-off-by: Maxim Polyakov <max.senia.poliak@gmail.com>
Original-Reviewed-on: https://review.coreboot.org/c/coreboot/+/38814
Original-Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Original-Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Original-Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/coreboot/+/2084591
Reviewed-by: Patrick Georgi <pgeorgi@chromium.org>
Commit-Queue: Patrick Georgi <pgeorgi@chromium.org>
Tested-by: Patrick Georgi <pgeorgi@chromium.org>
diff --git a/src/soc/intel/apollolake/chip.c b/src/soc/intel/apollolake/chip.c
index 03e6dbd..37fdfff 100644
--- a/src/soc/intel/apollolake/chip.c
+++ b/src/soc/intel/apollolake/chip.c
@@ -425,6 +425,12 @@
 static void disable_dev(struct device *dev, FSP_S_CONFIG *silconfig)
 {
 	switch (dev->path.pci.devfn) {
+	case PCH_DEVFN_NPK:
+		/*
+		 * Disable this device in the parse_devicetree_setting() function
+		 * in romstage.c
+		 */
+		break;
 	case PCH_DEVFN_ISH:
 		silconfig->IshEnable = 0;
 		break;
diff --git a/src/soc/intel/apollolake/romstage.c b/src/soc/intel/apollolake/romstage.c
index 13adeee..05cd0db 100644
--- a/src/soc/intel/apollolake/romstage.c
+++ b/src/soc/intel/apollolake/romstage.c
@@ -291,12 +291,12 @@
 
 static void parse_devicetree_setting(FSPM_UPD *m_upd)
 {
-#if CONFIG(SOC_INTEL_GLK)
 	DEVTREE_CONST struct device *dev = pcidev_path_on_root(PCH_DEVFN_NPK);
-	if (!dev)
-		return;
 
-	m_upd->FspmConfig.TraceHubEn = dev->enabled;
+#if CONFIG(SOC_INTEL_GLK)
+	m_upd->FspmConfig.TraceHubEn = dev ? dev->enabled : 0;
+#else
+	m_upd->FspmConfig.NpkEn = dev ? dev->enabled : 0;
 #endif
 }