From mboxrd@z Thu Jan 1 00:00:00 1970 From: Aaron Williams Date: Thu, 17 Dec 2015 01:12:08 -0800 Subject: [U-Boot] Problems with USB 3 hubs Message-ID: <56727C68.6090801@caviumnetworks.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi all, I maintain U-Boot for the Cavium Octeon series of 64-bit MIPS processors and have been experiencing problems with USB 3 hubs with XHCI. If I plug in a USB 3 thumb drive into a USB 3 hub it is not seen. After fixing numerous endian issues USB 3 thumb drives are fully supported via XHCI as long as there is no USB hub in the path. Delving into the XHCI and USB hub code it appears that there is no proper support for USB 3 hubs which have a number of differences from USB 2. Is any work going on in this area? For example, the hub descriptor format has changed as well as the BOS descriptor. I'm looking at the Linux XHCI and hub code and see a lot of USB 3 changes not present in U-Boot. I have been backporting a lot of the support to our current bootloader code base which is based on the 7/2013 release. I might add that I found a lot of issues in the USB code, especially XHCI that are endian related since our Octeon processors are running in big endian mode, plus the fact that DMA addresses are not the same as pointer addresses, plus the USB code is not 64-bit friendly. While I can gladly share my code and changes, we currently are not using the latest release, nor will I have time to upgrade to it for at least several months due to too many other projects on my plate (it doesn't help matters that we don't use git internally for U-Boot). At some point I would love to get our code base merged in but this will be a significant effort due to the sheer amount of code involved. -Aaron -- Aaron Williams Software Engineer Cavium, Inc. (408) 943-7198 (510) 789-8988 (cell)