[EXT] Re: [PATCH 2/3] arm64: dts: ls1028a: Add PCIe controller DT nodes

Xiaowei Bao xiaowei.bao at nxp.com
Fri May 17 13:21:33 AEST 2019


Hi Arnd,

-----Original Message-----
From: Arnd Bergmann <arnd at arndb.de> 
Sent: 2019年5月15日 16:05
To: Xiaowei Bao <xiaowei.bao at nxp.com>
Cc: Bjorn Helgaas <bhelgaas at google.com>; Rob Herring <robh+dt at kernel.org>; Mark Rutland <mark.rutland at arm.com>; Shawn Guo <shawnguo at kernel.org>; Leo Li <leoyang.li at nxp.com>; Kishon <kishon at ti.com>; Lorenzo Pieralisi <lorenzo.pieralisi at arm.com>; gregkh <gregkh at linuxfoundation.org>; M.h. Lian <minghuan.lian at nxp.com>; Mingkai Hu <mingkai.hu at nxp.com>; Roy Zang <roy.zang at nxp.com>; Kate Stewart <kstewart at linuxfoundation.org>; Philippe Ombredanne <pombredanne at nexb.com>; Shawn Lin <shawn.lin at rock-chips.com>; linux-pci <linux-pci at vger.kernel.org>; DTML <devicetree at vger.kernel.org>; Linux Kernel Mailing List <linux-kernel at vger.kernel.org>; Linux ARM <linux-arm-kernel at lists.infradead.org>; linuxppc-dev <linuxppc-dev at lists.ozlabs.org>
Subject: [EXT] Re: [PATCH 2/3] arm64: dts: ls1028a: Add PCIe controller DT nodes

Caution: EXT Email

On Wed, May 15, 2019 at 9:36 AM Xiaowei Bao <xiaowei.bao at nxp.com> wrote:
> Signed-off-by: Xiaowei Bao <xiaowei.bao at nxp.com>
> ---
>  arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi |   52 ++++++++++++++++++++++++
>  1 files changed, 52 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi
> index b045812..50b579b 100644
> --- a/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi
> +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi
> @@ -398,6 +398,58 @@
>                         status = "disabled";
>                 };
>
> +               pcie at 3400000 {
> +                       compatible = "fsl,ls1028a-pcie";
> +                       reg = <0x00 0x03400000 0x0 0x00100000   /* controller registers */
> +                              0x80 0x00000000 0x0 0x00002000>; /* configuration space */
> +                       reg-names = "regs", "config";
> +                       interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>, /* PME interrupt */
> +                                    <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>; /* aer interrupt */
> +                       interrupt-names = "pme", "aer";
> +                       #address-cells = <3>;
> +                       #size-cells = <2>;
> +                       device_type = "pci";
> +                       dma-coherent;
> +                       num-lanes = <4>;
> +                       bus-range = <0x0 0xff>;
> +                       ranges = <0x81000000 0x0 0x00000000 0x80 0x00010000 0x0 0x00010000   /* downstream I/O */
> +                                 0x82000000 0x0 0x40000000 0x80 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */

Are you sure there is no support for 64-bit BARs or prefetchable memory?
[Xiaowei Bao] sorry for late reply, Thought that our Layerscape platform has not added prefetchable memory support in DTS, so this platform has not been added, I will submit a separate patch to add prefetchable memory support for all Layerscape platforms. 
Of course, the prefetchable PCIE device can work in our boards, because the RC will assign non-prefetchable memory for this device. We reserve 1G no-prefetchable memory for PCIE device, it is enough for general devices.  

Is this a hardware bug, or something that can be fixed in firmware?
[Xiaowei Bao] this is not a hardware bug, our HW support the 64-bit prefetchable memory.

       Arnd


More information about the Linuxppc-dev mailing list