From: Bjorn Helgaas <helgaas@kernel.org>
To: Rob Herring <robh@kernel.org>
Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-pci@vger.kernel.org,
Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
Andrew Murray <andrew.murray@arm.com>,
Zhou Wang <wangzhou1@hisilicon.com>,
Will Deacon <will@kernel.org>,
David Daney <david.daney@cavium.com>
Subject: Re: [PATCH 3/3] dt-bindings: PCI: Convert generic host binding to DT schema
Date: Fri, 13 Dec 2019 15:28:12 -0600 [thread overview]
Message-ID: <20191213212812.GA201192@google.com> (raw)
In-Reply-To: <20191116005240.15722-3-robh@kernel.org>
On Fri, Nov 15, 2019 at 06:52:40PM -0600, Rob Herring wrote:
> Convert the generic PCI host binding to DT schema. The derivative Juno,
> PLDA XpressRICH3-AXI, and Designware ECAM bindings all just vary in
> their compatible strings. The simplest way to convert those to
> schema is just add them into the common generic PCI host schema.
>
> Cc: Bjorn Helgaas <bhelgaas@google.com>
> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
> Cc: Andrew Murray <andrew.murray@arm.com>
> Cc: Zhou Wang <wangzhou1@hisilicon.com>
> Cc: Will Deacon <will@kernel.org>
> Cc: David Daney <david.daney@cavium.com>
> Signed-off-by: Rob Herring <robh@kernel.org>
> ---
> .../bindings/pci/arm,juno-r1-pcie.txt | 10 --
> .../bindings/pci/designware-pcie-ecam.txt | 42 -----
> .../bindings/pci/hisilicon-pcie.txt | 4 +-
> .../bindings/pci/host-generic-pci.txt | 101 ------------
> .../bindings/pci/host-generic-pci.yaml | 150 ++++++++++++++++++
> .../bindings/pci/pci-thunder-ecam.txt | 30 ----
> .../bindings/pci/pci-thunder-pem.txt | 7 +-
> .../bindings/pci/plda,xpressrich3-axi.txt | 12 --
> MAINTAINERS | 2 +-
> 9 files changed, 155 insertions(+), 203 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/pci/arm,juno-r1-pcie.txt
> delete mode 100644 Documentation/devicetree/bindings/pci/designware-pcie-ecam.txt
> delete mode 100644 Documentation/devicetree/bindings/pci/host-generic-pci.txt
> create mode 100644 Documentation/devicetree/bindings/pci/host-generic-pci.yaml
> delete mode 100644 Documentation/devicetree/bindings/pci/pci-thunder-ecam.txt
> delete mode 100644 Documentation/devicetree/bindings/pci/plda,xpressrich3-axi.txt
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/pci/host-generic-pci.yaml
> ...
> + Interrupt mapping is exactly as described in `Open Firmware Recommended
> +
I think there's some text missing here.
> +allOf:
> + - $ref: /schemas/pci/pci-bus.yaml#
> +
> +properties:
> + compatible:
> + description: Depends on the layout of configuration space (CAM vs ECAM
> + respectively). May also have more specific compatibles.
> + anyOf:
> + - description:
> + PCIe host controller in Arm Juno based on PLDA XpressRICH3-AXI IP
> + items:
> + - const: arm,juno-r1-pcie
> + - const: plda,xpressrich3-axi
> + - const: pci-host-ecam-generic
> + - description: |
> + ThunderX PCI host controller for pass-1.x silicon
> +
> + Firmware-initialized PCI host controller to on-chip devices found on
> + some Cavium ThunderX processors. These devices have ECAM-based config
> + access, but the BARs are all at fixed addresses. We handle the fixed
> + addresses by synthesizing Enhanced Allocation (EA) capabilities for
> + these devices.
> + const: cavium,pci-host-thunder-ecam
> + - description: |
> + In some cases, firmware may already have configured the Synopsys
> + DesignWare PCIe controller in RC mode with static ATU window mappings
> + that cover all config, MMIO and I/O spaces in a [mostly] ECAM
> + compatible fashion. In this case, there is no need for the OS to
> + perform any low level setup of clocks, PHYs or device registers, nor
> + is there any reason for the driver to reconfigure ATU windows for
> + config and/or IO space accesses at runtime.
> +
> + In cases where the IP was synthesized with a minimum ATU window size
> + of 64 KB, it cannot be supported by the generic ECAM driver, because
> + it requires special config space accessors that filter accesses to
> + device #1 and beyond on the first bus.
> + items:
> + - enum:
> + - marvell,armada8k-pcie-ecam
> + - socionext,synquacer-pcie-ecam
> + - const: snps,dw-pcie-ecam
> + - contains:
> + enum:
> + - pci-host-cam-generic
> + - pci-host-ecam-generic
I assume the description that talks about "Synopsys DesignWare" goes
with "pci-host-cam-generic" and "pci-host-ecam-generic"? I hope there
can be generic controllers using non-Synopsys IP, but I don't know
quite how the description/items/contains parts are related.
> + reg:
> + description:
> + The Configuration Space base address and size, as accessed from the parent
> + bus. The base address corresponds to the first bus in the "bus-range"
> + property. If no "bus-range" is specified, this will be bus 0 (the
> + default).
> + maxItems: 1
> +
> + ranges:
> + description:
> + As described in IEEE Std 1275-1994, but must provide at least a
> + definition of non-prefetchable memory. One or both of prefetchable Memory
> + and IO Space may also be provided.
> + minItems: 1
> + maxItems: 3
> +
> + dma-coherent:
> + description: The host controller bridges the AXI transactions into PCIe bus
> + in a manner that makes the DMA operations to appear coherent to the CPUs.
The "host-generic-pci.yaml" name sounds very generic, so I'm not quite
sure how to read "AXI" -- that sounds like a feature of a specific
platform? I think "dma-coherent" itself is not platform-specific.
> +required:
> + - compatible
> + - reg
> + - ranges
> +
> +if:
> + properties:
> + compatible:
> + contains:
> + const: arm,juno-r1-pcie
> +then:
> + required:
> + - dma-coherent
next prev parent reply other threads:[~2019-12-13 21:28 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-16 0:52 [PATCH 1/3] dt-bindings: PCI: Convert Arm Versatile binding to DT schema Rob Herring
2019-11-16 0:52 ` [PATCH 2/3] dt-bindings: PCI: Convert Cadence host " Rob Herring
2019-11-16 0:52 ` [PATCH 3/3] dt-bindings: PCI: Convert generic host binding " Rob Herring
2019-12-12 14:41 ` Geert Uytterhoeven
2019-12-30 23:29 ` Rob Herring
2019-12-31 8:23 ` Geert Uytterhoeven
2019-12-31 14:31 ` Geert Uytterhoeven
2019-12-31 17:10 ` Rob Herring
2020-01-02 9:00 ` Geert Uytterhoeven
2019-12-13 21:28 ` Bjorn Helgaas [this message]
2019-12-30 21:20 ` Rob Herring
2019-11-19 14:48 ` [PATCH 1/3] dt-bindings: PCI: Convert Arm Versatile " Linus Walleij
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191213212812.GA201192@google.com \
--to=helgaas@kernel.org \
--cc=andrew.murray@arm.com \
--cc=david.daney@cavium.com \
--cc=devicetree@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=lorenzo.pieralisi@arm.com \
--cc=robh@kernel.org \
--cc=wangzhou1@hisilicon.com \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).