RE: [PATCH v3 1/8] arm64: dts: ls1028a: Add PCIe EP nodes

From: Leo Li
Date: Wed Apr 13 2022 - 14:39:04 EST




> -----Original Message-----
> From: Vladimir Oltean <olteanv@xxxxxxxxx>
> Sent: Wednesday, April 13, 2022 1:22 PM
> To: Leo Li <leoyang.li@xxxxxxx>
> Cc: Z.Q. Hou <zhiqiang.hou@xxxxxxx>; Shawn Guo
> <shawnguo@xxxxxxxxxx>; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; Xiaowei Bao <xiaowei.bao@xxxxxxx>
> Subject: Re: [PATCH v3 1/8] arm64: dts: ls1028a: Add PCIe EP nodes
>
> On Wed, Apr 13, 2022 at 06:03:37PM +0000, Leo Li wrote:
> > > arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi:631.23-656.5: Warning
> > > (unique_unit_address): /soc/pcie@3400000: duplicate unit-address
> > > (also used in node /soc/pcie-ep@3400000)
> > > arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi:670.23-695.5: Warning
> > > (unique_unit_address): /soc/pcie@3500000: duplicate unit-address
> > > (also used in node /soc/pcie-ep@3500000)
> >
> > This would be a common problem for all the layerscape PCIe controller.
> > The controller can either work in RC mode or EP mode. The current
> > binding of the controller defined two compatibles, one for RC and one
> > for EP. Therefore the SoC dtsi will have two nodes with the same unit
> > address one for EP one for RC. Fixing this probably requires
> > comprehensive updates to the binding which breaks backward
> > compatibility.
>
> So we have to live with these warnings forever now?
>
> How are the PCIe controllers configured for RC or EP mode? Via RCW?
> Is dynamic configuration possible?

Yes. It is configured via RCW on reset. I don't think it can be changed at runtime.

>
> Can't U-Boot detect the operating mode from the RCW and fix up the
> compatible string in case the controller is in endpoint mode?

I believe the u-boot is already updating the node status to enable the correct one. But it might be confusing to change the compatible and a bunch of other properties at boot time.

Regards,
Leo