Alexandru Gagniuc (alexandrux.gagniuc@intel.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/15064
-gerrit
commit 385fcb0b36462f9fab537ef4e480d8fb3ed59fc1 Author: Alexandru Gagniuc alexandrux.gagniuc@intel.com Date: Wed May 4 17:10:27 2016 -0700
soc/apollolake: Force USB Port 0 to host mode (disable OTG)
Due to a hardware bug, automatic OTG negiotiaion does not work, and USB port 0 is unusable. The workaround is to disable OTG mode, which forces the port into host mode. In host mode, it operates normally via the XHCI interface.
Change-Id: I983ebcc42647d224d1e4cde46e7a74b0474f04d7 Signed-off-by: Alexandru Gagniuc alexandrux.gagniuc@intel.com --- src/soc/intel/apollolake/chip.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/src/soc/intel/apollolake/chip.c b/src/soc/intel/apollolake/chip.c index d7c61c1..248182b 100644 --- a/src/soc/intel/apollolake/chip.c +++ b/src/soc/intel/apollolake/chip.c @@ -101,6 +101,9 @@ void platform_fsp_silicon_init_params_cb(struct FSPS_UPD *silupd) silconfig->GraphicsConfigPtr = (uintptr_t)vbt;
struct device *dev = dev_find_slot(NB_BUS, NB_DEVFN); + /* Force USB_P0 to host mode. (hardware bug: OTG negotiation fails). */ + silconfig->UsbOtg = 0; + if (!dev || !dev->chip_info) { printk(BIOS_ERR, "BUG! Could not find SOC devicetree config\n"); return;