[U-Boot] [PATCH 22/47] P1020: dts: Added PCIe DT nodes

Z.q. Hou zhiqiang.hou at nxp.com
Tue Aug 27 02:46:55 UTC 2019


Hi Bin,

Thanks a lot for your comments!

> -----Original Message-----
> From: Bin Meng <bmeng.cn at gmail.com>
> Sent: 2019年8月26日 22:50
> To: Z.q. Hou <zhiqiang.hou at nxp.com>
> Cc: U-Boot Mailing List <u-boot at lists.denx.de>; Prabhakar Kushwaha
> <prabhakar.kushwaha at nxp.com>; Wolfgang Denk <wd at denx.de>; Priyanka
> Jain <priyanka.jain at nxp.com>; Shengzhou Liu <shengzhou.liu at nxp.com>
> Subject: Re: [U-Boot] [PATCH 22/47] P1020: dts: Added PCIe DT nodes
> 
> Hi Zhiqiang,
> 
> On Tue, Jul 23, 2019 at 9:33 PM Hou Zhiqiang <Zhiqiang.Hou at nxp.com>
> wrote:
> >
> > P1020 integrated 2 PCIe controllers, which is compatible with the PCI
> > Express™ Base Specification, Revision 1.0a, and this patch is to add
> > DT node for each PCIe controller.
> >
> > Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou at nxp.com>
> > ---
> >  arch/powerpc/dts/p1020-post.dtsi     | 20 ++++++++++++++++++++
> >  arch/powerpc/dts/p1020rdb-pc.dts     | 12 ++++++++++++
> >  arch/powerpc/dts/p1020rdb-pc_36b.dts | 12 ++++++++++++
> >  arch/powerpc/dts/p1020rdb-pd.dts     | 12 ++++++++++++
> >  4 files changed, 56 insertions(+)
> >
> > diff --git a/arch/powerpc/dts/p1020-post.dtsi
> > b/arch/powerpc/dts/p1020-post.dtsi
> > index e1a4f50..1e5e678 100644
> > --- a/arch/powerpc/dts/p1020-post.dtsi
> > +++ b/arch/powerpc/dts/p1020-post.dtsi
> > @@ -25,3 +25,23 @@
> >                 last-interrupt-source = <255>;
> >         };
> >  };
> > +
> > +/* PCIe controller base address 0x9000 */
> > +&pci1 {
> > +       compatible = "fsl,pcie-p1_p2", "fsl,pcie-fsl-qoriq";
> > +       law_trgt_if = <1>;
> > +       #address-cells = <3>;
> > +       #size-cells = <2>;
> > +       device_type = "pci";
> > +       bus-range = <0x0 0xff>;
> > +};
> > +
> > +/* PCIe controller base address 0xa000 */
> > +&pci0 {
> > +       compatible = "fsl,pcie-p1_p2", "fsl,pcie-fsl-qoriq";
> > +       law_trgt_if = <2>;
> > +       #address-cells = <3>;
> > +       #size-cells = <2>;
> > +       device_type = "pci";
> > +       bus-range = <0x0 0xff>;
> > +};
> > diff --git a/arch/powerpc/dts/p1020rdb-pc.dts
> > b/arch/powerpc/dts/p1020rdb-pc.dts
> > index fd68b8b..7ebaa61 100644
> > --- a/arch/powerpc/dts/p1020rdb-pc.dts
> > +++ b/arch/powerpc/dts/p1020rdb-pc.dts
> > @@ -18,6 +18,18 @@
> >         soc: soc at ffe00000 {
> >                 ranges = <0x0 0x0 0xffe00000 0x100000>;
> >         };
> > +
> > +       pci1: pcie at ffe09000 {
> 
> Why this is named as pci1?

The P1020 reference manual said the first controller registers offset begin at 0xa000
and the second begin at 0x9000.

> 
> > +               reg = <0x0 0xffe09000 0x0 0x1000>;      /* registers
> */
> 
> Shouldn't the <reg> property be put in the dtsi file?

The registers starting addresses are different between 32bit and 36bit dts.

Thanks,
Zhiqiang

> 
> > +               ranges = <0x01000000 0x0 0x00000000 0x0 0xffc10000
> 0x0 0x00010000   /* downstream I/O */
> > +                         0x02000000 0x0 0xa0000000 0x0
> 0xa0000000 0x0 0x20000000>; /* non-prefetchable memory */
> > +       };
> > +
> > +       pci0: pcie at ffe0a000 {
> 
> and this is pci0?
> 
> > +               reg = <0x0 0xffe0a000 0x0 0x1000>;      /* registers
> */
> > +               ranges = <0x01000000 0x0 0x00000000 0x0 0xffc00000
> 0x0 0x00010000   /* downstream I/O */
> > +                         0x02000000 0x0 0x80000000 0x0
> 0x80000000 0x0 0x20000000>; /* non-prefetchable memory */
> > +       };
> >  };
> >
> >  /include/ "p1020-post.dtsi"
> > diff --git a/arch/powerpc/dts/p1020rdb-pc_36b.dts
> > b/arch/powerpc/dts/p1020rdb-pc_36b.dts
> > index a23d031..c0e5ef4 100644
> > --- a/arch/powerpc/dts/p1020rdb-pc_36b.dts
> > +++ b/arch/powerpc/dts/p1020rdb-pc_36b.dts
> > @@ -18,6 +18,18 @@
> >         soc: soc at fffe00000 {
> >                 ranges = <0x0 0xf 0xffe00000 0x100000>;
> >         };
> > +
> > +       pci1: pcie at fffe09000 {
> > +               reg = <0xf 0xffe09000 0x0 0x1000>;      /* registers
> */
> > +               ranges = <0x01000000 0x0 0x00000000 0xf 0xffc10000
> 0x0 0x00010000   /* downstream I/O */
> > +                         0x02000000 0x0 0xc0000000 0xc
> 0x20000000 0x0 0x20000000>; /* non-prefetchable memory */
> > +       };
> > +
> > +       pci0: pcie at fffe0a000 {
> > +               reg = <0xf 0xffe0a000 0x0 0x1000>;      /* registers
> */
> > +               ranges = <0x01000000 0x0 0x00000000 0xf 0xffc00000
> 0x0 0x00010000   /* downstream I/O */
> > +                         0x02000000 0x0 0x80000000 0xc
> 0x00000000 0x0 0x20000000>; /* non-prefetchable memory */
> > +       };
> >  };
> >
> >  /include/ "p1020-post.dtsi"
> > diff --git a/arch/powerpc/dts/p1020rdb-pd.dts
> > b/arch/powerpc/dts/p1020rdb-pd.dts
> > index 81f25a3..21174a0 100644
> > --- a/arch/powerpc/dts/p1020rdb-pd.dts
> > +++ b/arch/powerpc/dts/p1020rdb-pd.dts
> > @@ -18,6 +18,18 @@
> >         soc: soc at ffe00000 {
> >                 ranges = <0x0 0x0 0xffe00000 0x100000>;
> >         };
> > +
> > +       pci1: pcie at ffe09000 {
> > +               reg = <0x0 0xffe09000 0x0 0x1000>;      /* registers
> */
> > +               ranges = <0x01000000 0x0 0x00000000 0x0 0xffc10000
> 0x0 0x00010000   /* downstream I/O */
> > +                         0x02000000 0x0 0xa0000000 0x0
> 0xa0000000 0x0 0x20000000>; /* non-prefetchable memory */
> > +       };
> > +
> > +       pci0: pcie at ffe0a000 {
> > +               reg = <0x0 0xffe0a000 0x0 0x1000>;      /* registers
> */
> > +               ranges = <0x01000000 0x0 0x00000000 0x0 0xffc00000
> 0x0 0x00010000   /* downstream I/O */
> > +                         0x02000000 0x0 0x80000000 0x0
> 0x80000000 0x0 0x20000000>; /* non-prefetchable memory */
> > +       };
> >  };
> >
> >  /include/ "p1020-post.dtsi"
> > --
> 
> Regards,
> Bin


More information about the U-Boot mailing list