<div dir="ltr">Hello Peter,<div><br></div><div>You answered to Gailu instead of me, I do not object, just The Opposite! </div><div><br></div><div>I'll just add my thoughts to your reply (in <b><i><u><font color="#ff0000">RED</font></u></i></b>).</div><div><br></div><div>Zoran</div><div>_______</div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Mar 23, 2017 at 2:46 PM, Peter Stuge <span dir="ltr"><<a href="mailto:peter@stuge.se" target="_blank">peter@stuge.se</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span>Zoran Stojsavljevic wrote:<br>
> since BSW (including APL-I, former BXT-I), there is ONLY USB 3.0 xHCI root<br>
> hub.<br>
<br>
</span>It's too bad that EHCI has been removed.<br></blockquote><div><br></div><div><b><i><u><font color="#ff0000">Clocking tree domains (their proper use and I/F) remain mystery for INTEL HW designers. Why? :-(</font></u></i></b></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
The xHCI register model is broken in that it requires dedicated<br>
hardware (registers) for each connected USB device, and Intel's xHCI<br>
implementation included hardware registers for only 32 connected<br>
devices, thus actually not being compliant with the basic requirement<br>
of up to 127 devices.<br></blockquote><div><br></div><div><b><i><u><font color="#ff0000">Excellent. I have learned something new. Whole Coreboot community did, I hope. Thank you for that, Peter.</font></u></i></b></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span>
> The (maybe) efficient method is to put on xHCI 3.0 passive Belkin USB<br>
> 2.0 bridge as bypass, maybe this can make this transition smooth.<br>
<br>
</span>That can unfortunately not work.<br></blockquote><div><br></div><div><b><i><u><font color="#ff0000">I also think this is not appropriate way to solve the problem with APL-I Coreboot USB connectivity. Only for OS USB drivers' capabilities, as I found fixing my problem with USB printer on WIN10 64 Pro.</font></u></i></b></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
The root *hub* is actually not a problem, but as Werner pointed to<br>
it's the xHCI register and operational model, which is incompatible<br>
with that of EHCI.<br>
<br>
xHCI means (completely) different hardware than EHCI.<br></blockquote><div><br></div><div><b><i><u><font color="#ff0000">Agreed.</font></u></i></b></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Only the ports on the user side of an xHCI host controller are<br>
backwards compatible, not the interface on the CPU side.<br></blockquote><div><br></div><div><b><i><u><font color="#ff0000">Again, I have learned very new stuff. I Hope, Coreboot community learned this too! Priceless. :-)</font></u></i></b></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
In fact that's why the name changed. The HCI part of EHCI and xHCI<br>
stands for Host Controller Interface, ie. the CPU side of the USB<br>
controller.<br></blockquote><div><br></div><div><b><i><u><font color="#ff0000">Well... Excellent point again! :thumb up:</font></u></i></b></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span>
Gailu Singh wrote:<br>
> If I understood it correctly the usb 2.0 card I was planning to use<br>
> over pcie is not going to work as we can't mix with usb3.0 root<br>
> hub, so not worth even trying that option.<br>
<br>
</span>Not correct. An additional EHCI host controller has nothing to do<br>
with any host controller built-into CPU, chipset or SoC.</blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
I think your additional EHCI HC will work fine, as long as the EHCI-<br>
supporting software (I suppose GRUB 2) discovers and uses that HC<br>
instead of trying to use the Intel xHCI one. I do not expect any<br>
problem here, specifically because xHCI even appears different from<br>
EHCI on the PCI bus. It should just work.<br></blockquote><div><br></div><div><div><div><span style="font-size:12.8px"><b><i><u><font color="#ff0000">Gailu, Peter is again on the right path!</font></u></i></b></span></div><div><span style="font-size:12.8px"><b><i><u><font color="#ff0000"><br></font></u></i></b></span></div><div><span style="font-size:12.8px"><b><i><u><font color="#ff0000">Gailu, as Re: to your thoughts: I did not say that. I said the following: In BYT, you have some BSP option to fix: either you'll use root hub xHCI USB 3.0, either root hub EHCI USB 2.0 . You could NOT mix these two (as per above Peter's explanation)</font></u></i></b></span></div><div><span style="font-size:12.8px"><b><i><u><font color="#ff0000"><br></font></u></i></b></span></div><div><span style="font-size:12.8px"><b><i><u><font color="#ff0000">In APL-I, there is NO option to use root hub EHCI USB 2.0, since this one is scrapped from silicon. You can use ONLY root hub xHCI USB 3.0. So, maybe, after all, if there is an option in Coreboot (the appropriate driver for PCIe root EHCI USB 2.0 hub card), than your approach can very well work. :-)</font></u></i></b></span></div></div></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
> Would you mind sharing the product details of xHCI 3.0 passive Belkin USB<br>
<span>> 2.0 bridge so that I can buy and try that.<br>
<br>
</span>This however can not work, again because xHCI hardware is per<br>
definition not supported by EHCI-supporting software, regardless of<br>
what you connect to a USB port on the other end of the controller.<br></blockquote><div><br></div><div><b><i><u><font color="#ff0000">I second this! </font></u></i></b><b><i><u><font color="#ff0000">Kudos all to Peter Stuge! </font></u></i></b><b><i><u><font color="#ff0000">Thank you, Peter!</font></u></i></b></div><div><br></div></div></div></div>