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@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@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@coreboot.org https://www.coreboot.org/mailman/listinfo/coreboot