[PATCH v1 0/9] Tegra XHCI support

Andrew Bresticker abrestic at chromium.org
Tue Jun 17 23:16:11 PDT 2014


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 at nvidia.com>
    Bharath Yadav <byadav at 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




More information about the linux-arm-kernel mailing list