Duncan Laurie has uploaded this change for review. ( https://review.coreboot.org/25364
Change subject: soc/intel/apollolake: Limit xDCI feature when VBOOT is enabled
......................................................................
soc/intel/apollolake: Limit xDCI feature when VBOOT is enabled
Use the common xDCI function to check if the controller is allowed
in the current mode before enabling it. Otherwise, disable the
PCI device if it has been enabled in devicetree.
Change-Id: I5aea15511c52d1191babf551feb237f4144683e4
Signed-off-by: Duncan Laurie <dlaurie(a)chromium.org>
---
M src/soc/intel/apollolake/chip.c
M src/soc/intel/apollolake/xdci.c
2 files changed, 8 insertions(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/64/25364/1
diff --git a/src/soc/intel/apollolake/chip.c b/src/soc/intel/apollolake/chip.c
index cac2f11..1dd6daf 100644
--- a/src/soc/intel/apollolake/chip.c
+++ b/src/soc/intel/apollolake/chip.c
@@ -30,6 +30,7 @@
#include <intelblocks/fast_spi.h>
#include <intelblocks/p2sb.h>
#include <intelblocks/msr.h>
+#include <intelblocks/xdci.h>
#include <fsp/api.h>
#include <fsp/util.h>
#include <intelblocks/cpulib.h>
@@ -585,6 +586,12 @@
glk_fsp_silicon_init_params_cb(cfg, silconfig);
else
apl_fsp_silicon_init_params_cb(cfg, silconfig);
+
+ /* Enable xDCI controller if enabled in devicetree and allowed */
+ dev = dev_find_slot(0, PCH_DEVFN_XDCI);
+ if (!xdci_can_enable())
+ dev->enabled = 0;
+ silconfig->UsbOtg = dev->enabled;
}
struct chip_operations soc_intel_apollolake_ops = {
diff --git a/src/soc/intel/apollolake/xdci.c b/src/soc/intel/apollolake/xdci.c
index 4c3047c..07207b3 100644
--- a/src/soc/intel/apollolake/xdci.c
+++ b/src/soc/intel/apollolake/xdci.c
@@ -54,7 +54,7 @@
* enabled. If it's disabled assume the switch was already done
* in FSP.
*/
- if (!dev->enabled || !xdci_dev->enabled)
+ if (!dev->enabled || !xdci_dev->enabled || !xdci_can_enable())
return;
printk(BIOS_INFO, "Putting port 0 into host mode.\n");
--
To view, visit https://review.coreboot.org/25364
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I5aea15511c52d1191babf551feb237f4144683e4
Gerrit-Change-Number: 25364
Gerrit-PatchSet: 1
Gerrit-Owner: Duncan Laurie <dlaurie(a)chromium.org>
Furquan Shaikh has uploaded this change for review. ( https://review.coreboot.org/25362
Change subject: soc/intel/skylake: Do a heci_reset before reading ME firmware version
......................................................................
soc/intel/skylake: Do a heci_reset before reading ME firmware version
This change adds a call to heci_reset before attempting to read
ME firmware version. This is important to ensure that both ME and BIOS
are in sync.
BUG=b:76167737
BRANCH=poppy
TEST=Verfied that ME firmware version read does not fail on first boot
after power failure (i.e. removing battery and AC power).
Change-Id: Ib6b39c398d2e1177b087352a4acb8bcf5a9897d6
Signed-off-by: Furquan Shaikh <furquan(a)google.com>
---
M src/soc/intel/skylake/me.c
1 file changed, 6 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/62/25362/1
diff --git a/src/soc/intel/skylake/me.c b/src/soc/intel/skylake/me.c
index 67d7bc0..9a721bc 100644
--- a/src/soc/intel/skylake/me.c
+++ b/src/soc/intel/skylake/me.c
@@ -254,6 +254,12 @@
(hfs.fields.operation_mode != ME_HFS_MODE_NORMAL))
goto failed;
+ /*
+ * It is important to do a heci_reset to ensure BIOS and ME are in sync
+ * before reading firmware version.
+ */
+ heci_reset();
+
if (!heci_send(&fw_ver_msg, sizeof(fw_ver_msg), BIOS_HOST_ADD,
HECI_MKHI_ADD))
goto failed;
--
To view, visit https://review.coreboot.org/25362
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib6b39c398d2e1177b087352a4acb8bcf5a9897d6
Gerrit-Change-Number: 25362
Gerrit-PatchSet: 1
Gerrit-Owner: Furquan Shaikh <furquan(a)google.com>