Re: [PATCH 3/6] PCI: layerscape: Add the EP mode support

From: Arnd Bergmann
Date: Fri Oct 26 2018 - 03:03:53 EST

On 10/26/18, Xiaowei Bao <xiaowei.bao@xxxxxxx> wrote:
> From: Rob Herring <robh@xxxxxxxxxx>
>> On Thu, Oct 25, 2018 at 07:08:58PM +0800, Xiaowei Bao wrote:
>>> "fsl,ls2080a-pcie", "fsl,ls2085a-pcie", "snps,dw-pcie"
>>> "fsl,ls2088a-pcie"
>>> "fsl,ls1088a-pcie"
>>> "fsl,ls1046a-pcie"
>>> "fsl,ls1012a-pcie"
>>> + EP mode:
>>> + "fsl,ls-pcie-ep"
> > You need SoC specific compatibles for the same reasons as the RC.
> [Xiaowei Bao] I want to contains all layerscape platform use one compatible
> if the PCIe controller work in EP mode.

Do you mean only one of the SoCs that support RC mode has EP mode?
I think you still need a SoC specific compatible as Rob explained, in case
there will be a second one in the future.

If you want to ensure that you don't have to update the device driver
for each new chip that comes in when the EP mode is compatible,
the way this is handled is to list multiple values in the compatible
property, listing the first SoC that introduced the specific version of
that IP block as the most generic type, e.g.

copatible = "fsl,ls2088a-pcie-ep", "fsl,ls1012a-pcie-ep", "snps,dw-pcie-ep";

For consistency, it probably is best to match each RC mode value with
the corresponding EP mode string for each device that can support both
(if there is more than one).