All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/5] arm64: Juno: Add support for PCIe on R1 board
@ 2015-10-09 16:57 ` Liviu Dudau
  0 siblings, 0 replies; 30+ messages in thread
From: Liviu Dudau @ 2015-10-09 16:57 UTC (permalink / raw)
  To: Will Deacon, Catalin Marinas, Bjorn Helgaas, Mark Rutland,
	Linus Walleij, Robin Murphy, Rob Herring, Ian Campbell,
	Kumar Gala, Arnd Bergmann, Jon Medhurst
  Cc: linux-pci, device-tree, LAKML, LKML

Changes in v2 vs v1:
 - Add plda as OF vendor prefix
 - Add more specific compatible values to the Juno R1 DT
 

Juno R1 board has a working PCIe host bridge that can be enabled and
configured by the firmware and made use of by Linux. For UEFI, the
Linaro releases contain firmware that configure the XpressRICH3 host
bridge correctly. For U-Boot based setups, one needs the patchset
posted here[1].

This patchset adds a quirk for setting the correct class to the host
bridge device and the device tree changes that enable PCIe on Juno R1.
We also update the defconfig to enable the generic PCI host bridge driver.

Best regards,
Liviu

1. http://lists.denx.de/pipermail/u-boot/2015-October/229669.html

Andrew Murray (1):
  pci: Add PLDA's XpressRICH3 PCIe host bridge PCI ID

Liviu Dudau (4):
  PCI: Add quirk for PLDA's XpressRICH3 host bridge class.
  of: Add vendor prefix for PLDA.
  arm64: Juno: Add support for the PCIe host bridge on Juno R1
  arm64: defconfig: Enable PCI generic host bridge by default

 .../devicetree/bindings/vendor-prefixes.txt          |  1 +
 arch/arm64/boot/dts/arm/juno-r1.dts                  | 20 ++++++++++++++++++++
 arch/arm64/configs/defconfig                         |  1 +
 drivers/pci/quirks.c                                 | 10 ++++++++++
 include/linux/pci_ids.h                              |  3 +++
 5 files changed, 35 insertions(+)

-- 
2.6.0


^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH v2 0/5] arm64: Juno: Add support for PCIe on R1 board
@ 2015-10-09 16:57 ` Liviu Dudau
  0 siblings, 0 replies; 30+ messages in thread
From: Liviu Dudau @ 2015-10-09 16:57 UTC (permalink / raw)
  To: linux-arm-kernel

Changes in v2 vs v1:
 - Add plda as OF vendor prefix
 - Add more specific compatible values to the Juno R1 DT
 

Juno R1 board has a working PCIe host bridge that can be enabled and
configured by the firmware and made use of by Linux. For UEFI, the
Linaro releases contain firmware that configure the XpressRICH3 host
bridge correctly. For U-Boot based setups, one needs the patchset
posted here[1].

This patchset adds a quirk for setting the correct class to the host
bridge device and the device tree changes that enable PCIe on Juno R1.
We also update the defconfig to enable the generic PCI host bridge driver.

Best regards,
Liviu

1. http://lists.denx.de/pipermail/u-boot/2015-October/229669.html

Andrew Murray (1):
  pci: Add PLDA's XpressRICH3 PCIe host bridge PCI ID

Liviu Dudau (4):
  PCI: Add quirk for PLDA's XpressRICH3 host bridge class.
  of: Add vendor prefix for PLDA.
  arm64: Juno: Add support for the PCIe host bridge on Juno R1
  arm64: defconfig: Enable PCI generic host bridge by default

 .../devicetree/bindings/vendor-prefixes.txt          |  1 +
 arch/arm64/boot/dts/arm/juno-r1.dts                  | 20 ++++++++++++++++++++
 arch/arm64/configs/defconfig                         |  1 +
 drivers/pci/quirks.c                                 | 10 ++++++++++
 include/linux/pci_ids.h                              |  3 +++
 5 files changed, 35 insertions(+)

-- 
2.6.0

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH v2 1/5] pci: Add PLDA's XpressRICH3 PCIe host bridge PCI ID
  2015-10-09 16:57 ` Liviu Dudau
  (?)
@ 2015-10-09 16:57   ` Liviu Dudau
  -1 siblings, 0 replies; 30+ messages in thread
From: Liviu Dudau @ 2015-10-09 16:57 UTC (permalink / raw)
  To: Will Deacon, Catalin Marinas, Bjorn Helgaas, Mark Rutland,
	Linus Walleij, Robin Murphy, Rob Herring, Ian Campbell,
	Kumar Gala, Arnd Bergmann, Jon Medhurst
  Cc: linux-pci, device-tree, LAKML, LKML, Andrew Murray

From: Andrew Murray <Andrew.Murray@arm.com>

Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
---
 include/linux/pci_ids.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
index d9ba49c..1542b2b 100644
--- a/include/linux/pci_ids.h
+++ b/include/linux/pci_ids.h
@@ -1319,6 +1319,9 @@
 #define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP79_SMBUS     0x0AA2
 #define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP89_SATA	    0x0D85
 
+#define PCI_VENDOR_ID_PLDA		0x1556
+#define PCI_DEVICE_ID_XR3PCI		0x1100
+
 #define PCI_VENDOR_ID_IMS		0x10e0
 #define PCI_DEVICE_ID_IMS_TT128		0x9128
 #define PCI_DEVICE_ID_IMS_TT3D		0x9135
-- 
2.6.0


^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH v2 1/5] pci: Add PLDA's XpressRICH3 PCIe host bridge PCI ID
@ 2015-10-09 16:57   ` Liviu Dudau
  0 siblings, 0 replies; 30+ messages in thread
From: Liviu Dudau @ 2015-10-09 16:57 UTC (permalink / raw)
  To: Will Deacon, Catalin Marinas, Bjorn Helgaas, Mark Rutland,
	Linus Walleij, Robin Murphy, Rob Herring, Ian Campbell,
	Kumar Gala, Arnd Bergmann, Jon Medhurst
  Cc: linux-pci, Andrew Murray, LKML, LAKML, device-tree

From: Andrew Murray <Andrew.Murray@arm.com>

Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
---
 include/linux/pci_ids.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
index d9ba49c..1542b2b 100644
--- a/include/linux/pci_ids.h
+++ b/include/linux/pci_ids.h
@@ -1319,6 +1319,9 @@
 #define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP79_SMBUS     0x0AA2
 #define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP89_SATA	    0x0D85
 
+#define PCI_VENDOR_ID_PLDA		0x1556
+#define PCI_DEVICE_ID_XR3PCI		0x1100
+
 #define PCI_VENDOR_ID_IMS		0x10e0
 #define PCI_DEVICE_ID_IMS_TT128		0x9128
 #define PCI_DEVICE_ID_IMS_TT3D		0x9135
-- 
2.6.0

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH v2 1/5] pci: Add PLDA's XpressRICH3 PCIe host bridge PCI ID
@ 2015-10-09 16:57   ` Liviu Dudau
  0 siblings, 0 replies; 30+ messages in thread
From: Liviu Dudau @ 2015-10-09 16:57 UTC (permalink / raw)
  To: linux-arm-kernel

From: Andrew Murray <Andrew.Murray@arm.com>

Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
---
 include/linux/pci_ids.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
index d9ba49c..1542b2b 100644
--- a/include/linux/pci_ids.h
+++ b/include/linux/pci_ids.h
@@ -1319,6 +1319,9 @@
 #define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP79_SMBUS     0x0AA2
 #define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP89_SATA	    0x0D85
 
+#define PCI_VENDOR_ID_PLDA		0x1556
+#define PCI_DEVICE_ID_XR3PCI		0x1100
+
 #define PCI_VENDOR_ID_IMS		0x10e0
 #define PCI_DEVICE_ID_IMS_TT128		0x9128
 #define PCI_DEVICE_ID_IMS_TT3D		0x9135
-- 
2.6.0

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH v2 2/5] PCI: Add quirk for PLDA's XpressRICH3 host bridge class.
  2015-10-09 16:57 ` Liviu Dudau
@ 2015-10-09 16:57   ` Liviu Dudau
  -1 siblings, 0 replies; 30+ messages in thread
From: Liviu Dudau @ 2015-10-09 16:57 UTC (permalink / raw)
  To: Will Deacon, Catalin Marinas, Bjorn Helgaas, Mark Rutland,
	Linus Walleij, Robin Murphy, Rob Herring, Ian Campbell,
	Kumar Gala, Arnd Bergmann, Jon Medhurst
  Cc: linux-pci, device-tree, LAKML, LKML

The XpressRICH3 host bridge at power up has an unassigned class on
some of ARM Ltd boards, add a quirk to correct that.

Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
---
 drivers/pci/quirks.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index b03373f..ae24bb4 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -4149,3 +4149,13 @@ static void quirk_intel_qat_vf_cap(struct pci_dev *pdev)
 	}
 }
 DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x443, quirk_intel_qat_vf_cap);
+
+/*
+ * The PLDA's XpressRICH3 doesn't describe itself as a bridge. This is required
+ * for correct/normal enumeration.
+ */
+static void xr3pci_quirk_class(struct pci_dev *pdev)
+{
+	pdev->class = PCI_CLASS_BRIDGE_PCI << 8;
+}
+DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_PLDA, PCI_DEVICE_ID_XR3PCI, xr3pci_quirk_class);
-- 
2.6.0


^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH v2 2/5] PCI: Add quirk for PLDA's XpressRICH3 host bridge class.
@ 2015-10-09 16:57   ` Liviu Dudau
  0 siblings, 0 replies; 30+ messages in thread
From: Liviu Dudau @ 2015-10-09 16:57 UTC (permalink / raw)
  To: linux-arm-kernel

The XpressRICH3 host bridge at power up has an unassigned class on
some of ARM Ltd boards, add a quirk to correct that.

Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
---
 drivers/pci/quirks.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index b03373f..ae24bb4 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -4149,3 +4149,13 @@ static void quirk_intel_qat_vf_cap(struct pci_dev *pdev)
 	}
 }
 DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x443, quirk_intel_qat_vf_cap);
+
+/*
+ * The PLDA's XpressRICH3 doesn't describe itself as a bridge. This is required
+ * for correct/normal enumeration.
+ */
+static void xr3pci_quirk_class(struct pci_dev *pdev)
+{
+	pdev->class = PCI_CLASS_BRIDGE_PCI << 8;
+}
+DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_PLDA, PCI_DEVICE_ID_XR3PCI, xr3pci_quirk_class);
-- 
2.6.0

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH v2 3/5] of: Add vendor prefix for PLDA.
@ 2015-10-09 16:57   ` Liviu Dudau
  0 siblings, 0 replies; 30+ messages in thread
From: Liviu Dudau @ 2015-10-09 16:57 UTC (permalink / raw)
  To: Will Deacon, Catalin Marinas, Bjorn Helgaas, Mark Rutland,
	Linus Walleij, Robin Murphy, Rob Herring, Ian Campbell,
	Kumar Gala, Arnd Bergmann, Jon Medhurst
  Cc: linux-pci, device-tree, LAKML, LKML

Use "plda" as vendor prefix for PLDA.

Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
---
 Documentation/devicetree/bindings/vendor-prefixes.txt | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt
index 82d2ac9..57653eb 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.txt
+++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
@@ -168,6 +168,7 @@ pericom	Pericom Technology Inc.
 phytec	PHYTEC Messtechnik GmbH
 picochip	Picochip Ltd
 plathome	Plat'Home Co., Ltd.
+plda	PLDA
 pixcir  PIXCIR MICROELECTRONICS Co., Ltd
 powervr	PowerVR (deprecated, use img)
 qca	Qualcomm Atheros, Inc.
-- 
2.6.0


^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH v2 3/5] of: Add vendor prefix for PLDA.
@ 2015-10-09 16:57   ` Liviu Dudau
  0 siblings, 0 replies; 30+ messages in thread
From: Liviu Dudau @ 2015-10-09 16:57 UTC (permalink / raw)
  To: Will Deacon, Catalin Marinas, Bjorn Helgaas, Mark Rutland,
	Linus Walleij, Robin Murphy, Rob Herring, Ian Campbell,
	Kumar Gala, Arnd Bergmann, Jon Medhurst
  Cc: linux-pci, device-tree, LAKML, LKML

Use "plda" as vendor prefix for PLDA.

Signed-off-by: Liviu Dudau <Liviu.Dudau-5wv7dgnIgG8@public.gmane.org>
---
 Documentation/devicetree/bindings/vendor-prefixes.txt | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt
index 82d2ac9..57653eb 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.txt
+++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
@@ -168,6 +168,7 @@ pericom	Pericom Technology Inc.
 phytec	PHYTEC Messtechnik GmbH
 picochip	Picochip Ltd
 plathome	Plat'Home Co., Ltd.
+plda	PLDA
 pixcir  PIXCIR MICROELECTRONICS Co., Ltd
 powervr	PowerVR (deprecated, use img)
 qca	Qualcomm Atheros, Inc.
-- 
2.6.0

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH v2 3/5] of: Add vendor prefix for PLDA.
@ 2015-10-09 16:57   ` Liviu Dudau
  0 siblings, 0 replies; 30+ messages in thread
From: Liviu Dudau @ 2015-10-09 16:57 UTC (permalink / raw)
  To: linux-arm-kernel

Use "plda" as vendor prefix for PLDA.

Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
---
 Documentation/devicetree/bindings/vendor-prefixes.txt | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt
index 82d2ac9..57653eb 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.txt
+++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
@@ -168,6 +168,7 @@ pericom	Pericom Technology Inc.
 phytec	PHYTEC Messtechnik GmbH
 picochip	Picochip Ltd
 plathome	Plat'Home Co., Ltd.
+plda	PLDA
 pixcir  PIXCIR MICROELECTRONICS Co., Ltd
 powervr	PowerVR (deprecated, use img)
 qca	Qualcomm Atheros, Inc.
-- 
2.6.0

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH v2 4/5] arm64: Juno: Add support for the PCIe host bridge on Juno R1
  2015-10-09 16:57 ` Liviu Dudau
  (?)
@ 2015-10-09 16:57   ` Liviu Dudau
  -1 siblings, 0 replies; 30+ messages in thread
From: Liviu Dudau @ 2015-10-09 16:57 UTC (permalink / raw)
  To: Will Deacon, Catalin Marinas, Bjorn Helgaas, Mark Rutland,
	Linus Walleij, Robin Murphy, Rob Herring, Ian Campbell,
	Kumar Gala, Arnd Bergmann, Jon Medhurst
  Cc: linux-pci, device-tree, LAKML, LKML

Juno R1 board sports a functional PCIe host bridge that is
compliant with the SBSA standard found [1] here. With the right
firmware that initialises the XpressRICH3 controller one can
use the generic Host Bridge driver to use the PCIe hardware.

Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>

[1] http://infocenter.arm.com/help/topic/com.arm.doc.den0029a/
---
 arch/arm64/boot/dts/arm/juno-r1.dts | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/arch/arm64/boot/dts/arm/juno-r1.dts b/arch/arm64/boot/dts/arm/juno-r1.dts
index c627511..a702a6b 100644
--- a/arch/arm64/boot/dts/arm/juno-r1.dts
+++ b/arch/arm64/boot/dts/arm/juno-r1.dts
@@ -109,7 +109,26 @@
 
 	#include "juno-base.dtsi"
 
+	pcie-controller@40000000 {
+		compatible = "arm,juno-r1-pcie", "plda,xpressrich3", "pci-host-ecam-generic";
+		device_type = "pci";
+		reg = <0 0x40000000 0 0x10000000>;	/* ECAM config space */
+		bus-range = <0 255>;
+		linux,pci-domain = <0>;
+		#address-cells = <3>;
+		#size-cells = <2>;
+		dma-coherent;
+		ranges = <0x01000000 0x00 0x5f800000 0x00 0x5f800000 0x0 0x00800000
+			  0x02000000 0x00 0x50000000 0x00 0x50000000 0x0 0x08000000
+		          0x42000000 0x40 0x00000000 0x40 0x00000000 0x1 0x00000000>;
+		#interrupt-cells = <1>;
+		interrupt-map-mask = <0 0 0 7>;
+		interrupt-map = <0 0 0 1 &gic 0 0 0 136 4
+			         0 0 0 2 &gic 0 0 0 137 4
+				 0 0 0 3 &gic 0 0 0 138 4
+				 0 0 0 4 &gic 0 0 0 139 4>;
+		msi-parent = <&v2m_0>;
+	};
 };
 
 &memtimer {
-- 
2.6.0


^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH v2 4/5] arm64: Juno: Add support for the PCIe host bridge on Juno R1
@ 2015-10-09 16:57   ` Liviu Dudau
  0 siblings, 0 replies; 30+ messages in thread
From: Liviu Dudau @ 2015-10-09 16:57 UTC (permalink / raw)
  To: Will Deacon, Catalin Marinas, Bjorn Helgaas, Mark Rutland,
	Linus Walleij, Robin Murphy, Rob Herring, Ian Campbell,
	Kumar Gala, Arnd Bergmann, Jon Medhurst
  Cc: linux-pci, LKML, LAKML, device-tree

Juno R1 board sports a functional PCIe host bridge that is
compliant with the SBSA standard found [1] here. With the right
firmware that initialises the XpressRICH3 controller one can
use the generic Host Bridge driver to use the PCIe hardware.

Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>

[1] http://infocenter.arm.com/help/topic/com.arm.doc.den0029a/
---
 arch/arm64/boot/dts/arm/juno-r1.dts | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/arch/arm64/boot/dts/arm/juno-r1.dts b/arch/arm64/boot/dts/arm/juno-r1.dts
index c627511..a702a6b 100644
--- a/arch/arm64/boot/dts/arm/juno-r1.dts
+++ b/arch/arm64/boot/dts/arm/juno-r1.dts
@@ -109,7 +109,26 @@
 
 	#include "juno-base.dtsi"
 
+	pcie-controller@40000000 {
+		compatible = "arm,juno-r1-pcie", "plda,xpressrich3", "pci-host-ecam-generic";
+		device_type = "pci";
+		reg = <0 0x40000000 0 0x10000000>;	/* ECAM config space */
+		bus-range = <0 255>;
+		linux,pci-domain = <0>;
+		#address-cells = <3>;
+		#size-cells = <2>;
+		dma-coherent;
+		ranges = <0x01000000 0x00 0x5f800000 0x00 0x5f800000 0x0 0x00800000
+			  0x02000000 0x00 0x50000000 0x00 0x50000000 0x0 0x08000000
+		          0x42000000 0x40 0x00000000 0x40 0x00000000 0x1 0x00000000>;
+		#interrupt-cells = <1>;
+		interrupt-map-mask = <0 0 0 7>;
+		interrupt-map = <0 0 0 1 &gic 0 0 0 136 4
+			         0 0 0 2 &gic 0 0 0 137 4
+				 0 0 0 3 &gic 0 0 0 138 4
+				 0 0 0 4 &gic 0 0 0 139 4>;
+		msi-parent = <&v2m_0>;
+	};
 };
 
 &memtimer {
-- 
2.6.0

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH v2 4/5] arm64: Juno: Add support for the PCIe host bridge on Juno R1
@ 2015-10-09 16:57   ` Liviu Dudau
  0 siblings, 0 replies; 30+ messages in thread
From: Liviu Dudau @ 2015-10-09 16:57 UTC (permalink / raw)
  To: linux-arm-kernel

Juno R1 board sports a functional PCIe host bridge that is
compliant with the SBSA standard found [1] here. With the right
firmware that initialises the XpressRICH3 controller one can
use the generic Host Bridge driver to use the PCIe hardware.

Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>

[1] http://infocenter.arm.com/help/topic/com.arm.doc.den0029a/
---
 arch/arm64/boot/dts/arm/juno-r1.dts | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/arch/arm64/boot/dts/arm/juno-r1.dts b/arch/arm64/boot/dts/arm/juno-r1.dts
index c627511..a702a6b 100644
--- a/arch/arm64/boot/dts/arm/juno-r1.dts
+++ b/arch/arm64/boot/dts/arm/juno-r1.dts
@@ -109,7 +109,26 @@
 
 	#include "juno-base.dtsi"
 
+	pcie-controller at 40000000 {
+		compatible = "arm,juno-r1-pcie", "plda,xpressrich3", "pci-host-ecam-generic";
+		device_type = "pci";
+		reg = <0 0x40000000 0 0x10000000>;	/* ECAM config space */
+		bus-range = <0 255>;
+		linux,pci-domain = <0>;
+		#address-cells = <3>;
+		#size-cells = <2>;
+		dma-coherent;
+		ranges = <0x01000000 0x00 0x5f800000 0x00 0x5f800000 0x0 0x00800000
+			  0x02000000 0x00 0x50000000 0x00 0x50000000 0x0 0x08000000
+		          0x42000000 0x40 0x00000000 0x40 0x00000000 0x1 0x00000000>;
+		#interrupt-cells = <1>;
+		interrupt-map-mask = <0 0 0 7>;
+		interrupt-map = <0 0 0 1 &gic 0 0 0 136 4
+			         0 0 0 2 &gic 0 0 0 137 4
+				 0 0 0 3 &gic 0 0 0 138 4
+				 0 0 0 4 &gic 0 0 0 139 4>;
+		msi-parent = <&v2m_0>;
+	};
 };
 
 &memtimer {
-- 
2.6.0

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH v2 5/5] arm64: defconfig: Enable PCI generic host bridge by default
@ 2015-10-09 16:57   ` Liviu Dudau
  0 siblings, 0 replies; 30+ messages in thread
From: Liviu Dudau @ 2015-10-09 16:57 UTC (permalink / raw)
  To: Will Deacon, Catalin Marinas, Bjorn Helgaas, Mark Rutland,
	Linus Walleij, Robin Murphy, Rob Herring, Ian Campbell,
	Kumar Gala, Arnd Bergmann, Jon Medhurst
  Cc: linux-pci, device-tree, LAKML, LKML

Now that pci-host-generic can be used under arm64, enable it by
default so that SBSA compliant systems can use it.

Cc: Will Deacon <will.deacon@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
---
 arch/arm64/configs/defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index 34d71dd..7c9455a 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -49,6 +49,7 @@ CONFIG_ARCH_XGENE=y
 CONFIG_ARCH_ZYNQMP=y
 CONFIG_PCI=y
 CONFIG_PCI_MSI=y
+CONFIG_PCI_HOST_GENERIC=y
 CONFIG_PCI_XGENE=y
 CONFIG_SMP=y
 CONFIG_PREEMPT=y
-- 
2.6.0


^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH v2 5/5] arm64: defconfig: Enable PCI generic host bridge by default
@ 2015-10-09 16:57   ` Liviu Dudau
  0 siblings, 0 replies; 30+ messages in thread
From: Liviu Dudau @ 2015-10-09 16:57 UTC (permalink / raw)
  To: Will Deacon, Catalin Marinas, Bjorn Helgaas, Mark Rutland,
	Linus Walleij, Robin Murphy, Rob Herring, Ian Campbell,
	Kumar Gala, Arnd Bergmann, Jon Medhurst
  Cc: linux-pci, device-tree, LAKML, LKML

Now that pci-host-generic can be used under arm64, enable it by
default so that SBSA compliant systems can use it.

Cc: Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org>
Cc: Catalin Marinas <catalin.marinas-5wv7dgnIgG8@public.gmane.org>
Signed-off-by: Liviu Dudau <Liviu.Dudau-5wv7dgnIgG8@public.gmane.org>
---
 arch/arm64/configs/defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index 34d71dd..7c9455a 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -49,6 +49,7 @@ CONFIG_ARCH_XGENE=y
 CONFIG_ARCH_ZYNQMP=y
 CONFIG_PCI=y
 CONFIG_PCI_MSI=y
+CONFIG_PCI_HOST_GENERIC=y
 CONFIG_PCI_XGENE=y
 CONFIG_SMP=y
 CONFIG_PREEMPT=y
-- 
2.6.0

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH v2 5/5] arm64: defconfig: Enable PCI generic host bridge by default
@ 2015-10-09 16:57   ` Liviu Dudau
  0 siblings, 0 replies; 30+ messages in thread
From: Liviu Dudau @ 2015-10-09 16:57 UTC (permalink / raw)
  To: linux-arm-kernel

Now that pci-host-generic can be used under arm64, enable it by
default so that SBSA compliant systems can use it.

Cc: Will Deacon <will.deacon@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
---
 arch/arm64/configs/defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index 34d71dd..7c9455a 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -49,6 +49,7 @@ CONFIG_ARCH_XGENE=y
 CONFIG_ARCH_ZYNQMP=y
 CONFIG_PCI=y
 CONFIG_PCI_MSI=y
+CONFIG_PCI_HOST_GENERIC=y
 CONFIG_PCI_XGENE=y
 CONFIG_SMP=y
 CONFIG_PREEMPT=y
-- 
2.6.0

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* Re: [PATCH v2 3/5] of: Add vendor prefix for PLDA.
@ 2015-10-09 16:59     ` Mark Rutland
  0 siblings, 0 replies; 30+ messages in thread
From: Mark Rutland @ 2015-10-09 16:59 UTC (permalink / raw)
  To: Liviu Dudau
  Cc: Will Deacon, Catalin Marinas, Bjorn Helgaas, Linus Walleij,
	Robin Murphy, Rob Herring, Ian Campbell, Kumar Gala,
	Arnd Bergmann, Jon Medhurst, linux-pci, device-tree, LAKML, LKML

On Fri, Oct 09, 2015 at 05:57:27PM +0100, Liviu Dudau wrote:
> Use "plda" as vendor prefix for PLDA.
> 
> Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>

Having looked on PLDA's website it seems "PLDA" is their preferred name,
and I can't find any suffix used, so this looks fine to me:

Acked-by: Mark Rutland <mark.rutland@arm.com>

Mark.

> ---
>  Documentation/devicetree/bindings/vendor-prefixes.txt | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt
> index 82d2ac9..57653eb 100644
> --- a/Documentation/devicetree/bindings/vendor-prefixes.txt
> +++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
> @@ -168,6 +168,7 @@ pericom	Pericom Technology Inc.
>  phytec	PHYTEC Messtechnik GmbH
>  picochip	Picochip Ltd
>  plathome	Plat'Home Co., Ltd.
> +plda	PLDA
>  pixcir  PIXCIR MICROELECTRONICS Co., Ltd
>  powervr	PowerVR (deprecated, use img)
>  qca	Qualcomm Atheros, Inc.
> -- 
> 2.6.0
> 

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH v2 3/5] of: Add vendor prefix for PLDA.
@ 2015-10-09 16:59     ` Mark Rutland
  0 siblings, 0 replies; 30+ messages in thread
From: Mark Rutland @ 2015-10-09 16:59 UTC (permalink / raw)
  To: Liviu Dudau
  Cc: Will Deacon, Catalin Marinas, Bjorn Helgaas, Linus Walleij,
	Robin Murphy, Rob Herring, Ian Campbell, Kumar Gala,
	Arnd Bergmann, Jon Medhurst, linux-pci, device-tree, LAKML, LKML

On Fri, Oct 09, 2015 at 05:57:27PM +0100, Liviu Dudau wrote:
> Use "plda" as vendor prefix for PLDA.
> 
> Signed-off-by: Liviu Dudau <Liviu.Dudau-5wv7dgnIgG8@public.gmane.org>

Having looked on PLDA's website it seems "PLDA" is their preferred name,
and I can't find any suffix used, so this looks fine to me:

Acked-by: Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>

Mark.

> ---
>  Documentation/devicetree/bindings/vendor-prefixes.txt | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt
> index 82d2ac9..57653eb 100644
> --- a/Documentation/devicetree/bindings/vendor-prefixes.txt
> +++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
> @@ -168,6 +168,7 @@ pericom	Pericom Technology Inc.
>  phytec	PHYTEC Messtechnik GmbH
>  picochip	Picochip Ltd
>  plathome	Plat'Home Co., Ltd.
> +plda	PLDA
>  pixcir  PIXCIR MICROELECTRONICS Co., Ltd
>  powervr	PowerVR (deprecated, use img)
>  qca	Qualcomm Atheros, Inc.
> -- 
> 2.6.0
> 
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH v2 3/5] of: Add vendor prefix for PLDA.
@ 2015-10-09 16:59     ` Mark Rutland
  0 siblings, 0 replies; 30+ messages in thread
From: Mark Rutland @ 2015-10-09 16:59 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Oct 09, 2015 at 05:57:27PM +0100, Liviu Dudau wrote:
> Use "plda" as vendor prefix for PLDA.
> 
> Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>

Having looked on PLDA's website it seems "PLDA" is their preferred name,
and I can't find any suffix used, so this looks fine to me:

Acked-by: Mark Rutland <mark.rutland@arm.com>

Mark.

> ---
>  Documentation/devicetree/bindings/vendor-prefixes.txt | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt
> index 82d2ac9..57653eb 100644
> --- a/Documentation/devicetree/bindings/vendor-prefixes.txt
> +++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
> @@ -168,6 +168,7 @@ pericom	Pericom Technology Inc.
>  phytec	PHYTEC Messtechnik GmbH
>  picochip	Picochip Ltd
>  plathome	Plat'Home Co., Ltd.
> +plda	PLDA
>  pixcir  PIXCIR MICROELECTRONICS Co., Ltd
>  powervr	PowerVR (deprecated, use img)
>  qca	Qualcomm Atheros, Inc.
> -- 
> 2.6.0
> 

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH v2 3/5] of: Add vendor prefix for PLDA.
  2015-10-09 16:59     ` Mark Rutland
@ 2015-10-09 17:04       ` Liviu Dudau
  -1 siblings, 0 replies; 30+ messages in thread
From: Liviu Dudau @ 2015-10-09 17:04 UTC (permalink / raw)
  To: Mark Rutland
  Cc: Will Deacon, Catalin Marinas, Bjorn Helgaas, Linus Walleij,
	Robin Murphy, Rob Herring, Ian Campbell, Kumar Gala,
	Arnd Bergmann, Jon Medhurst, linux-pci, device-tree, LAKML, LKML

On Fri, Oct 09, 2015 at 05:59:29PM +0100, Mark Rutland wrote:
> On Fri, Oct 09, 2015 at 05:57:27PM +0100, Liviu Dudau wrote:
> > Use "plda" as vendor prefix for PLDA.
> > 
> > Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
> 
> Having looked on PLDA's website it seems "PLDA" is their preferred name,
> and I can't find any suffix used, so this looks fine to me:
> 
> Acked-by: Mark Rutland <mark.rutland@arm.com>

Thanks,
Liviu

> 
> Mark.
> 
> > ---
> >  Documentation/devicetree/bindings/vendor-prefixes.txt | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt
> > index 82d2ac9..57653eb 100644
> > --- a/Documentation/devicetree/bindings/vendor-prefixes.txt
> > +++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
> > @@ -168,6 +168,7 @@ pericom	Pericom Technology Inc.
> >  phytec	PHYTEC Messtechnik GmbH
> >  picochip	Picochip Ltd
> >  plathome	Plat'Home Co., Ltd.
> > +plda	PLDA
> >  pixcir  PIXCIR MICROELECTRONICS Co., Ltd
> >  powervr	PowerVR (deprecated, use img)
> >  qca	Qualcomm Atheros, Inc.
> > -- 
> > 2.6.0
> > 
> 

-- 
====================
| I would like to |
| fix the world,  |
| but they're not |
| giving me the   |
 \ source code!  /
  ---------------
    ¯\_(ツ)_/¯

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH v2 3/5] of: Add vendor prefix for PLDA.
@ 2015-10-09 17:04       ` Liviu Dudau
  0 siblings, 0 replies; 30+ messages in thread
From: Liviu Dudau @ 2015-10-09 17:04 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Oct 09, 2015 at 05:59:29PM +0100, Mark Rutland wrote:
> On Fri, Oct 09, 2015 at 05:57:27PM +0100, Liviu Dudau wrote:
> > Use "plda" as vendor prefix for PLDA.
> > 
> > Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
> 
> Having looked on PLDA's website it seems "PLDA" is their preferred name,
> and I can't find any suffix used, so this looks fine to me:
> 
> Acked-by: Mark Rutland <mark.rutland@arm.com>

Thanks,
Liviu

> 
> Mark.
> 
> > ---
> >  Documentation/devicetree/bindings/vendor-prefixes.txt | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt
> > index 82d2ac9..57653eb 100644
> > --- a/Documentation/devicetree/bindings/vendor-prefixes.txt
> > +++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
> > @@ -168,6 +168,7 @@ pericom	Pericom Technology Inc.
> >  phytec	PHYTEC Messtechnik GmbH
> >  picochip	Picochip Ltd
> >  plathome	Plat'Home Co., Ltd.
> > +plda	PLDA
> >  pixcir  PIXCIR MICROELECTRONICS Co., Ltd
> >  powervr	PowerVR (deprecated, use img)
> >  qca	Qualcomm Atheros, Inc.
> > -- 
> > 2.6.0
> > 
> 

-- 
====================
| I would like to |
| fix the world,  |
| but they're not |
| giving me the   |
 \ source code!  /
  ---------------
    ?\_(?)_/?

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH v2 4/5] arm64: Juno: Add support for the PCIe host bridge on Juno R1
  2015-10-09 16:57   ` Liviu Dudau
@ 2015-10-09 17:04     ` Mark Rutland
  -1 siblings, 0 replies; 30+ messages in thread
From: Mark Rutland @ 2015-10-09 17:04 UTC (permalink / raw)
  To: Liviu Dudau
  Cc: Will Deacon, Catalin Marinas, Bjorn Helgaas, Linus Walleij,
	Robin Murphy, Rob Herring, Ian Campbell, Kumar Gala,
	Arnd Bergmann, Jon Medhurst, linux-pci, device-tree, LAKML, LKML

On Fri, Oct 09, 2015 at 05:57:28PM +0100, Liviu Dudau wrote:
> Juno R1 board sports a functional PCIe host bridge that is
> compliant with the SBSA standard found [1] here. With the right
> firmware that initialises the XpressRICH3 controller one can
> use the generic Host Bridge driver to use the PCIe hardware.
> 
> Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
> 
> [1] http://infocenter.arm.com/help/topic/com.arm.doc.den0029a/
> ---
>  arch/arm64/boot/dts/arm/juno-r1.dts | 20 ++++++++++++++++++++
>  1 file changed, 20 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/arm/juno-r1.dts b/arch/arm64/boot/dts/arm/juno-r1.dts
> index c627511..a702a6b 100644
> --- a/arch/arm64/boot/dts/arm/juno-r1.dts
> +++ b/arch/arm64/boot/dts/arm/juno-r1.dts
> @@ -109,7 +109,26 @@
>  
>  	#include "juno-base.dtsi"
>  
> +	pcie-controller@40000000 {
> +		compatible = "arm,juno-r1-pcie", "plda,xpressrich3", "pci-host-ecam-generic";

Judging by a PLDA press release [1], it looks like Juno uses
"XpressRICH3-AXI" [2] rather than "XpressRICH3 for ASIC" [3].

So sorry to bikeshed the name I suggested, but it's probably best to
s/plda,xpressrich3/plda,xpressrich3-axi/

With that:

Acked-by: Mark Rutland <mark.rutland@arm.com>

I assume that can be fixed up when picking (or prior to a pull) without
the need to repost.

> +		device_type = "pci";
> +		reg = <0 0x40000000 0 0x10000000>;	/* ECAM config space */
> +		bus-range = <0 255>;
> +		linux,pci-domain = <0>;
> +		#address-cells = <3>;
> +		#size-cells = <2>;
> +		dma-coherent;
> +		ranges = <0x01000000 0x00 0x5f800000 0x00 0x5f800000 0x0 0x00800000
> +			  0x02000000 0x00 0x50000000 0x00 0x50000000 0x0 0x08000000
> +		          0x42000000 0x40 0x00000000 0x40 0x00000000 0x1 0x00000000>;
> +		#interrupt-cells = <1>;
> +		interrupt-map-mask = <0 0 0 7>;
> +		interrupt-map = <0 0 0 1 &gic 0 0 0 136 4
> +			         0 0 0 2 &gic 0 0 0 137 4
> +				 0 0 0 3 &gic 0 0 0 138 4
> +				 0 0 0 4 &gic 0 0 0 139 4>;
> +		msi-parent = <&v2m_0>;

Minor nit for ranges and interrupt-map, but it'd be good to bracket
entries individually, for consistency with what we do elsewhere.

Thanks,
Mark.

[1] https://www.plda.com/arm-0
[2] https://www.plda.com/products/asicfpgasoc-ip/pcie-soft-ip/pcie-30-soft-ip-arm-soc/xpressrich3-axi
[3] https://www.plda.com/products/asicfpgasoc-ip/pcie-soft-ip/pcie-30-soft-ip/xpressrich3-pcie-30

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH v2 4/5] arm64: Juno: Add support for the PCIe host bridge on Juno R1
@ 2015-10-09 17:04     ` Mark Rutland
  0 siblings, 0 replies; 30+ messages in thread
From: Mark Rutland @ 2015-10-09 17:04 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Oct 09, 2015 at 05:57:28PM +0100, Liviu Dudau wrote:
> Juno R1 board sports a functional PCIe host bridge that is
> compliant with the SBSA standard found [1] here. With the right
> firmware that initialises the XpressRICH3 controller one can
> use the generic Host Bridge driver to use the PCIe hardware.
> 
> Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
> 
> [1] http://infocenter.arm.com/help/topic/com.arm.doc.den0029a/
> ---
>  arch/arm64/boot/dts/arm/juno-r1.dts | 20 ++++++++++++++++++++
>  1 file changed, 20 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/arm/juno-r1.dts b/arch/arm64/boot/dts/arm/juno-r1.dts
> index c627511..a702a6b 100644
> --- a/arch/arm64/boot/dts/arm/juno-r1.dts
> +++ b/arch/arm64/boot/dts/arm/juno-r1.dts
> @@ -109,7 +109,26 @@
>  
>  	#include "juno-base.dtsi"
>  
> +	pcie-controller at 40000000 {
> +		compatible = "arm,juno-r1-pcie", "plda,xpressrich3", "pci-host-ecam-generic";

Judging by a PLDA press release [1], it looks like Juno uses
"XpressRICH3-AXI" [2] rather than "XpressRICH3 for ASIC" [3].

So sorry to bikeshed the name I suggested, but it's probably best to
s/plda,xpressrich3/plda,xpressrich3-axi/

With that:

Acked-by: Mark Rutland <mark.rutland@arm.com>

I assume that can be fixed up when picking (or prior to a pull) without
the need to repost.

> +		device_type = "pci";
> +		reg = <0 0x40000000 0 0x10000000>;	/* ECAM config space */
> +		bus-range = <0 255>;
> +		linux,pci-domain = <0>;
> +		#address-cells = <3>;
> +		#size-cells = <2>;
> +		dma-coherent;
> +		ranges = <0x01000000 0x00 0x5f800000 0x00 0x5f800000 0x0 0x00800000
> +			  0x02000000 0x00 0x50000000 0x00 0x50000000 0x0 0x08000000
> +		          0x42000000 0x40 0x00000000 0x40 0x00000000 0x1 0x00000000>;
> +		#interrupt-cells = <1>;
> +		interrupt-map-mask = <0 0 0 7>;
> +		interrupt-map = <0 0 0 1 &gic 0 0 0 136 4
> +			         0 0 0 2 &gic 0 0 0 137 4
> +				 0 0 0 3 &gic 0 0 0 138 4
> +				 0 0 0 4 &gic 0 0 0 139 4>;
> +		msi-parent = <&v2m_0>;

Minor nit for ranges and interrupt-map, but it'd be good to bracket
entries individually, for consistency with what we do elsewhere.

Thanks,
Mark.

[1] https://www.plda.com/arm-0
[2] https://www.plda.com/products/asicfpgasoc-ip/pcie-soft-ip/pcie-30-soft-ip-arm-soc/xpressrich3-axi
[3] https://www.plda.com/products/asicfpgasoc-ip/pcie-soft-ip/pcie-30-soft-ip/xpressrich3-pcie-30

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH v2 4/5] arm64: Juno: Add support for the PCIe host bridge on Juno R1
  2015-10-09 17:04     ` Mark Rutland
@ 2015-10-09 17:49       ` Rob Herring
  -1 siblings, 0 replies; 30+ messages in thread
From: Rob Herring @ 2015-10-09 17:49 UTC (permalink / raw)
  To: Mark Rutland
  Cc: Liviu Dudau, Will Deacon, Catalin Marinas, Bjorn Helgaas,
	Linus Walleij, Robin Murphy, Rob Herring, Ian Campbell,
	Kumar Gala, Arnd Bergmann, Jon Medhurst, linux-pci, device-tree,
	LAKML, LKML

On Fri, Oct 9, 2015 at 12:04 PM, Mark Rutland <mark.rutland@arm.com> wrote:
> On Fri, Oct 09, 2015 at 05:57:28PM +0100, Liviu Dudau wrote:
>> Juno R1 board sports a functional PCIe host bridge that is
>> compliant with the SBSA standard found [1] here. With the right
>> firmware that initialises the XpressRICH3 controller one can
>> use the generic Host Bridge driver to use the PCIe hardware.
>>
>> Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
>>
>> [1] http://infocenter.arm.com/help/topic/com.arm.doc.den0029a/
>> ---
>>  arch/arm64/boot/dts/arm/juno-r1.dts | 20 ++++++++++++++++++++
>>  1 file changed, 20 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/arm/juno-r1.dts b/arch/arm64/boot/dts/arm/juno-r1.dts
>> index c627511..a702a6b 100644
>> --- a/arch/arm64/boot/dts/arm/juno-r1.dts
>> +++ b/arch/arm64/boot/dts/arm/juno-r1.dts
>> @@ -109,7 +109,26 @@
>>
>>       #include "juno-base.dtsi"
>>
>> +     pcie-controller@40000000 {
>> +             compatible = "arm,juno-r1-pcie", "plda,xpressrich3", "pci-host-ecam-generic";
>
> Judging by a PLDA press release [1], it looks like Juno uses
> "XpressRICH3-AXI" [2] rather than "XpressRICH3 for ASIC" [3].
>
> So sorry to bikeshed the name I suggested, but it's probably best to
> s/plda,xpressrich3/plda,xpressrich3-axi/
>
> With that:
>
> Acked-by: Mark Rutland <mark.rutland@arm.com>
>
> I assume that can be fixed up when picking (or prior to a pull) without
> the need to repost.

Also, now these strings need to be documented. :)

I would just adding to the generic host doc.

Rob

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH v2 4/5] arm64: Juno: Add support for the PCIe host bridge on Juno R1
@ 2015-10-09 17:49       ` Rob Herring
  0 siblings, 0 replies; 30+ messages in thread
From: Rob Herring @ 2015-10-09 17:49 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Oct 9, 2015 at 12:04 PM, Mark Rutland <mark.rutland@arm.com> wrote:
> On Fri, Oct 09, 2015 at 05:57:28PM +0100, Liviu Dudau wrote:
>> Juno R1 board sports a functional PCIe host bridge that is
>> compliant with the SBSA standard found [1] here. With the right
>> firmware that initialises the XpressRICH3 controller one can
>> use the generic Host Bridge driver to use the PCIe hardware.
>>
>> Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
>>
>> [1] http://infocenter.arm.com/help/topic/com.arm.doc.den0029a/
>> ---
>>  arch/arm64/boot/dts/arm/juno-r1.dts | 20 ++++++++++++++++++++
>>  1 file changed, 20 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/arm/juno-r1.dts b/arch/arm64/boot/dts/arm/juno-r1.dts
>> index c627511..a702a6b 100644
>> --- a/arch/arm64/boot/dts/arm/juno-r1.dts
>> +++ b/arch/arm64/boot/dts/arm/juno-r1.dts
>> @@ -109,7 +109,26 @@
>>
>>       #include "juno-base.dtsi"
>>
>> +     pcie-controller at 40000000 {
>> +             compatible = "arm,juno-r1-pcie", "plda,xpressrich3", "pci-host-ecam-generic";
>
> Judging by a PLDA press release [1], it looks like Juno uses
> "XpressRICH3-AXI" [2] rather than "XpressRICH3 for ASIC" [3].
>
> So sorry to bikeshed the name I suggested, but it's probably best to
> s/plda,xpressrich3/plda,xpressrich3-axi/
>
> With that:
>
> Acked-by: Mark Rutland <mark.rutland@arm.com>
>
> I assume that can be fixed up when picking (or prior to a pull) without
> the need to repost.

Also, now these strings need to be documented. :)

I would just adding to the generic host doc.

Rob

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH v2 2/5] PCI: Add quirk for PLDA's XpressRICH3 host bridge class.
  2015-10-09 16:57   ` Liviu Dudau
@ 2015-10-09 18:32     ` Arnd Bergmann
  -1 siblings, 0 replies; 30+ messages in thread
From: Arnd Bergmann @ 2015-10-09 18:32 UTC (permalink / raw)
  To: Liviu Dudau
  Cc: Will Deacon, Catalin Marinas, Bjorn Helgaas, Mark Rutland,
	Linus Walleij, Robin Murphy, Rob Herring, Ian Campbell,
	Kumar Gala, Jon Medhurst, linux-pci, device-tree, LAKML, LKML

On Friday 09 October 2015 17:57:26 Liviu Dudau wrote:
> +/*
> + * The PLDA's XpressRICH3 doesn't describe itself as a bridge. This is required
> + * for correct/normal enumeration.
> + */
> +static void xr3pci_quirk_class(struct pci_dev *pdev)
> +{
> +       pdev->class = PCI_CLASS_BRIDGE_PCI << 8;
> +}
> +DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_PLDA, PCI_DEVICE_ID_XR3PCI, xr3pci_quirk_class);
> 

Are you sure that this device ID is only used for the host bridge, not
for related devices in endpoint mode?

While we don't support PCIe endpoint drivers at the moment, it might
happen at some point and then things break when someone tries to
plug a machine with this ID into a Linux host.

	Arnd

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH v2 2/5] PCI: Add quirk for PLDA's XpressRICH3 host bridge class.
@ 2015-10-09 18:32     ` Arnd Bergmann
  0 siblings, 0 replies; 30+ messages in thread
From: Arnd Bergmann @ 2015-10-09 18:32 UTC (permalink / raw)
  To: linux-arm-kernel

On Friday 09 October 2015 17:57:26 Liviu Dudau wrote:
> +/*
> + * The PLDA's XpressRICH3 doesn't describe itself as a bridge. This is required
> + * for correct/normal enumeration.
> + */
> +static void xr3pci_quirk_class(struct pci_dev *pdev)
> +{
> +       pdev->class = PCI_CLASS_BRIDGE_PCI << 8;
> +}
> +DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_PLDA, PCI_DEVICE_ID_XR3PCI, xr3pci_quirk_class);
> 

Are you sure that this device ID is only used for the host bridge, not
for related devices in endpoint mode?

While we don't support PCIe endpoint drivers at the moment, it might
happen at some point and then things break when someone tries to
plug a machine with this ID into a Linux host.

	Arnd

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH v2 2/5] PCI: Add quirk for PLDA's XpressRICH3 host bridge class.
  2015-10-09 18:32     ` Arnd Bergmann
  (?)
@ 2015-10-12  8:57       ` Liviu Dudau
  -1 siblings, 0 replies; 30+ messages in thread
From: Liviu Dudau @ 2015-10-12  8:57 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Will Deacon, Catalin Marinas, Bjorn Helgaas, Mark Rutland,
	Linus Walleij, Robin Murphy, Rob Herring, Ian Campbell,
	Kumar Gala, Jon Medhurst, linux-pci, device-tree, LAKML, LKML

On Fri, Oct 09, 2015 at 08:32:07PM +0200, Arnd Bergmann wrote:
> On Friday 09 October 2015 17:57:26 Liviu Dudau wrote:
> > +/*
> > + * The PLDA's XpressRICH3 doesn't describe itself as a bridge. This is required
> > + * for correct/normal enumeration.
> > + */
> > +static void xr3pci_quirk_class(struct pci_dev *pdev)
> > +{
> > +       pdev->class = PCI_CLASS_BRIDGE_PCI << 8;
> > +}
> > +DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_PLDA, PCI_DEVICE_ID_XR3PCI, xr3pci_quirk_class);
> > 
> 
> Are you sure that this device ID is only used for the host bridge, not
> for related devices in endpoint mode?

I would hope so. The device ID has been assigned to ARM's implementation by PLDA,
it would be logical not to be reused for anyone else's.

> 
> While we don't support PCIe endpoint drivers at the moment, it might
> happen at some point and then things break when someone tries to
> plug a machine with this ID into a Linux host.

I'm asking for confirmation inside ARM that the IDs are uniquely allocated to Juno
and will come back when I'll get confirmation.

Best regards,
Liviu

> 
> 	Arnd
> 

-- 
====================
| I would like to |
| fix the world,  |
| but they're not |
| giving me the   |
 \ source code!  /
  ---------------
    ¯\_(ツ)_/¯

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH v2 2/5] PCI: Add quirk for PLDA's XpressRICH3 host bridge class.
@ 2015-10-12  8:57       ` Liviu Dudau
  0 siblings, 0 replies; 30+ messages in thread
From: Liviu Dudau @ 2015-10-12  8:57 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Will Deacon, Catalin Marinas, Bjorn Helgaas, Mark Rutland,
	Linus Walleij, Robin Murphy, Rob Herring, Ian Campbell,
	Kumar Gala, Jon Medhurst, linux-pci, device-tree, LAKML, LKML

On Fri, Oct 09, 2015 at 08:32:07PM +0200, Arnd Bergmann wrote:
> On Friday 09 October 2015 17:57:26 Liviu Dudau wrote:
> > +/*
> > + * The PLDA's XpressRICH3 doesn't describe itself as a bridge. This is required
> > + * for correct/normal enumeration.
> > + */
> > +static void xr3pci_quirk_class(struct pci_dev *pdev)
> > +{
> > +       pdev->class = PCI_CLASS_BRIDGE_PCI << 8;
> > +}
> > +DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_PLDA, PCI_DEVICE_ID_XR3PCI, xr3pci_quirk_class);
> > 
> 
> Are you sure that this device ID is only used for the host bridge, not
> for related devices in endpoint mode?

I would hope so. The device ID has been assigned to ARM's implementation by PLDA,
it would be logical not to be reused for anyone else's.

> 
> While we don't support PCIe endpoint drivers at the moment, it might
> happen at some point and then things break when someone tries to
> plug a machine with this ID into a Linux host.

I'm asking for confirmation inside ARM that the IDs are uniquely allocated to Juno
and will come back when I'll get confirmation.

Best regards,
Liviu

> 
> 	Arnd
> 

-- 
====================
| I would like to |
| fix the world,  |
| but they're not |
| giving me the   |
 \ source code!  /
  ---------------
    ¯\_(ツ)_/¯
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH v2 2/5] PCI: Add quirk for PLDA's XpressRICH3 host bridge class.
@ 2015-10-12  8:57       ` Liviu Dudau
  0 siblings, 0 replies; 30+ messages in thread
From: Liviu Dudau @ 2015-10-12  8:57 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Oct 09, 2015 at 08:32:07PM +0200, Arnd Bergmann wrote:
> On Friday 09 October 2015 17:57:26 Liviu Dudau wrote:
> > +/*
> > + * The PLDA's XpressRICH3 doesn't describe itself as a bridge. This is required
> > + * for correct/normal enumeration.
> > + */
> > +static void xr3pci_quirk_class(struct pci_dev *pdev)
> > +{
> > +       pdev->class = PCI_CLASS_BRIDGE_PCI << 8;
> > +}
> > +DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_PLDA, PCI_DEVICE_ID_XR3PCI, xr3pci_quirk_class);
> > 
> 
> Are you sure that this device ID is only used for the host bridge, not
> for related devices in endpoint mode?

I would hope so. The device ID has been assigned to ARM's implementation by PLDA,
it would be logical not to be reused for anyone else's.

> 
> While we don't support PCIe endpoint drivers at the moment, it might
> happen at some point and then things break when someone tries to
> plug a machine with this ID into a Linux host.

I'm asking for confirmation inside ARM that the IDs are uniquely allocated to Juno
and will come back when I'll get confirmation.

Best regards,
Liviu

> 
> 	Arnd
> 

-- 
====================
| I would like to |
| fix the world,  |
| but they're not |
| giving me the   |
 \ source code!  /
  ---------------
    ?\_(?)_/?

^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2015-10-12  8:57 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-10-09 16:57 [PATCH v2 0/5] arm64: Juno: Add support for PCIe on R1 board Liviu Dudau
2015-10-09 16:57 ` Liviu Dudau
2015-10-09 16:57 ` [PATCH v2 1/5] pci: Add PLDA's XpressRICH3 PCIe host bridge PCI ID Liviu Dudau
2015-10-09 16:57   ` Liviu Dudau
2015-10-09 16:57   ` Liviu Dudau
2015-10-09 16:57 ` [PATCH v2 2/5] PCI: Add quirk for PLDA's XpressRICH3 host bridge class Liviu Dudau
2015-10-09 16:57   ` Liviu Dudau
2015-10-09 18:32   ` Arnd Bergmann
2015-10-09 18:32     ` Arnd Bergmann
2015-10-12  8:57     ` Liviu Dudau
2015-10-12  8:57       ` Liviu Dudau
2015-10-12  8:57       ` Liviu Dudau
2015-10-09 16:57 ` [PATCH v2 3/5] of: Add vendor prefix for PLDA Liviu Dudau
2015-10-09 16:57   ` Liviu Dudau
2015-10-09 16:57   ` Liviu Dudau
2015-10-09 16:59   ` Mark Rutland
2015-10-09 16:59     ` Mark Rutland
2015-10-09 16:59     ` Mark Rutland
2015-10-09 17:04     ` Liviu Dudau
2015-10-09 17:04       ` Liviu Dudau
2015-10-09 16:57 ` [PATCH v2 4/5] arm64: Juno: Add support for the PCIe host bridge on Juno R1 Liviu Dudau
2015-10-09 16:57   ` Liviu Dudau
2015-10-09 16:57   ` Liviu Dudau
2015-10-09 17:04   ` Mark Rutland
2015-10-09 17:04     ` Mark Rutland
2015-10-09 17:49     ` Rob Herring
2015-10-09 17:49       ` Rob Herring
2015-10-09 16:57 ` [PATCH v2 5/5] arm64: defconfig: Enable PCI generic host bridge by default Liviu Dudau
2015-10-09 16:57   ` Liviu Dudau
2015-10-09 16:57   ` Liviu Dudau

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.