[PATCH v5 00/16] Rewrite Tegra PCIe driver
Thierry Reding
thierry.reding at gmail.com
Thu Jul 25 13:53:14 EDT 2013
From: Thierry Reding <treding at nvidia.com>
This patch series contains an almost complete rewrite of the Tegra PCIe
driver. The code is moved to the drivers/pci/host directory and turned
into a proper platform driver, adding MSI and DT support while at it.
Patches 1 and 2 move some of the Tegra specific code around to allow it
to be used from outside the arch/arm/mach-tegra directory.
Patch 3 moves the Tegra PCIe controller driver to the drivers/pci/host
directory and turns it into a proper platform driver while adding MSI
(based on patches from NVIDIA) and DT support.
Patches 4 to 7 add Tegra20 board support for PCIe via DT.
Patch 8 adds Tegra30 PCIe support to the driver, which is fixed up by
patch 9. These haven't been squashed to keep the history since most of
this work has been done over several months.
Patch 10 adds DT support for Tegra30 and patches 11 to 13 enable PCIe
support on Tegra30-based Cardhu and Beaver boards.
Patch 14 enables PCI in the Tegra default configuration. Patch 15
increases the prefetchable memory size to accomodate more use-cases and
patch 16 finally adds me as the maintainer of the Tegra PCIe driver in
the MAINTAINERS file.
Note that this patch series depends on patches posted by Thomas
Petazzoni for Marvell PCIe support. They can be found here:
- [PATCHv5 02/11] PCI: use weak functions for MSI arch-specific functions
http://www.spinics.net/lists/linux-pci/msg23802.html
- [PATCHv5 04/11] PCI: Introduce new MSI chip infrastructure
http://www.spinics.net/lists/linux-pci/msg23797.html
- [PATCHv5 08/11] ARM: pci: add ->add_bus() and ->remove_bus() hooks to hw_pci
http://www.spinics.net/lists/linux-pci/msg23801.html
So it would be great if we could set up a stable branch that contains
those three, which could then be pulled into the Marvell and Tegra
branches.
For this series, patches 3, 8 and 9 will require Bjorn's Acked-by so
that Stephen can take them through the Tegra tree, which I think both of
them already agreed on to being the best solution.
Thierry
Jay Agarwal (3):
PCI: tegra: Add Tegra 30 PCIe support
ARM: tegra: Enable PCIe controller on Cardhu
ARM: dts: tegra: Increase prefetchable PCI memory space
Stephen Warren (2):
PCI: tegra: set up PADS_REFCLK_CFG1
ARM: tegra: Fix Beaver's PCIe lane configuration
Thierry Reding (11):
ARM: tegra: Move tegra_pcie_xclk_clamp() to PMC
ARM: tegra: Move pmc.h to include/linux/tegra-pmc.h
PCI: tegra: Move PCIe driver to drivers/pci/host
ARM: tegra: tamonten: Add PCIe support
ARM: tegra: tec: Add PCIe support
ARM: tegra: harmony: Initialize PCIe from DT
ARM: tegra: trimslice: Initialize PCIe from DT
ARM: tegra: Add Tegra30 PCIe support
ARM: tegra: Enable PCIe controller on Beaver
ARM: tegra: Update default configuration (PCIe)
MAINTAINERS: Add myself as Tegra PCIe maintainer
.../bindings/pci/nvidia,tegra20-pcie.txt | 163 ++
MAINTAINERS | 7 +
arch/arm/boot/dts/tegra20-harmony.dts | 20 +-
arch/arm/boot/dts/tegra20-tamonten.dtsi | 17 +-
arch/arm/boot/dts/tegra20-tec.dts | 8 +
arch/arm/boot/dts/tegra20-trimslice.dts | 28 +
arch/arm/boot/dts/tegra20.dtsi | 55 +
arch/arm/boot/dts/tegra30-beaver.dts | 21 +
arch/arm/boot/dts/tegra30-cardhu.dtsi | 20 +
arch/arm/boot/dts/tegra30.dtsi | 70 +
arch/arm/configs/tegra_defconfig | 5 +-
arch/arm/mach-tegra/Kconfig | 7 +-
arch/arm/mach-tegra/Makefile | 3 -
arch/arm/mach-tegra/board-harmony-pcie.c | 89 -
arch/arm/mach-tegra/board.h | 8 -
arch/arm/mach-tegra/iomap.h | 3 -
arch/arm/mach-tegra/pcie.c | 886 ----------
arch/arm/mach-tegra/pmc.c | 16 +
arch/arm/mach-tegra/tegra.c | 24 -
drivers/pci/host/Kconfig | 4 +
drivers/pci/host/Makefile | 1 +
drivers/pci/host/pci-tegra.c | 1702 ++++++++++++++++++++
include/linux/tegra-pmc.h | 23 +
23 files changed, 2156 insertions(+), 1024 deletions(-)
create mode 100644 Documentation/devicetree/bindings/pci/nvidia,tegra20-pcie.txt
delete mode 100644 arch/arm/mach-tegra/board-harmony-pcie.c
delete mode 100644 arch/arm/mach-tegra/pcie.c
create mode 100644 drivers/pci/host/pci-tegra.c
create mode 100644 include/linux/tegra-pmc.h
--
1.8.1.5
More information about the linux-arm-kernel
mailing list