[PATCHv4 0/9] Use the mvebu PCIe driver on Kirkwood
Thomas Petazzoni
thomas.petazzoni at free-electrons.com
Wed May 15 09:36:53 EDT 2013
Hello,
Here is a set of patches that migrates adds support for Kirkwood
platforms to use the mvebu PCIe driver. All the Kirkwood platforms
that have already been converted to the Device Tree are converted to
use the new driver, and the DB-88F6281/DB-88F6282 evaluation board
from Marvell is also converted to the Device Tree and the usage of the
new PCIe driver.
Only non-DT platforms continue to use the legacy code in
arch/arm/mach-kirkwood/pcie.c.
This branch depends on the mvebu-pcie driver. I have pushed this
branch to the following Git repository for easier testing:
https://github.com/MISL-EBU-System-SW/mainline-public/tree/kirkwood-pcie-dt-v4
# /usr/sbin/lspci
00:01.0 PCI bridge: Marvell Technology Group Ltd. Device 7846
00:02.0 PCI bridge: Marvell Technology Group Ltd. Device 7846
01:00.0 SCSI storage controller: Marvell Technology Group Ltd. 88SX7042 PCI-e 4-port SATA-II (rev 02)
02:00.0 Ethernet controller: Intel Corporation 82572EI Gigabit Ethernet Controller (Copper) (rev 06)
I've tested both the e1000e NIC card and the SATA 4 ports card and
they work fine.
Changes between v3 and v4:
* Rebase on top of 3.10-rc1.
* Change the name of the file and Kconfig options related to the
DB-88F6281/DB-88F6282 board to use DB-88F628x, since it handles in
fact two different boards using two slightly different SoCs.
Changes between v2 and v3:
* Integrate a replacement patch from Andrew Lunn for the QNAP changes
after he tested on his platforms.
* Add Andrew Lunn Tested-by tags on the appropriate patches.
Changes between v1 and v2:
* Remove the 'needs_pcie_win' logic, and instead move the static
initialization of PCIe windows into the legacy PCIe code, for the
platforms that will still be using it. Platforms that will use the
new PCIe driver benefit directly from dynamic allocation of PCIe
windows.
* Move the PCIe interface definitions from kirkwood.dtsi to
kirkwood-6281.dtsi and kirkwood-6282.dtsi to take into account the
fact that the 6281 has one PCIe interface, and the 6282 has two of
them.
* Convert all DT-platforms that were initializing PCIe using the
legacy driver to use the DT to initialize the PCIe interface. This
includes the Iomega Iconnect, the MPL CEC4, the ZyXEL NSA310and the
QNAP TS219.
* Fix the conversion to the Device Tree of the DB-88F6181/6282
board. We now have two Device Trees, one for the 6281 variant of
the board (one PCIe interface) and another for the 6282 variant of
the board (two PCIe interfaces).
* Update the defconfig with PCIe driver enabled and some board
updates.
Best regards,
Thomas
Thomas Petazzoni (9):
pci: mvebu: enable driver usage on Kirkwood
arm: kirkwood: move PCIe window init to legacy driver
arm: kirkwood: add SoC-level Device Tree data for PCIe interfaces
arm: kirkwood: convert Iomega Iconnect to use DT for the PCIe
interface
arm: kirkwood: convert MPL CEC4 to use DT for the PCIe interface
arm: kirkwood: convert ZyXEL NSA310 to use DT for the PCIe interface
arm: kirkwood: convert QNAP TS219 to use DT for the PCIe interface
arm: kirkwood: convert db-88f6281/db-88f6282 to the Device Tree
arm: kirkwood: update defconfig with PCIe driver and board updates
.../devicetree/bindings/pci/mvebu-pci.txt | 1 +
arch/arm/boot/dts/Makefile | 2 +
arch/arm/boot/dts/kirkwood-6281.dtsi | 31 ++++++
arch/arm/boot/dts/kirkwood-6282.dtsi | 48 +++++++++
arch/arm/boot/dts/kirkwood-db-88f6281.dts | 30 ++++++
arch/arm/boot/dts/kirkwood-db-88f6282.dts | 34 ++++++
arch/arm/boot/dts/kirkwood-db.dtsi | 89 ++++++++++++++++
arch/arm/boot/dts/kirkwood-iconnect.dts | 8 ++
arch/arm/boot/dts/kirkwood-mplcec4.dts | 8 ++
arch/arm/boot/dts/kirkwood-nsa310.dts | 8 ++
arch/arm/boot/dts/kirkwood-ts219-6281.dts | 3 +-
arch/arm/boot/dts/kirkwood-ts219-6282.dts | 3 +-
arch/arm/boot/dts/kirkwood-ts219.dtsi | 9 +-
arch/arm/boot/dts/kirkwood.dtsi | 1 +
arch/arm/configs/kirkwood_defconfig | 2 +
arch/arm/mach-kirkwood/Kconfig | 21 ++--
arch/arm/mach-kirkwood/Makefile | 3 +-
arch/arm/mach-kirkwood/board-db88f628x-bp.c | 24 +++++
arch/arm/mach-kirkwood/board-dt.c | 6 ++
arch/arm/mach-kirkwood/board-iconnect.c | 8 --
arch/arm/mach-kirkwood/board-mplcec4.c | 1 -
arch/arm/mach-kirkwood/board-nsa310.c | 25 -----
arch/arm/mach-kirkwood/board-ts219.c | 10 --
arch/arm/mach-kirkwood/common.c | 24 -----
arch/arm/mach-kirkwood/common.h | 6 ++
arch/arm/mach-kirkwood/db88f6281-bp-setup.c | 108 --------------------
arch/arm/mach-kirkwood/pcie.c | 22 ++++
drivers/pci/host/Kconfig | 2 +-
drivers/pci/host/pci-mvebu.c | 1 +
29 files changed, 341 insertions(+), 197 deletions(-)
create mode 100644 arch/arm/boot/dts/kirkwood-db-88f6281.dts
create mode 100644 arch/arm/boot/dts/kirkwood-db-88f6282.dts
create mode 100644 arch/arm/boot/dts/kirkwood-db.dtsi
create mode 100644 arch/arm/mach-kirkwood/board-db88f628x-bp.c
delete mode 100644 arch/arm/mach-kirkwood/board-nsa310.c
delete mode 100644 arch/arm/mach-kirkwood/db88f6281-bp-setup.c
--
1.7.9.5
More information about the linux-arm-kernel
mailing list