[PATCH v2 4/5] arm64: Juno: Add support for the PCIe host bridge on Juno R1
Mark Rutland
mark.rutland at arm.com
Fri Oct 9 10:04:48 PDT 2015
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 at 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 at 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
More information about the linux-arm-kernel
mailing list