From: Andrew Bresticker <abrestic@chromium.org>
To: Stephen Warren <swarren@wwwdotorg.org>,
Thierry Reding <thierry.reding@gmail.com>,
linux-tegra@vger.kernel.org
Cc: Andrew Bresticker <abrestic@chromium.org>,
Rob Herring <robh+dt@kernel.org>, Pawel Moll <pawel.moll@arm.com>,
Mark Rutland <mark.rutland@arm.com>,
Ian Campbell <ijc+devicetree@hellion.org.uk>,
Kumar Gala <galak@codeaurora.org>,
Russell King <linux@arm.linux.org.uk>,
Jassi Brar <jassisinghbrar@gmail.com>,
Linus Walleij <linus.walleij@linaro.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Mathias Nyman <mathias.nyman@intel.com>,
Grant Likely <grant.likely@linaro.org>,
Alan Stern <stern@rowland.harvard.edu>,
Arnd Bergmann <arnd@arndb.de>,
Kishon Vijay Abraham I <kishon@ti.com>,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, linux-usb@vger.kernel.org
Subject: [PATCH v3 0/9] Tegra xHCI support
Date: Tue, 2 Sep 2014 14:34:52 -0700 [thread overview]
Message-ID: <1409693701-16520-1-git-send-email-abrestic@chromium.org> (raw)
This series adds support for xHCI on NVIDIA Tegra SoCs. This includes:
- patches 1 and 2: adding a driver for the mailbox used to communicate
with the xHCI controller's firmware,
- patches 3 and 4: extending the XUSB pad controller driver to support
the USB PHY types (UTMI, HSIC, and USB3),
- patches 5 and 6: adding a xHCI host-controller driver, and
- patches 7, 8, and 9: updating the relevant DT files.
The PHY and host drivers have compile-time dependencies on the mailbox
driver, and the host driver has compile-time dependencies on the PHY
driver. It is probably best if these all get merged through the Tegra
tree.
Based on 3.17-rc3, Jassi Brar's common mailbox framework [0], and my
xHCI modules series [1].
Tested on Venice2, Jetson TK1, and Big with a variety of USB2.0 and
USB3.0 memory sticks and ethernet dongles using controller firmware
recently posted by Andrew Chew [2].
Notes:
- HSIC support is mostly untested and I think there are still some issues
to work out there. I do have a Tegra124 board with a HSIC hub so I'll
try to sort those out later.
- The XUSB padctl driver doesn't play nice with the existing Tegra USB2.0
PHY driver, so all ports should be assigned to the XHCI controller.
Based on work by:
a lot of people, but from what I can tell from the L4T tree [3], the
original authors of the Tegra xHCI driver are:
Ajay Gupta <ajayg@nvidia.com>
Bharath Yadav <byadav@nvidia.com>
Chagnes from v2:
- Dropped mailbox channel specifier. The mailbox driver allocates virtual
channels backed by the single physical channel.
- Added support for HS_CURR_LEVEL adjustment pinconfig property, which
will be required for the Blaze board.
- Addressed Stephen's review comments.
Changes from v1:
- Converted mailbox driver to use the common mailbox framework.
- Fixed up host driver so that it can now be built and used as a module.
- Addressed Stephen's review comments.
- Misc. cleanups.
Changes from RFC:
- Dropped Tegra114 support.
- Split out mailbox into separate driver.
- Stopped using child xhci-plat device in xHCI host-controller driver.
- Added PHY support to Thierry's XUSB padctl driver instead of in a separate
USB PHY driver.
- Added Jetson TK1 support.
- Misc. cleanups.
[0] https://lkml.org/lkml/2014/8/1/200
[1] https://lkml.org/lkml/2014/8/18/504
[2] https://patchwork.ozlabs.org/patch/384013/
[3] git://nv-tegra.nvidia.com/linux-3.10.git
Andrew Bresticker (9):
of: Add NVIDIA Tegra XUSB mailbox binding
mailbox: Add NVIDIA Tegra XUSB mailbox driver
of: Update Tegra XUSB pad controller binding for USB
pinctrl: tegra-xusb: Add USB PHY support
of: Add NVIDIA Tegra xHCI controller binding
usb: xhci: Add NVIDIA Tegra xHCI host-controller driver
ARM: tegra: Add Tegra124 XUSB mailbox and xHCI controller
ARM: tegra: jetson-tk1: Add xHCI support
ARM: tegra: venice2: Add xHCI support
.../bindings/mailbox/nvidia,tegra124-xusb-mbox.txt | 32 +
.../pinctrl/nvidia,tegra124-xusb-padctl.txt | 56 +-
.../bindings/usb/nvidia,tegra124-xhci.txt | 104 ++
arch/arm/boot/dts/tegra124-jetson-tk1.dts | 48 +-
arch/arm/boot/dts/tegra124-venice2.dts | 79 +-
arch/arm/boot/dts/tegra124.dtsi | 41 +
drivers/mailbox/Kconfig | 3 +
drivers/mailbox/Makefile | 2 +
drivers/mailbox/tegra-xusb-mailbox.c | 290 +++++
drivers/pinctrl/Kconfig | 1 +
drivers/pinctrl/pinctrl-tegra-xusb.c | 1233 +++++++++++++++++++-
drivers/usb/host/Kconfig | 9 +
drivers/usb/host/Makefile | 1 +
drivers/usb/host/xhci-tegra.c | 905 ++++++++++++++
include/dt-bindings/pinctrl/pinctrl-tegra-xusb.h | 20 +
include/soc/tegra/xusb.h | 53 +
16 files changed, 2796 insertions(+), 81 deletions(-)
create mode 100644 Documentation/devicetree/bindings/mailbox/nvidia,tegra124-xusb-mbox.txt
create mode 100644 Documentation/devicetree/bindings/usb/nvidia,tegra124-xhci.txt
create mode 100644 drivers/mailbox/tegra-xusb-mailbox.c
create mode 100644 drivers/usb/host/xhci-tegra.c
create mode 100644 include/soc/tegra/xusb.h
--
2.1.0.rc2.206.gedb03e5
next reply other threads:[~2014-09-02 21:34 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-02 21:34 Andrew Bresticker [this message]
2014-09-02 21:34 ` [PATCH v3 1/9] of: Add NVIDIA Tegra XUSB mailbox binding Andrew Bresticker
[not found] ` <1409693701-16520-2-git-send-email-abrestic-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2014-09-03 16:19 ` Stephen Warren
2014-09-02 21:34 ` [PATCH v3 2/9] mailbox: Add NVIDIA Tegra XUSB mailbox driver Andrew Bresticker
2014-09-02 21:34 ` [PATCH v3 3/9] of: Update Tegra XUSB pad controller binding for USB Andrew Bresticker
2014-09-02 21:34 ` [PATCH v3 4/9] pinctrl: tegra-xusb: Add USB PHY support Andrew Bresticker
2014-09-02 21:34 ` [PATCH v3 5/9] of: Add NVIDIA Tegra xHCI controller binding Andrew Bresticker
[not found] ` <1409693701-16520-1-git-send-email-abrestic-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2014-09-02 21:34 ` [PATCH v3 6/9] usb: xhci: Add NVIDIA Tegra xHCI host-controller driver Andrew Bresticker
[not found] ` <1409693701-16520-7-git-send-email-abrestic-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2014-09-03 16:17 ` Stephen Warren
2014-09-02 21:34 ` [PATCH v3 7/9] ARM: tegra: Add Tegra124 XUSB mailbox and xHCI controller Andrew Bresticker
2014-09-02 21:35 ` [PATCH v3 8/9] ARM: tegra: jetson-tk1: Add xHCI support Andrew Bresticker
2014-09-02 21:35 ` [PATCH v3 9/9] ARM: tegra: venice2: " Andrew Bresticker
2014-09-08 15:34 ` [PATCH v3 0/9] Tegra " Tomeu Vizoso
[not found] ` <CAAObsKAYqpJMJnxSMxhkkRtnoEwLwgUa1y7ij5ZHvHf1jRok+Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-09-08 16:22 ` Andrew Bresticker
[not found] ` <CAL1qeaF7U9aoBp5gQPS=r+pe6krKmXdP1qak2gjhNqQMoHFB8A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-09-09 8:21 ` Tomeu Vizoso
[not found] ` <CAAObsKAXO-pBtqd1jNj8faXqpE+5Wb0RFzPp+jn9FH0B=dHq8g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-09-09 17:09 ` Andrew Bresticker
[not found] ` <CAL1qeaFUaqs9SDv1p+dYDYLn9hwDxdTQ=K-wo+Qa5+KGY=U47w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-09-10 10:24 ` Tomeu Vizoso
2014-09-12 16:37 ` Andrew Bresticker
[not found] ` <CAL1qeaEk_r5XAKvvJfwXN9+Wi9EjC_2MgBfoP92TK=F+Ou9QTA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-09-15 7:00 ` Tomeu Vizoso
[not found] ` <CAAObsKAwgfx1g2p7PQP+=HudvAHHpcPi47gEH6BrxEgLu6w2VQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-09-15 17:06 ` Andrew Bresticker
[not found] ` <CAL1qeaEC9O8-jgjGC44cFctoZPpp4dRVfQ=mhSb_2on7GgiU0w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-09-15 18:09 ` Stephen Warren
[not found] ` <54172B3F.9030901-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2014-09-15 19:30 ` Andrew Bresticker
[not found] ` <CAL1qeaEK=C4j+G5CA_91xJNe25d=-y47EyZAYnaMh46fNYVDAw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-09-16 15:26 ` Stephen Warren
[not found] ` <54185698.7020600-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2014-09-16 16:57 ` Andrew Bresticker
[not found] ` <CAL1qeaGf6JSuq=ekZY7Pp2zSAB0+0S9fZ70xWpct2MJ=pTSmug-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-09-16 22:40 ` Stephen Warren
2014-09-16 22:51 ` Andrew Bresticker
2014-09-16 23:03 ` Stephen Warren
2014-09-17 13:45 ` Mikko Perttunen
2014-09-16 22:46 ` Andrew Bresticker
2014-09-16 23:15 ` Stephen Warren
2014-09-16 23:51 ` Andrew Bresticker
[not found] ` <CAL1qeaHh abYHN6B5xCUf-y+ZuEWEBpURDPfmjY=KMpmUbuTg5w@mail.gmail.com>
[not found] ` <CAL1qeaHhabYHN6B5xCUf-y+ZuEWEBpURDPfmjY=KMpmUbuTg5w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-09-17 15:41 ` Stephen Warren
[not found] ` <5419AB9C.3000005-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2014-09-17 17:46 ` Andrew Bresticker
2014-09-16 10:43 ` Tomeu Vizoso
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=1409693701-16520-1-git-send-email-abrestic@chromium.org \
--to=abrestic@chromium.org \
--cc=arnd@arndb.de \
--cc=devicetree@vger.kernel.org \
--cc=galak@codeaurora.org \
--cc=grant.likely@linaro.org \
--cc=gregkh@linuxfoundation.org \
--cc=ijc+devicetree@hellion.org.uk \
--cc=jassisinghbrar@gmail.com \
--cc=kishon@ti.com \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=mark.rutland@arm.com \
--cc=mathias.nyman@intel.com \
--cc=pawel.moll@arm.com \
--cc=robh+dt@kernel.org \
--cc=stern@rowland.harvard.edu \
--cc=swarren@wwwdotorg.org \
--cc=thierry.reding@gmail.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;
as well as URLs for NNTP newsgroup(s).