[PATCHv2 00/10] Use the mvebu PCIe driver on Kirkwood
Andrew Lunn
andrew at lunn.ch
Sat Apr 13 09:14:36 EDT 2013
On Thu, Apr 11, 2013 at 12:20:26AM +0200, Thomas Petazzoni wrote:
> 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 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-mbus driver and 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-dt
>
> # /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)
>
> # cat /proc/cpuinfo | grep ^Hardware
> Hardware : Marvell Kirkwood (Flattened Device Tree)
>
> I've tested both the e1000e NIC card and the SATA 4 ports card and
> they work fine.
>
> 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 (10):
> pci: mvebu: enable driver usage on Kirkwood
> bus: mvebu: fix mistake in PCIe window target attribute for 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 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 | 5 +-
> 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.dtsi | 7 ++
> arch/arm/boot/dts/kirkwood.dtsi | 1 +
> arch/arm/configs/kirkwood_defconfig | 6 +-
> arch/arm/mach-kirkwood/Kconfig | 21 ++--
> arch/arm/mach-kirkwood/Makefile | 3 +-
> arch/arm/mach-kirkwood/board-db88f6281-bp.c | 26 +++++
> arch/arm/mach-kirkwood/board-dt.c | 2 +
> 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/bus/mvebu-mbus.c | 2 +-
> drivers/pci/host/Kconfig | 2 +-
> drivers/pci/host/pci-mvebu.c | 1 +
> 28 files changed, 339 insertions(+), 198 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-db88f6281-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
>
Hi Thomas
So i tested on QNAP and Topkick. Neither of which actually have any
PCI devices on the busses. So you can add my some what worthless:
Tested-by: Andrew Lunn <andrew at lunn.ch>
Andrew
More information about the linux-arm-kernel
mailing list