devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/9] Tegra xHCI support
@ 2014-09-02 21:34 Andrew Bresticker
  2014-09-02 21:34 ` [PATCH v3 1/9] of: Add NVIDIA Tegra XUSB mailbox binding Andrew Bresticker
                   ` (8 more replies)
  0 siblings, 9 replies; 34+ messages in thread
From: Andrew Bresticker @ 2014-09-02 21:34 UTC (permalink / raw)
  To: Stephen Warren, Thierry Reding, linux-tegra
  Cc: Andrew Bresticker, Rob Herring, Pawel Moll, Mark Rutland,
	Ian Campbell, Kumar Gala, Russell King, Jassi Brar, Linus Walleij,
	Greg Kroah-Hartman, Mathias Nyman, Grant Likely, Alan Stern,
	Arnd Bergmann, Kishon Vijay Abraham I, devicetree, linux-kernel,
	linux-arm-kernel, linux-usb

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

^ permalink raw reply	[flat|nested] 34+ messages in thread

end of thread, other threads:[~2014-09-17 17:46 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-09-02 21:34 [PATCH v3 0/9] Tegra xHCI support Andrew Bresticker
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

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).