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