dts: ls2088a: add pcie support
Subsystems (2)
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
@@ -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
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
@@ -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
PATCH 3/3 dts: ls1088a: add PCIe controller DT nodes
In reply to Zhiqiang HouFrom: 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
@@ -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
PATCH 1/3 dts: ls2088a: add pcie support
In reply to Zhiqiang HouQuoted 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.
Signed-off-by Hou Zhiqiang <[email protected]>--- arch/arm64/boot/dts/freescale/fsl-ls2088a.dtsi | 4 ++++ 1 file changed, 4 insertions(+)arch/arm64/boot/dts/freescale/fsl-ls2088a.dtsi +0
-0
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
-0reg = <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
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 supportQuoted 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.
Signed-off-by Hou Zhiqiang <[email protected]>--- arch/arm64/boot/dts/freescale/fsl-ls2088a.dtsi | 4 ++++ 1 file changed, 4 insertions(+)arch/arm64/boot/dts/freescale/fsl-ls2088a.dtsi +0
-0@@ -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
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 supportQuoted 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.
Signed-off-by Hou Zhiqiang <[email protected]>--- arch/arm64/boot/dts/freescale/fsl-ls2088a.dtsi | 4 ++++ 1 file changed, 4 insertions(+)arch/arm64/boot/dts/freescale/fsl-ls2088a.dtsi +0
-0@@ -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
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 supportQuoted 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 KushwahaQuoted 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.
Signed-off-by Hou Zhiqiang <[email protected]>--- arch/arm64/boot/dts/freescale/fsl-ls2088a.dtsi | 4 ++++ 1 file changed, 4 insertions(+)arch/arm64/boot/dts/freescale/fsl-ls2088a.dtsi +0
-0arch/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
Send me the dts changes after bindings and driver patch land on mainline.
Sure, thanks a lot!
- Zhiqiang