devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andrew Bresticker <abrestic@chromium.org>
To: devicetree@vger.kernel.org, linux-doc@vger.kernel.org,
	linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, linux-usb@vger.kernel.org
Cc: Mark Rutland <mark.rutland@arm.com>,
	Russell King <linux@arm.linux.org.uk>,
	Mathias Nyman <mathias.nyman@intel.com>,
	Pawel Moll <pawel.moll@arm.com>,
	Ian Campbell <ijc+devicetree@hellion.org.uk>,
	Andrew Bresticker <abrestic@chromium.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Randy Dunlap <rdunlap@infradead.org>,
	Kishon Vijay Abraham I <kishon@ti.com>,
	Grant Likely <grant.likely@linaro.org>,
	Rob Herring <robh+dt@kernel.org>,
	Thierry Reding <thierry.reding@gmail.com>,
	Kumar Gala <galak@codeaurora.org>,
	Stephen Warren <swarren@wwwdotorg.org>,
	Alan Stern <stern@rowland.harvard.edu>,
	Arnd Bergmann <arnd@arndb.de>
Subject: [PATCH v1 0/9] Tegra XHCI support
Date: Tue, 17 Jun 2014 23:16:11 -0700	[thread overview]
Message-ID: <1403072180-4944-1-git-send-email-abrestic@chromium.org> (raw)

This series adds support for XHCI on NVIDIA Tegra SoCs.  This includes:
 - extending the XUSB pad controller driver to support the USB PHY
   types (UTMI, HSIC, and USB3),
 - adding a driver for the mailbox used to communicate with the XHCI
   controller's firmware, and
 - adding a XHCI host-controller driver.

Based on Stephen Warren's for-next branch plus Thierry Reding's XUSB
pad controller driver [1].

Tested on Venice2 and Jetson TK1 with a variety of USB2.0 and USB3.0 memory
sticks and ethernet dongles using controller firmware from the ChromiumOS
tree [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>

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.

[1] http://patchwork.ozlabs.org/patch/360458/
[2] http://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/xhci-firmware-2014.05.09.00.00.tbz2
[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 |   25 +
 .../pinctrl/nvidia,tegra124-xusb-padctl.txt        |   53 +-
 .../bindings/usb/nvidia,tegra124-xhci.txt          |   76 ++
 arch/arm/boot/dts/tegra124-jetson-tk1.dts          |   43 +-
 arch/arm/boot/dts/tegra124-venice2.dts             |   72 +-
 arch/arm/boot/dts/tegra124.dtsi                    |   31 +
 drivers/mailbox/Kconfig                            |    7 +
 drivers/mailbox/Makefile                           |    2 +
 drivers/mailbox/tegra-xusb-mbox.c                  |  308 ++++++
 drivers/pinctrl/pinctrl-tegra-xusb.c               | 1106 +++++++++++++++++++-
 drivers/usb/host/Kconfig                           |   12 +
 drivers/usb/host/Makefile                          |    2 +
 drivers/usb/host/xhci-tegra.c                      |  900 ++++++++++++++++
 include/dt-bindings/pinctrl/pinctrl-tegra-xusb.h   |    7 +
 include/linux/tegra-xusb-mbox.h                    |   98 ++
 15 files changed, 2673 insertions(+), 69 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-mbox.c
 create mode 100644 drivers/usb/host/xhci-tegra.c
 create mode 100644 include/linux/tegra-xusb-mbox.h

-- 
2.0.0.526.g5318336

             reply	other threads:[~2014-06-18  6:16 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-18  6:16 Andrew Bresticker [this message]
2014-06-18  6:16 ` [PATCH v1 2/9] mailbox: Add NVIDIA Tegra XUSB mailbox driver Andrew Bresticker
     [not found]   ` <1403072180-4944-3-git-send-email-abrestic-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2014-06-25 22:02     ` Stephen Warren
2014-06-25 23:07       ` Andrew Bresticker
2014-06-18  6:16 ` [PATCH v1 3/9] of: Update Tegra XUSB pad controller binding for USB Andrew Bresticker
     [not found]   ` <1403072180-4944-4-git-send-email-abrestic-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2014-06-25 21:46     ` Stephen Warren
2014-06-25 22:25       ` Andrew Bresticker
2014-06-26 20:00         ` Stephen Warren
     [not found] ` <1403072180-4944-1-git-send-email-abrestic-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2014-06-18  6:16   ` [PATCH v1 1/9] of: Add NVIDIA Tegra XUSB mailbox binding Andrew Bresticker
     [not found]     ` <1403072180-4944-2-git-send-email-abrestic-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2014-06-25 21:42       ` Stephen Warren
     [not found]         ` <53AB422E.4040707-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2014-06-25 22:37           ` Andrew Bresticker
     [not found]             ` <CAL1qeaFPjq9nqA2GDZZW+=DZsddWCkUjJcnRsfPkBWj8gmFsiw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-06-25 23:00               ` Stephen Warren
2014-06-18  6:16   ` [PATCH v1 4/9] pinctrl: tegra-xusb: Add USB PHY support Andrew Bresticker
2014-06-25 22:12     ` Stephen Warren
2014-06-25 23:30       ` Andrew Bresticker
2014-06-26 18:08         ` Stephen Warren
2014-06-27 21:22           ` Andrew Bresticker
2014-06-27 15:00         ` Felipe Balbi
2014-06-27 16:05           ` Stephen Warren
2014-06-18  6:16   ` [PATCH v1 6/9] usb: xhci: Add NVIDIA Tegra XHCI host-controller driver Andrew Bresticker
     [not found]     ` <1403072180-4944-7-git-send-email-abrestic-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2014-06-20 16:58       ` Julius Werner
     [not found]         ` <CAODwPW-HSY3RoBi9VEhHSJ98drTsdche-2=mKfAViXWaUa3X1g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-07-08 21:52           ` Andrew Bresticker
     [not found]             ` <CAL1qeaHT8Yz7kRY3Qm5i+bYCF4D5BT=BVZ6BMfQufyaQFkt0mw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-07-09 14:08               ` Alan Stern
     [not found]                 ` <Pine.LNX.4.44L0.1407091001150.873-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
2014-07-10 10:40                   ` Arnd Bergmann
2014-06-25 22:37     ` Stephen Warren
2014-06-26  0:06       ` Andrew Bresticker
     [not found]         ` <CAL1qeaFhfYdW06Md10eGVYWBrRR+f1yykVYHNp5+9-t1C9joPQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-06-26 18:07           ` Stephen Warren
2014-06-27 21:19             ` Andrew Bresticker
2014-06-27 22:01               ` Stephen Warren
2014-06-18  6:16   ` [PATCH v1 7/9] ARM: tegra: Add Tegra124 XUSB mailbox and XHCI controller Andrew Bresticker
2014-06-18  6:16 ` [PATCH v1 5/9] of: Add NVIDIA Tegra XHCI controller binding Andrew Bresticker
     [not found]   ` <1403072180-4944-6-git-send-email-abrestic-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2014-06-25 21:52     ` Stephen Warren
2014-06-25 23:01       ` Andrew Bresticker
     [not found]         ` <CAL1qeaG=nLxDHrsVuuL9c-JdKB+TrNN785+8v=hb0MAFJ=5juw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-06-25 23:13           ` Stephen Warren
2014-06-25 21:54     ` Stephen Warren
     [not found]       ` <53AB4530.2050106-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2014-06-25 23:02         ` Andrew Bresticker
     [not found]           ` <CAL1qeaHThKVBoY0fikFCh9X00BFNJ=XKfovOBwztEyOVjHBLjg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-06-25 23:14             ` Stephen Warren
2014-06-18  6:16 ` [PATCH v1 8/9] ARM: tegra: jetson-tk1: Add XHCI support Andrew Bresticker
2014-06-18  6:16 ` [PATCH v1 9/9] ARM: tegra: venice2: " Andrew Bresticker

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=1403072180-4944-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=kishon@ti.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-doc@vger.kernel.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=rdunlap@infradead.org \
    --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).