[coreboot] USB Support on Apollo Lake

Gailu Singh gailu96 at gmail.com
Thu Mar 23 13:59:31 CET 2017

Hi Zoran,

Thanks for the detailed inputs. You are right we were using EHCI in BYT and
we used it with grub2 without any issue. If I understood it correctly the
usb 2.0 card I was planning to use over pcie is not going to work as we
can't mix with usb3.0 root hub, so not worth even trying that option.

Would you mind sharing the product details of xHCI 3.0 passive Belkin USB
2.0 bridge so that I can buy and try that. Tried to find on Amazon and
Google but couldn't locate a product matching to this criteria (probably my
poor keywords)

Regarding UARTs, yes there are driver in Linux but not in Grub, so can not
use grub console, linux console works fine. USB to UART converter could  be
an option but USB itself is not working. All my problems end up at USB,
(keyboard, uart, mass storage)

Thanks again for your help and support

On Mon, Mar 20, 2017 at 6:41 PM, Zoran Stojsavljevic <
zoran.stojsavljevic at gmail.com> wrote:

> Hello Gaily,
> Several time here, on Coreboot threads, I wrote the following (regarding
> BYT and post ATOM families skus):
> There are two root hub controllers in BYT: USB 3.0 - xHCI and USB 2.0
> (legacy one) - EHCI. The trick here is that you/nobody could not have them
> both working at the same time. Either you set/select one, or another. Why?
> They are on the different clocking domains. In other words all your USBs
> will hang out either of USB 3.0 root hub, either of USB 2.0 root hub. You
> could NOT mix outside USB ports (to have them hanging out from both root
> hubs mixed).
> To enhance/fix this further, past BYT time, INTEL totally removed from
> ATOM silicon (not only) EHCI legacy USB 2.0 root hub, because of that bug.
> So, since BSW (including APL-I, former BXT-I), there is ONLY USB 3.0 xHCI
> root hub. The (maybe) efficient method is to put on xHCI 3.0 passive Belkin
> USB 2.0 bridge as bypass, maybe this can make this transition smooth. Helps
> with my HSW notebook, since mine notebook USB 3.0 root hub ports do not
> work with my printer USB 2.0 eHCI port, connected straight (with Belkin
> does, but on WIN10 OS).
> About IO mapped UART I have no idea, but I think there should be some
> (virtual?!) UARTs available. Not sure how this design plays out (certainly,
> you should have SW drivers for these for Linux). Have no clue about
> GRUB/GRUB2 implementation.
> You might also try USB to UART physical converter, and see if it is
> recognized by GRUB2. Does work for Linux.
> Zoran
> On Mon, Mar 20, 2017 at 1:01 PM, Gailu Singh <gailu96 at gmail.com> wrote:
>> Hi Werner,
>> Thanks for your detailed clarification. Looks like Intel removing various
>> legacy interfaces and support for alternatives is yet to be developed in
>> grub. No only they removed USB2.0 altogether, they also removed IO mapped
>> UART and we can't get serial console working on this board either with grub.
>> For USB I am making a last attempt to use PCIE USB2.0 card and ordered
>> following from Aliexpress but I have serious doubts if this will work in
>> Grub2. Will post the results once I get the cards delivered.
>> https://www.aliexpress.com/item/Hot-New-Mini-PCI-E-Card-Slot
>> -Expansion-to-USB-2-0-Interface-Adapter-Riser-Card/325315080
>> 95.html?spm=2114.13010608.0.0.KTeUNS
>> Thank you very much once again.
>> On Mon, Mar 20, 2017 at 5:18 PM, Zeh, Werner <werner.zeh at siemens.com>
>> wrote:
>>> Hi Gailu.
>>> I don't think that one can configure the xHCI to behave like an EHCI so
>>> that GRUB2 can natively support it.
>>> xHCI has different version number in the PCI space which will prevent
>>> the EHCI driver in GRUB2 to use this controller at all.
>>> Not speaking about the complete different register set and operational
>>> model.
>>> What in turn should work is that "some of the BIOS" (which in
>>> coreboot-context is the payload like SeaBIOS) will handle all the
>>> xHCI stuff and provide a legacy interface to the OS (and here GRUB acts
>>> as an OS) to just read mass storage devices using interrupts.
>>> Beside that you are lost with GRUB2 and xHCI, sorry!
>>> Werner
>>> >Hi Experts,
>>> >
>>> >Does coreboot support USB port initialization in legacy mode on Apollo
>>> Lake as some of the BIOS does so that grub or other payloads can use it as
>>> USB2.0?
>>> >
>>> >There is no USB2.0 port on this board and Grub2 doesn't support xhci so
>>> we seems to be reaching to a dead end.
>>> >
>>> >I am trying to see if the dual role USB ports can be initialized in
>>> coreboot/fsp so that they can act as USB2.0 for payloads.
>>> >
>>> >Thanks
>> --
>> coreboot mailing list: coreboot at coreboot.org
>> https://www.coreboot.org/mailman/listinfo/coreboot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20170323/aaf18e50/attachment.html>

More information about the coreboot mailing list