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 991bc81754a0ffc7a958fc36e6a45077d7cc69c5 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 negotiaion 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 | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/src/soc/intel/apollolake/chip.c b/src/soc/intel/apollolake/chip.c index d7c61c1..2ba92b3 100644 --- a/src/soc/intel/apollolake/chip.c +++ b/src/soc/intel/apollolake/chip.c @@ -99,6 +99,8 @@ void platform_fsp_silicon_init_params_cb(struct FSPS_UPD *silupd)
/* Load VBT before devicetree-specific config. */ silconfig->GraphicsConfigPtr = (uintptr_t)vbt; + /* Force USB_P0 to host mode. (hardware bug: OTG negotiation fails). */ + silconfig->UsbOtg = 0;
struct device *dev = dev_find_slot(NB_BUS, NB_DEVFN); if (!dev || !dev->chip_info) {