Skip to contentSkip to conversation

dts: ls2088a: add pcie support

PATCH Superseded Zhiqiang Hou 2 participants 7 messages Jul 6, 2017 – Jul 13, 2017

Subsystems (2)

v1 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/3 dts: ls2088a: add pcie support

From: Hou Zhiqiang <[email protected]>

The physical memory map address and CCSR registers map address are different between LS2088A and other LS2080A series SoCs.

---
 arch/arm64/boot/dts/freescale/fsl-ls2088a.dtsi | 4 ++++
 1 file changed, 4 insertions(+)
arch/arm64/boot/dts/freescale/fsl-ls2088a.dtsi +4 -0
index 5c695c6..7d26531 100644
@@ -134,6 +134,7 @@
 };
 
 &pcie1 {
+	compatible = "fsl,ls2088a-pcie", "snps,dw-pcie";
 	reg = <0x00 0x03400000 0x0 0x00100000   /* controller registers */
 	       0x20 0x00000000 0x0 0x00002000>; /* configuration space */
 
@@ -142,6 +143,7 @@
 };
 
 &pcie2 {
+	compatible = "fsl,ls2088a-pcie", "snps,dw-pcie";
 	reg = <0x00 0x03500000 0x0 0x00100000   /* controller registers */
 	       0x28 0x00000000 0x0 0x00002000>; /* configuration space */
 
@@ -150,6 +152,7 @@
 };
 
 &pcie3 {
+	compatible = "fsl,ls2088a-pcie", "snps,dw-pcie";
 	reg = <0x00 0x03600000 0x0 0x00100000   /* controller registers */
 	       0x30 0x00000000 0x0 0x00002000>; /* configuration space */
 
@@ -158,6 +161,7 @@
 };
 
 &pcie4 {
+	compatible = "fsl,ls2088a-pcie", "snps,dw-pcie";
 	reg = <0x00 0x03700000 0x0 0x00100000   /* controller registers */
 	       0x38 0x00000000 0x0 0x00002000>; /* configuration space */
 
Signature · 1 line
2.1.0.27.g96db324
#1 lore raw

PATCH 2/3 dts: ls1088a: add gicv3 ITS DT node

From: Hou Zhiqiang <[email protected]>

Add ITS device tree node, which will be used by PCIe controller.

---
 arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi | 9 +++++++++
 1 file changed, 9 insertions(+)
arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi +9 -0
index c144d06..5f35797 100644
@@ -126,6 +126,15 @@
 		      <0x0 0x0c0d0000 0 0x1000>, /* GICH */
 		      <0x0 0x0c0e0000 0 0x20000>; /* GICV */
 		interrupts = <1 9 IRQ_TYPE_LEVEL_HIGH>;
+		#address-cells = <2>;
+		#size-cells = <2>;
+		ranges;
+
+		its: gic-its at 6020000 {
+			compatible = "arm,gic-v3-its";
+			msi-controller;
+			reg = <0x0 0x6020000 0 0x20000>;
+		};
 	};
 
 	timer {
Signature · 1 line
2.1.0.27.g96db324
#2 lore raw

PATCH 3/3 dts: ls1088a: add PCIe controller DT nodes

In reply to Zhiqiang Hou

From: Hou Zhiqiang <[email protected]>

The LS1088a implements 3 PCIe 3.0 controllers.

---
 arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi | 75 ++++++++++++++++++++++++++
 1 file changed, 75 insertions(+)
arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi +75 -0
index 5f35797..b13b677 100644
@@ -378,6 +378,81 @@
 			dma-coherent;
 			status = "disabled";
 		};
+		pcie at 3400000 {
+			compatible = "fsl,ls2088a-pcie", "fsl,ls1088a-pcie",
+				     "snps,dw-pcie";
+			reg = <0x00 0x03400000 0x0 0x00100000   /* controller registers */
+			       0x20 0x00000000 0x0 0x00002000>; /* configuration space */
+			reg-names = "regs", "config";
+			interrupts = <0 108 IRQ_TYPE_LEVEL_HIGH>; /* aer interrupt */
+			interrupt-names = "aer";
+			#address-cells = <3>;
+			#size-cells = <2>;
+			device_type = "pci";
+			dma-coherent;
+			num-lanes = <4>;
+			bus-range = <0x0 0xff>;
+			ranges = <0x81000000 0x0 0x00000000 0x20 0x00010000 0x0 0x00010000   /* downstream I/O */
+				  0x82000000 0x0 0x40000000 0x20 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
+			msi-parent = <&its>;
+			#interrupt-cells = <1>;
+			interrupt-map-mask = <0 0 0 7>;
+			interrupt-map = <0000 0 0 1 &gic 0 0 0 109 IRQ_TYPE_LEVEL_HIGH>,
+					<0000 0 0 2 &gic 0 0 0 110 IRQ_TYPE_LEVEL_HIGH>,
+					<0000 0 0 3 &gic 0 0 0 111 IRQ_TYPE_LEVEL_HIGH>,
+					<0000 0 0 4 &gic 0 0 0 112 IRQ_TYPE_LEVEL_HIGH>;
+		};
+
+		pcie at 3500000 {
+			compatible = "fsl,ls2088a-pcie", "fsl,ls1088a-pcie",
+				     "snps,dw-pcie";
+			reg = <0x00 0x03500000 0x0 0x00100000   /* controller registers */
+			       0x28 0x00000000 0x0 0x00002000>; /* configuration space */
+			reg-names = "regs", "config";
+			interrupts = <0 113 IRQ_TYPE_LEVEL_HIGH>; /* aer interrupt */
+			interrupt-names = "aer";
+			#address-cells = <3>;
+			#size-cells = <2>;
+			device_type = "pci";
+			dma-coherent;
+			num-lanes = <4>;
+			bus-range = <0x0 0xff>;
+			ranges = <0x81000000 0x0 0x00000000 0x28 0x00010000 0x0 0x00010000   /* downstream I/O */
+				  0x82000000 0x0 0x40000000 0x28 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
+			msi-parent = <&its>;
+			#interrupt-cells = <1>;
+			interrupt-map-mask = <0 0 0 7>;
+			interrupt-map = <0000 0 0 1 &gic 0 0 0 114 IRQ_TYPE_LEVEL_HIGH>,
+					<0000 0 0 2 &gic 0 0 0 115 IRQ_TYPE_LEVEL_HIGH>,
+					<0000 0 0 3 &gic 0 0 0 116 IRQ_TYPE_LEVEL_HIGH>,
+					<0000 0 0 4 &gic 0 0 0 117 IRQ_TYPE_LEVEL_HIGH>;
+		};
+
+		pcie at 3600000 {
+			compatible = "fsl,ls2088a-pcie", "fsl,ls1088a-pcie",
+				     "snps,dw-pcie";
+			reg = <0x00 0x03600000 0x0 0x00100000   /* controller registers */
+			       0x30 0x00000000 0x0 0x00002000>; /* configuration space */
+			reg-names = "regs", "config";
+			interrupts = <0 118 IRQ_TYPE_LEVEL_HIGH>; /* aer interrupt */
+			interrupt-names = "aer";
+			#address-cells = <3>;
+			#size-cells = <2>;
+			device_type = "pci";
+			dma-coherent;
+			num-lanes = <8>;
+			bus-range = <0x0 0xff>;
+			ranges = <0x81000000 0x0 0x00000000 0x30 0x00010000 0x0 0x00010000   /* downstream I/O */
+				  0x82000000 0x0 0x40000000 0x30 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
+			msi-parent = <&its>;
+			#interrupt-cells = <1>;
+			interrupt-map-mask = <0 0 0 7>;
+			interrupt-map = <0000 0 0 1 &gic 0 0 0 119 IRQ_TYPE_LEVEL_HIGH>,
+					<0000 0 0 2 &gic 0 0 0 120 IRQ_TYPE_LEVEL_HIGH>,
+					<0000 0 0 3 &gic 0 0 0 121 IRQ_TYPE_LEVEL_HIGH>,
+					<0000 0 0 4 &gic 0 0 0 122 IRQ_TYPE_LEVEL_HIGH>;
+		};
+
 	};
 
 };
Signature · 1 line
2.1.0.27.g96db324
#3 lore raw

PATCH 1/3 dts: ls2088a: add pcie support

In reply to Zhiqiang Hou
Quoted 15 lines · Zhiqiang Hou

From: Hou Zhiqiang <[email protected]>

The physical memory map address and CCSR registers map address are different between LS2088A and other LS2080A series SoCs.

---
 arch/arm64/boot/dts/freescale/fsl-ls2088a.dtsi | 4 ++++
 1 file changed, 4 insertions(+)
arch/arm64/boot/dts/freescale/fsl-ls2088a.dtsi +0 -0
index 5c695c6..7d26531 100644

arch/arm64/boot/dts/freescale/fsl-ls2088a.dtsi line 137

Quoted 4 lines
arch/arm64/boot/dts/freescale/fsl-ls2088a.dtsi +1 -0
@@ -134,6 +134,7 @@
 };
 
 &pcie1 {
+	compatible = "fsl,ls2088a-pcie", "snps,dw-pcie";

I do not see "fsl,ls2088a-pcie" in either bindings doc or kernel driver.

Shawn

Quoted 30 lines
arch/arm64/boot/dts/freescale/fsl-ls2088a.dtsi +3 -0
 	reg = <0x00 0x03400000 0x0 0x00100000   /* controller registers */
 	       0x20 0x00000000 0x0 0x00002000>; /* configuration space */
 
@@ -142,6 +143,7 @@
 };
 
 &pcie2 {
+	compatible = "fsl,ls2088a-pcie", "snps,dw-pcie";
 	reg = <0x00 0x03500000 0x0 0x00100000   /* controller registers */
 	       0x28 0x00000000 0x0 0x00002000>; /* configuration space */
 
@@ -150,6 +152,7 @@
 };
 
 &pcie3 {
+	compatible = "fsl,ls2088a-pcie", "snps,dw-pcie";
 	reg = <0x00 0x03600000 0x0 0x00100000   /* controller registers */
 	       0x30 0x00000000 0x0 0x00002000>; /* configuration space */
 
@@ -158,6 +161,7 @@
 };
 
 &pcie4 {
+	compatible = "fsl,ls2088a-pcie", "snps,dw-pcie";
 	reg = <0x00 0x03700000 0x0 0x00100000   /* controller registers */
 	       0x38 0x00000000 0x0 0x00002000>; /* configuration space */
 
Signature · 1 line
2.1.0.27.g96db324
author
#4 lore raw

PATCH 1/3 dts: ls2088a: add pcie support

Hi Shawn,

Thanks for your comments!

Quoted 28 lines

-----Original Message-----
From: Shawn Guo [mailto:shawnguo at kernel.org]
Sent: 2017?7?13? 16:18
To: Z.q. Hou <[email protected]>
Cc: linux-arm-kernel at lists.infradead.org; devicetree at vger.kernel.org; robh+dt at kernel.org; mark.rutland at arm.com; catalin.marinas at arm.com; will.deacon at arm.com; Prabhakar Kushwaha <[email protected]>
Subject: Re: [PATCH 1/3] dts: ls2088a: add pcie support

Quoted 18 lines · Zhiqiang Hou

From: Hou Zhiqiang <[email protected]>

The physical memory map address and CCSR registers map address are different between LS2088A and other LS2080A series SoCs.

---
 arch/arm64/boot/dts/freescale/fsl-ls2088a.dtsi | 4 ++++
 1 file changed, 4 insertions(+)
arch/arm64/boot/dts/freescale/fsl-ls2088a.dtsi +0 -0
index 5c695c6..7d26531 100644
@@ -134,6 +134,7 @@
 };
 
Quoted 5 lines

arch/arm64/boot/dts/freescale/fsl-ls2088a.dtsi line 137

Quoted 2 lines
arch/arm64/boot/dts/freescale/fsl-ls2088a.dtsi +1 -0
 &pcie1 {
+	compatible = "fsl,ls2088a-pcie", "snps,dw-pcie";

I do not see "fsl,ls2088a-pcie" in either bindings doc or kernel driver.

I submitted the DT node patch and driver code patch separately, see the driver patch:
https://patchwork.kernel.org/patch/9827915/

Thanks,
Zhiqiang

#5 lore raw

PATCH 1/3 dts: ls2088a: add pcie support

Quoted 32 lines · Z.q. Hou

Hi Shawn,

Thanks for your comments!

Quoted 28 lines

-----Original Message-----
From: Shawn Guo [mailto:shawnguo at kernel.org]
Sent: 2017?7?13? 16:18
To: Z.q. Hou <[email protected]>
Cc: linux-arm-kernel at lists.infradead.org; devicetree at vger.kernel.org; robh+dt at kernel.org; mark.rutland at arm.com; catalin.marinas at arm.com; will.deacon at arm.com; Prabhakar Kushwaha <[email protected]>
Subject: Re: [PATCH 1/3] dts: ls2088a: add pcie support

Quoted 18 lines · Zhiqiang Hou

From: Hou Zhiqiang <[email protected]>

The physical memory map address and CCSR registers map address are different between LS2088A and other LS2080A series SoCs.

---
 arch/arm64/boot/dts/freescale/fsl-ls2088a.dtsi | 4 ++++
 1 file changed, 4 insertions(+)
arch/arm64/boot/dts/freescale/fsl-ls2088a.dtsi +0 -0
index 5c695c6..7d26531 100644
@@ -134,6 +134,7 @@
 };
 
Quoted 8 lines
Quoted 5 lines

arch/arm64/boot/dts/freescale/fsl-ls2088a.dtsi line 137

Quoted 2 lines
arch/arm64/boot/dts/freescale/fsl-ls2088a.dtsi +1 -0
 &pcie1 {
+	compatible = "fsl,ls2088a-pcie", "snps,dw-pcie";

I do not see "fsl,ls2088a-pcie" in either bindings doc or kernel driver.

I submitted the DT node patch and driver code patch separately, see the driver patch:
https://patchwork.kernel.org/patch/9827915/

Send me the dts changes after bindings and driver patch land on mainline.

Shawn

author
#6 lore raw

PATCH 1/3 dts: ls2088a: add pcie support

Quoted 53 lines

-----Original Message-----
From: Shawn Guo [mailto:shawnguo at kernel.org]
Sent: 2017?7?13? 16:31
To: Z.q. Hou <[email protected]>
Cc: mark.rutland at arm.com; devicetree at vger.kernel.org; catalin.marinas at arm.com; Prabhakar Kushwaha <[email protected]>; will.deacon at arm.com; robh+dt at kernel.org; linux-arm-kernel at lists.infradead.org
Subject: Re: [PATCH 1/3] dts: ls2088a: add pcie support

Quoted 12 lines · Z.q. Hou

Hi Shawn,

Thanks for your comments!

Quoted 8 lines

-----Original Message-----
From: Shawn Guo [mailto:shawnguo at kernel.org]
Sent: 2017?7?13? 16:18
To: Z.q. Hou <[email protected]>
Cc: linux-arm-kernel at lists.infradead.org;
devicetree at vger.kernel.org;
robh+dt at kernel.org; mark.rutland at arm.com; catalin.marinas at arm.com; will.deacon at arm.com; Prabhakar Kushwaha

<[email protected]>

Quoted 27 lines
Quoted 26 lines

Subject: Re: [PATCH 1/3] dts: ls2088a: add pcie support

Quoted 16 lines · Zhiqiang Hou

From: Hou Zhiqiang <[email protected]>

The physical memory map address and CCSR registers map address are different between LS2088A and other LS2080A series SoCs.

---
 arch/arm64/boot/dts/freescale/fsl-ls2088a.dtsi | 4 ++++
 1 file changed, 4 insertions(+)
arch/arm64/boot/dts/freescale/fsl-ls2088a.dtsi +0 -0
index 5c695c6..7d26531 100644

arch/arm64/boot/dts/freescale/fsl-ls2088a.dtsi line 137

Quoted 4 lines
arch/arm64/boot/dts/freescale/fsl-ls2088a.dtsi +1 -0
@@ -134,6 +134,7 @@
 };
 
 &pcie1 {
+	compatible = "fsl,ls2088a-pcie", "snps,dw-pcie";

I do not see "fsl,ls2088a-pcie" in either bindings doc or kernel driver.

Quoted 5 lines
Quoted 1 line

I submitted the DT node patch and driver code patch separately, see the

driver patch:

Quoted 1 line

https://patchwork.kernel.org/patch/9827915/

Send me the dts changes after bindings and driver patch land on mainline.

Sure, thanks a lot!

- Zhiqiang