aboutsummaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/pci
diff options
context:
space:
mode:
authorGravatar Serge Semin <Sergey.Semin@baikalelectronics.ru> 2022-11-13 22:12:48 +0300
committerGravatar Lorenzo Pieralisi <lpieralisi@kernel.org> 2022-11-23 16:01:54 +0100
commitf133396e2d0063d589362122da659fe047643384 (patch)
tree43011cab220c00adf82d0f85df098c0a5c34504e /Documentation/devicetree/bindings/pci
parentdt-bindings: PCI: dwc: Add max-link-speed common property (diff)
downloadlinux-f133396e2d0063d589362122da659fe047643384.tar.gz
linux-f133396e2d0063d589362122da659fe047643384.tar.bz2
linux-f133396e2d0063d589362122da659fe047643384.zip
dt-bindings: PCI: dwc: Apply generic schema for generic device only
Having the generic compatible strings constraints with the 'any'+'generic string' semantic implicitly encourages either to add new DW PCIe-based DT-bindings with the generic compatible string attached or just forget about adding new DT-bindings since the corresponding DT-node will be evaluated anyway. Moreover having that semantic implemented in the generic DT-schema causes the DT-validation tool to apply the schema twice: first by implicit compatible-string-based selection and second by means of the 'allOf: [ $ref ]' statement. Let's fix all of that by dropping the compatible property constraints and selecting the generic DT-schema only for the purely generic DW PCIe DT-nodes. The later is required since there is a driver for such devices. (Though there are no such DT-nodes currently defined in the kernel DT sources.) Link: https://lore.kernel.org/r/20221113191301.5526-8-Sergey.Semin@baikalelectronics.ru Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru> Signed-off-by: Lorenzo Pieralisi <lpieralisi@kernel.org> Reviewed-by: Rob Herring <robh@kernel.org>
Diffstat (limited to 'Documentation/devicetree/bindings/pci')
-rw-r--r--Documentation/devicetree/bindings/pci/snps,dw-pcie-ep.yaml16
-rw-r--r--Documentation/devicetree/bindings/pci/snps,dw-pcie.yaml16
2 files changed, 20 insertions, 12 deletions
diff --git a/Documentation/devicetree/bindings/pci/snps,dw-pcie-ep.yaml b/Documentation/devicetree/bindings/pci/snps,dw-pcie-ep.yaml
index fc3b5d4ac245..d04001248b53 100644
--- a/Documentation/devicetree/bindings/pci/snps,dw-pcie-ep.yaml
+++ b/Documentation/devicetree/bindings/pci/snps,dw-pcie-ep.yaml
@@ -13,16 +13,20 @@ maintainers:
description: |
Synopsys DesignWare PCIe host controller endpoint
+# Please create a separate DT-schema for your DWC PCIe Endpoint controller
+# and make sure it's assigned with the vendor-specific compatible string.
+select:
+ properties:
+ compatible:
+ const: snps,dw-pcie-ep
+ required:
+ - compatible
+
allOf:
- $ref: /schemas/pci/pci-ep.yaml#
- $ref: /schemas/pci/snps,dw-pcie-common.yaml#
properties:
- compatible:
- anyOf:
- - {}
- - const: snps,dw-pcie-ep
-
reg:
description: |
It should contain Data Bus Interface (dbi) and config registers for all
@@ -38,9 +42,9 @@ properties:
enum: [dbi, dbi2, config, atu, addr_space, link, atu_dma, appl]
required:
+ - compatible
- reg
- reg-names
- - compatible
additionalProperties: true
diff --git a/Documentation/devicetree/bindings/pci/snps,dw-pcie.yaml b/Documentation/devicetree/bindings/pci/snps,dw-pcie.yaml
index e787b9727589..85861b71d9ff 100644
--- a/Documentation/devicetree/bindings/pci/snps,dw-pcie.yaml
+++ b/Documentation/devicetree/bindings/pci/snps,dw-pcie.yaml
@@ -13,16 +13,20 @@ maintainers:
description: |
Synopsys DesignWare PCIe host controller
+# Please create a separate DT-schema for your DWC PCIe Root Port controller
+# and make sure it's assigned with the vendor-specific compatible string.
+select:
+ properties:
+ compatible:
+ const: snps,dw-pcie
+ required:
+ - compatible
+
allOf:
- $ref: /schemas/pci/pci-bus.yaml#
- $ref: /schemas/pci/snps,dw-pcie-common.yaml#
properties:
- compatible:
- anyOf:
- - {}
- - const: snps,dw-pcie
-
reg:
description: |
It should contain Data Bus Interface (dbi) and config registers for all
@@ -47,9 +51,9 @@ properties:
additionalProperties: true
required:
+ - compatible
- reg
- reg-names
- - compatible
examples:
- |