From: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
To: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>,
barebox@lists.infradead.org
Subject: Re: [PATCH 0/6] Minor USB fixes and xHCI driver
Date: Thu, 24 Jul 2014 21:11:13 +0200 [thread overview]
Message-ID: <53D15A51.1070101@gmail.com> (raw)
In-Reply-To: <1406208526-24261-1-git-send-email-sebastian.hesselbarth@gmail.com>
On 07/24/2014 03:28 PM, Sebastian Hesselbarth wrote:
> This patch set adds initial support for xHCI host controllers either
> as platform_device or PCI attached device. Compared to EHCI, the
> xHCI added even more SW stuff around the host controller interface
> we have to deal with. From a topology point-of-view each xHCI HC
> represents two virtual Root Hubs, one for USB 3.0 and one for USB
> 2.0 with TT.
>
> The xHCI driver currently only supports virtual USB 2.0 ports of the
> xHCI controller. If a USB 3.0 device is used, it has to be connected
> with a USB 2.0 cable, i.e. no SuperSpeed cable. Also, I haven't been
> able to test any USB 1.1 devices, yet. Anyway, I plan to have a look
> at both USB 1.1 and USB 3.0 but still I consider the driver in a
> quite good shape to be released.
Just an update on device support: I fixed the driver to be able to
talk to a USB 1.1 FS thumb drive. It was related with the initioal
assumption that MaxPacketSize0=64, but on that particular FS device
it must be dropped down to 8 after reading the descriptor the first
time. The corresponding check was missing, so it now works for FS,
too.
I also tested the USB 3.0 device again, now with SS. I had no luck
up to now. If you know about xHCI, the port goes into Compliance
Mode. A quick tweak to issue a warm reset of the port does not
properly succeed.
PORTSC bits change correctly after warm reset, i.e. it reports CSC,
but does not come out of the reset state.
Anyway, while looking at the usb3 port handling, I think I'll drop
the fake separation into USB 2.0 and USB 3.0 Root Hub. Instead a
single Hub with all virtual available ports should also work.
> I successfully tested the driver on Marvell Armada 370 Mirabox
> (PCI xHCI) with USB 2.0 thumbdrives and a USB 3.0 docking station
> using above cable workaround.
>
> The first three patches of this series are fixes not directly
> related with xHCI driver itself and can be picked independent of
> the last two patches.
>
> Patch 1 fixes a missing list_del for removed usb devices, Patch 2
> introduces dev_count to separate usb device indexing from detected
> number of devices. Patch 3 imports min3() from Linux and makes
> EHCI HCD use it.
You may have noticed that I missed (real) Patch 4 here:
Import {lower,upper}_32_bits helpers.
Sebastian
> Patch 4 introduces mentioned xHCI HCD and Root Hub driver, also
> it provides platform_device registration for xHCI IP. Patch 5
> adds a PCI device driver for xHCI controllers.
>
> Sebastian
>
> Sebastian Hesselbarth (6):
> USB: Fix stale usb devices in usb_device_list
> USB: Count detected USB devices independent of dev_index
> USB: EHCI: use min3 from Linux
> include: import {lower,upper}_32_bits helpers
> USB: host: add xHCI HCD, Hub, and platform driver
> USB: host: add xHCI PCI driver
>
> drivers/usb/core/usb.c | 6 +-
> drivers/usb/host/Kconfig | 18 +
> drivers/usb/host/Makefile | 2 +
> drivers/usb/host/ehci-hcd.c | 12 +-
> drivers/usb/host/xhci-hcd.c | 1251 +++++++++++++++++++++++++++++++++++++++++
> drivers/usb/host/xhci-hub.c | 699 +++++++++++++++++++++++
> drivers/usb/host/xhci-pci.c | 45 ++
> drivers/usb/host/xhci.h | 1284 +++++++++++++++++++++++++++++++++++++++++++
> include/common.h | 16 +
> include/linux/kernel.h | 18 +
> include/usb/xhci.h | 33 ++
> 11 files changed, 3372 insertions(+), 12 deletions(-)
> create mode 100644 drivers/usb/host/xhci-hcd.c
> create mode 100644 drivers/usb/host/xhci-hub.c
> create mode 100644 drivers/usb/host/xhci-pci.c
> create mode 100644 drivers/usb/host/xhci.h
> create mode 100644 include/usb/xhci.h
>
> ---
> To: Sascha Hauer <s.hauer@pengutronix.de>
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Cc: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
> Cc: barebox@lists.infradead.org
>
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
next prev parent reply other threads:[~2014-07-24 19:11 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-24 13:28 Sebastian Hesselbarth
2014-07-24 13:28 ` [PATCH 1/6] USB: Fix stale usb devices in usb_device_list Sebastian Hesselbarth
2014-07-24 16:09 ` Sebastian Hesselbarth
2014-07-24 18:51 ` Sebastian Hesselbarth
2014-07-24 13:28 ` [PATCH 2/6] USB: Count detected USB devices independent of dev_index Sebastian Hesselbarth
2014-07-24 13:28 ` [PATCH 3/6] USB: EHCI: use min3 from Linux Sebastian Hesselbarth
2014-07-24 13:28 ` [PATCH 4/6] include: import {lower,upper}_32_bits helpers Sebastian Hesselbarth
2014-07-24 13:28 ` [PATCH 5/6] USB: host: add xHCI HCD, Hub, and platform driver Sebastian Hesselbarth
2014-07-24 13:46 ` Sebastian Hesselbarth
2014-07-24 13:28 ` [PATCH 6/6] USB: host: add xHCI PCI driver Sebastian Hesselbarth
2014-07-24 19:11 ` Sebastian Hesselbarth [this message]
2014-07-25 7:32 ` [PATCH 0/6] Minor USB fixes and xHCI driver Sascha Hauer
2014-07-25 14:40 ` Sebastian Hesselbarth
2014-07-25 15:34 ` Sebastian Hesselbarth
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53D15A51.1070101@gmail.com \
--to=sebastian.hesselbarth@gmail.com \
--cc=barebox@lists.infradead.org \
--cc=s.hauer@pengutronix.de \
--cc=thomas.petazzoni@free-electrons.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox