[coreboot] USB Support on Apollo Lake

Zoran Stojsavljevic zoran.stojsavljevic at gmail.com
Mon Mar 20 14:11:10 CET 2017


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/
> 32531508095.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/20170320/cbab9541/attachment.html>


More information about the coreboot mailing list