mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
To: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	barebox@lists.infradead.org
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Subject: [PATCH RESEND 0/6] Marvell EBU PCIe driver
Date: Wed, 23 Jul 2014 11:26:02 +0200	[thread overview]
Message-ID: <1406107568-8440-1-git-send-email-sebastian.hesselbarth@gmail.com> (raw)

[Resending because I made a mistake when calling git send-email causing
the barebox ML to be dropped]

This patch set adds support for PCIe controllers found on Marvell EBU
SoCs.

First, it fixes mvebu-mbus to properly compute resources from DT and
extends pci_scan_bus for 64-bit BAR detection. Then it prepares PCI
framework to allow to access the host controller struct from struct
pci_bus and set a non-zero bus number. Also, a DT helper for parsing
devfn number is imported from Linux.

Finally, it adds the PCIe host controller driver and SoC specific PHY
setup (for Armada 370 only yet) allowing to access PCI devices attached
to it.

I have tested the driver on Armada 370 Mirabox on both mini-PCIe slot
and on-board USB 3.0 controller. The dts is missing reset-gpios
properties for gpio1.28 and gpio1.22 respectively. A corresponding
patch to add them to armada-370-mirabox.dts will be sent on Linux ML.

As soon as I get barebox running on Dove and Kirkwood boards with
accessible/populated PCIe slots, I'll add PHY support for those.
For Armada XP, I still struggle to fully understand the DT binding
which IMHO allows to configure both available ports to Nx1 but not
to 1x4. Anyway, I don't have an Armada XP board available, but maybe
Thomas or Ezequiel can shed some light into it.

Sebastian

Sebastian Hesselbarth (6):
  bus: mvebu: fix resource size handling
  pci: pci_scan_bus: respect 64b BARs
  pci: add host controller struct to sysdata
  pci: allow to set bus number on register_pci_controller
  of: pci: import of_pci_get_devfn()
  pci: mvebu: Add PCIe driver

 arch/arm/Kconfig            |   1 +
 arch/mips/mach-malta/pci.c  |   2 +-
 drivers/bus/mvebu-mbus.c    |   8 +-
 drivers/of/Kconfig          |   6 +
 drivers/of/Makefile         |   1 +
 drivers/of/of_pci.c         |  27 +++
 drivers/pci/Kconfig         |   6 +
 drivers/pci/Makefile        |   2 +
 drivers/pci/pci-mvebu-phy.c | 102 +++++++++++
 drivers/pci/pci-mvebu.c     | 436 ++++++++++++++++++++++++++++++++++++++++++++
 drivers/pci/pci-mvebu.h     |  35 ++++
 drivers/pci/pci.c           |  12 +-
 include/linux/pci.h         |   2 +-
 include/of_pci.h            |  17 ++
 14 files changed, 649 insertions(+), 8 deletions(-)
 create mode 100644 drivers/of/of_pci.c
 create mode 100644 drivers/pci/pci-mvebu-phy.c
 create mode 100644 drivers/pci/pci-mvebu.c
 create mode 100644 drivers/pci/pci-mvebu.h
 create mode 100644 include/of_pci.h

---
To: barebox@lists.infradead.org
Cc: Antony Pavlov <antonynpavlov@gmail.com>
Cc: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
-- 
2.0.0


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

             reply	other threads:[~2014-07-23  9:26 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-23  9:26 Sebastian Hesselbarth [this message]
2014-07-23  9:26 ` [PATCH RESEND 1/6] bus: mvebu: fix resource size handling Sebastian Hesselbarth
2014-07-23  9:26 ` [PATCH RESEND 2/6] pci: pci_scan_bus: respect 64b BARs Sebastian Hesselbarth
2014-07-25  8:51   ` Lucas Stach
2014-07-25 14:43     ` Sebastian Hesselbarth
2014-07-23  9:26 ` [PATCH RESEND 3/6] pci: add host controller struct to sysdata Sebastian Hesselbarth
2014-07-25  9:07   ` Lucas Stach
2014-07-25 14:54     ` Sebastian Hesselbarth
2014-07-23  9:26 ` [PATCH RESEND 4/6] pci: allow to set bus number on register_pci_controller Sebastian Hesselbarth
2014-07-23  9:26 ` [PATCH RESEND 5/6] of: pci: import of_pci_get_devfn() Sebastian Hesselbarth
2014-07-23  9:26 ` [PATCH RESEND 6/6] pci: mvebu: Add PCIe driver Sebastian Hesselbarth
2014-07-23 10:35   ` Sebastian Hesselbarth
2014-07-25  7:27   ` Sascha Hauer
2014-07-25 15:00     ` Sebastian Hesselbarth
2014-07-28  5:19       ` Sascha Hauer
2014-07-28  6:10         ` Sebastian Hesselbarth
2014-07-25  9:16   ` Lucas Stach
2014-07-25 14:57     ` Sebastian Hesselbarth
2014-07-28 13:26 ` [PATCH v2 0/5] Marvell EBU " Sebastian Hesselbarth
2014-07-28 13:26   ` [PATCH v2 1/5] bus: mvebu: fix resource size handling Sebastian Hesselbarth
2014-07-28 13:26   ` [PATCH v2 2/5] pci: pci_scan_bus: respect 64b BARs Sebastian Hesselbarth
2014-07-28 13:26   ` [PATCH v2 3/5] pci: set auto-incremented bus number Sebastian Hesselbarth
2014-07-28 13:26   ` [PATCH v2 4/5] of: pci: import of_pci_get_devfn() Sebastian Hesselbarth
2014-07-28 13:26   ` [PATCH v2 5/5] pci: mvebu: Add PCIe driver Sebastian Hesselbarth
2014-07-29 19:58   ` [PATCH v2 0/5] Marvell EBU " Sebastian Hesselbarth
2014-07-30  6:21     ` Sascha Hauer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1406107568-8440-1-git-send-email-sebastian.hesselbarth@gmail.com \
    --to=sebastian.hesselbarth@gmail.com \
    --cc=barebox@lists.infradead.org \
    --cc=thomas.petazzoni@free-electrons.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox