Message ID | 1444409849-5685-5-git-send-email-Liviu.Dudau@arm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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
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
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 { --
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(+) 2.6.0