Re: [PATCH v3 5/8] dt-bindings: PCI: Add Amazon's Annapurna Labs PCIe host bridge binding

From: Chocron, Jonathan
Date: Mon Aug 19 2019 - 12:16:06 EST


On Tue, 2019-08-13 at 14:46 -0600, Rob Herring wrote:
> On Tue, Aug 13, 2019 at 10:49 AM Chocron, Jonathan <jonnyc@xxxxxxxxxx
> > wrote:
> >
> > On Tue, 2019-08-13 at 09:30 -0600, Rob Herring wrote:
> > > On Tue, Jul 23, 2019 at 12:27:08PM +0300, Jonathan Chocron wrote:
> > > > Document Amazon's Annapurna Labs PCIe host bridge.
> > > >
> > > > Signed-off-by: Jonathan Chocron <jonnyc@xxxxxxxxxx>
> > > > ---
> > > > .../devicetree/bindings/pci/pcie-al.txt | 45
> > > > +++++++++++++++++++
> > > > MAINTAINERS | 3 +-
> > > > 2 files changed, 47 insertions(+), 1 deletion(-)
> > > > create mode 100644 Documentation/devicetree/bindings/pci/pcie-
> > > > al.txt
> > > >
> > > > diff --git a/Documentation/devicetree/bindings/pci/pcie-al.txt
> > > > b/Documentation/devicetree/bindings/pci/pcie-al.txt
> > > > new file mode 100644
> > > > index 000000000000..89876190eb5a
> > > > --- /dev/null
> > > > +++ b/Documentation/devicetree/bindings/pci/pcie-al.txt
> > > > @@ -0,0 +1,45 @@
> > > > +* Amazon Annapurna Labs PCIe host bridge
> > > > +
> > > > +Amazon's Annapurna Labs PCIe Host Controller is based on the
> > > > Synopsys DesignWare
> > > > +PCI core.
> > > > +It shares common functions with the PCIe DesignWare core
> > > > driver
> > > > and inherits
> > >
> > > Driver details are irrelevant to the binding.
> > >
> >
> > Will remove.
> >
> > > > +common properties defined in
> > > > Documentation/devicetree/bindings/pci/designware-pcie.txt.
> > > > +Properties of the host controller node that differ from it
> > > > are:
> > > > +
> > > > +- compatible:
> > > > + Usage: required
> > > > + Value type: <stringlist>
> > > > + Definition: Value should contain
> > > > + - "amazon,al-pcie"
> > >
> > > Needs to be SoC specific.
> > >
> >
> > I'm not sure I follow. The PCIe controller can be implemented in
> > different SoCs. Could you please clarify?
>
> All the features, bugs, and integration will be exactly the same on
> all SoCs and you will never need to distinguish?
>
> This is standard convention for compatible strings and how you avoid
> updating the DT (part of firmware) when you find some difference the
> OS needs to handle down the road.
>
> If the next SoC is 'the same', then you do:
>
> compatible = "amazon,newsoc-pcie", "amazon,oldsoc-pcie";
>
Got it. So currently the relevant SoC compatibles will be:
"amazon,al-alpine-v2-pcie"
"amazon,al-alpine-v3-pcie"

Sidenote: In the driver I'll add them to the of_device_id match table
with an empty .data field for both. Sounds sane?

I'll update all this as part of v4.

> Rob