[PATCH v5 1/2] dt-bindings: PCI: dw: rockchip: Add rk3576 support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



rk3576 is using dwc controller, with msi interrupt directly to gic instead
of to gic its, so
- no its support is required and the 'msi-map' is not need anymore,
- a new 'msi' interrupt is needed.

Signed-off-by: Kever Yang <kever.yang@xxxxxxxxxxxxxx>
---

Changes in v5:
- Add constraints per device for interrupt-names due to the interrupt is
different from rk3588.

Changes in v4:
- Fix wrong indentation in dt_binding_check report by Rob

Changes in v3:
- Fix dtb check broken on rk3588
- Update commit message

Changes in v2:
- remove required 'msi-map'
- add interrupt name 'msi'

 .../bindings/pci/rockchip-dw-pcie-common.yaml | 53 +++++++++++++++----
 .../bindings/pci/rockchip-dw-pcie.yaml        |  4 +-
 2 files changed, 44 insertions(+), 13 deletions(-)

diff --git a/Documentation/devicetree/bindings/pci/rockchip-dw-pcie-common.yaml b/Documentation/devicetree/bindings/pci/rockchip-dw-pcie-common.yaml
index cc9adfc7611c..eef108037184 100644
--- a/Documentation/devicetree/bindings/pci/rockchip-dw-pcie-common.yaml
+++ b/Documentation/devicetree/bindings/pci/rockchip-dw-pcie-common.yaml
@@ -40,6 +40,7 @@ properties:
 
   interrupts:
     minItems: 5
+    maxItems: 9
     items:
       - description:
           Combined system interrupt, which is used to signal the following
@@ -64,6 +65,10 @@ properties:
           interrupts - aer_rc_err, aer_rc_err_msi, rx_cpl_timeout,
           tx_cpl_timeout, cor_err_sent, nf_err_sent, f_err_sent, cor_err_rx,
           nf_err_rx, f_err_rx, radm_qoverflow
+      - description:
+          Combinded MSI line interrupt, which is to support MSI interrupts
+          output to GIC controller via GIC SPI interrupt instead of GIC its
+          interrupt.
       - description:
           eDMA write channel 0 interrupt
       - description:
@@ -75,16 +80,7 @@ properties:
 
   interrupt-names:
     minItems: 5
-    items:
-      - const: sys
-      - const: pmc
-      - const: msg
-      - const: legacy
-      - const: err
-      - const: dma0
-      - const: dma1
-      - const: dma2
-      - const: dma3
+    maxItems: 9
 
   num-lanes: true
 
@@ -123,4 +119,41 @@ required:
 
 additionalProperties: true
 
+allOf:
+  - if:
+      compatible:
+        contains:
+          enum:
+            - rockchip,rk3568-pcie
+            - rockchip,rk3588-pcie
+    then:
+      properties:
+        interrupts:
+          min-items: 5
+          max-Items: 9
+        interrupt-names:
+          items:
+            - const: sys
+            - const: pmc
+            - const: msg
+            - const: legacy
+            - const: err
+            - const: dma0
+            - const: dma1
+            - const: dma2
+            - const: dma3
+    else:
+      properties:
+        interrupts:
+          min-items: 6
+          max-Items: 6
+        interrupt-names:
+          items:
+            - const: sys
+            - const: pmc
+            - const: msg
+            - const: legacy
+            - const: err
+            - const: msi
+
 ...
diff --git a/Documentation/devicetree/bindings/pci/rockchip-dw-pcie.yaml b/Documentation/devicetree/bindings/pci/rockchip-dw-pcie.yaml
index 550d8a684af3..9a464731fa4a 100644
--- a/Documentation/devicetree/bindings/pci/rockchip-dw-pcie.yaml
+++ b/Documentation/devicetree/bindings/pci/rockchip-dw-pcie.yaml
@@ -26,6 +26,7 @@ properties:
       - const: rockchip,rk3568-pcie
       - items:
           - enum:
+              - rockchip,rk3576-pcie
               - rockchip,rk3588-pcie
           - const: rockchip,rk3568-pcie
 
@@ -71,9 +72,6 @@ properties:
 
   vpcie3v3-supply: true
 
-required:
-  - msi-map
-
 unevaluatedProperties: false
 
 examples:
-- 
2.25.1





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux