[PATCH v5 1/2] dt-bindings: PCI: amd-mdb: Add CPM6 support
Sai Krishna Musham <[email protected]>
| Newsgroups | org.kernel.vger.linux-pci,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
The AMD CPM6 PCIe controller is based on the Synopsys DesignWare PCIe IP and integrates two PCIe host controller instances. Add the "amd,versal2-cpm6-host" and "amd,versal2-cpm6-host1" compatible strings to describe the HOST0 and HOST1 controller instances. Add "intr" to the vendor-specific reg-names in snps,dw-pcie.yaml for the per-controller interrupt register region used by CPM6. Update amd,versal2-mdb-host.yaml with separate register definitions: - MDB5: 4 regions (slcr, config, dbi, atu) - CPM6: 5 regions (slcr, config, dbi, atu, intr) Signed-off-by: Sai Krishna Musham <[email protected]> --- Changes in v5: - Explain host vs host1 in the commit message. - Drop redundant minItems for MDB5 (4 is already min). - Drop redundant maxItems for CPM6 (5 is already max). Changes in v4: - None Changes in v3: - Update subject to match history. - Move allOf to the end, after required block. - Drop the CPM6 example. Changes in v2: - Update the CPM6 device tree binding and example. v1 https://lore.kernel.org/all/[email protected]/ v2 https://lore.kernel.org/all/[email protected]/ v3 https://lore.kernel.org/all/[email protected]/ v4 https://lore.kernel.org/all/[email protected]/ --- .../bindings/pci/amd,versal2-mdb-host.yaml | 41 ++++++++++++++++--- .../devicetree/bindings/pci/snps,dw-pcie.yaml | 2 + 2 files changed, 38 insertions(+), 5 deletions(-) diff --git a/Documentation/devicetree/bindings/pci/amd,versal2-mdb-host.yaml b/Documentation/devicetree/bindings/pci/amd,versal2-mdb-host.yaml index 406c15e1dee1..cd207b346313 100644 --- a/Documentation/devicetree/bindings/pci/amd,versal2-mdb-host.yaml +++ b/Documentation/devicetree/bindings/pci/amd,versal2-mdb-host.yaml @@ -9,27 +9,30 @@ title: AMD Versal2 MDB(Multimedia DMA Bridge) Host Controller maintainers: - Thippeswamy Havalige <[email protected]> -allOf: - - $ref: /schemas/pci/pci-host-bridge.yaml# - - $ref: /schemas/pci/snps,dw-pcie.yaml# - properties: compatible: - const: amd,versal2-mdb-host + enum: + - amd,versal2-mdb-host + - amd,versal2-cpm6-host + - amd,versal2-cpm6-host1 reg: + minItems: 4 items: - description: MDB System Level Control and Status Register (SLCR) Base - description: configuration region - description: data bus interface - description: address translation unit register + - description: CPM6 PCIe error and event interrupt registers reg-names: + minItems: 4 items: - const: slcr - const: config - const: dbi - const: atu + - const: intr ranges: maxItems: 2 @@ -92,6 +95,34 @@ required: - "#interrupt-cells" - interrupt-controller +allOf: + - $ref: /schemas/pci/pci-host-bridge.yaml# + - $ref: /schemas/pci/snps,dw-pcie.yaml# + - if: + properties: + compatible: + contains: + const: amd,versal2-mdb-host + then: + properties: + reg: + maxItems: 4 + reg-names: + maxItems: 4 + - if: + properties: + compatible: + contains: + enum: + - amd,versal2-cpm6-host + - amd,versal2-cpm6-host1 + then: + properties: + reg: + minItems: 5 + reg-names: + minItems: 5 + unevaluatedProperties: false examples: diff --git a/Documentation/devicetree/bindings/pci/snps,dw-pcie.yaml b/Documentation/devicetree/bindings/pci/snps,dw-pcie.yaml index b3216141881c..21f86609ddb6 100644 --- a/Documentation/devicetree/bindings/pci/snps,dw-pcie.yaml +++ b/Documentation/devicetree/bindings/pci/snps,dw-pcie.yaml @@ -117,6 +117,8 @@ properties: enum: [ ecam ] - description: AMD MDB PCIe SLCR region const: slcr + - description: AMD CPM6 PCIe error and event interrupt registers + const: intr allOf: - contains: enum: [ dbi, ctrl ] -- 2.44.4