Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: PCI: dw: rockchip: Add rk3576 support

rk3576 is using DWC PCIe controller, with msi interrupt directly to GIC
instead of using GIC ITS, so
- no ITS support is required and the 'msi-map' is not required,
- a new 'msi' interrupt is needed.

Co-developed-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
[mani: changed 'its' to 'ITS' in the binding, spelling mistake fix]
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patch.msgid.link/20250414145110.11275-2-kever.yang@rock-chips.com

authored by

Kever Yang and committed by
Manivannan Sadhasivam
215113ab cc9f71da

+57 -8
+8 -2
Documentation/devicetree/bindings/pci/rockchip-dw-pcie-common.yaml
··· 65 65 tx_cpl_timeout, cor_err_sent, nf_err_sent, f_err_sent, cor_err_rx, 66 66 nf_err_rx, f_err_rx, radm_qoverflow 67 67 - description: 68 - eDMA write channel 0 interrupt 68 + If the matching interrupt name is "msi", then this is the combined 69 + MSI line interrupt, which is to support MSI interrupts output to GIC 70 + controller via GIC SPI interrupt instead of GIC ITS interrupt. 71 + If the matching interrupt name is "dma0", then this is the eDMA write 72 + channel 0 interrupt. 69 73 - description: 70 74 eDMA write channel 1 interrupt 71 75 - description: ··· 85 81 - const: msg 86 82 - const: legacy 87 83 - const: err 88 - - const: dma0 84 + - enum: 85 + - msi 86 + - dma0 89 87 - const: dma1 90 88 - const: dma2 91 89 - const: dma3
+49 -6
Documentation/devicetree/bindings/pci/rockchip-dw-pcie.yaml
··· 16 16 PCIe IP and thus inherits all the common properties defined in 17 17 snps,dw-pcie.yaml. 18 18 19 - allOf: 20 - - $ref: /schemas/pci/snps,dw-pcie.yaml# 21 - - $ref: /schemas/pci/rockchip-dw-pcie-common.yaml# 22 - 23 19 properties: 24 20 compatible: 25 21 oneOf: 26 22 - const: rockchip,rk3568-pcie 27 23 - items: 28 24 - enum: 25 + - rockchip,rk3576-pcie 29 26 - rockchip,rk3588-pcie 30 27 - const: rockchip,rk3568-pcie 31 28 ··· 68 71 69 72 vpcie3v3-supply: true 70 73 71 - required: 72 - - msi-map 74 + allOf: 75 + - $ref: /schemas/pci/snps,dw-pcie.yaml# 76 + - $ref: /schemas/pci/rockchip-dw-pcie-common.yaml# 77 + - if: 78 + not: 79 + properties: 80 + compatible: 81 + contains: 82 + const: rockchip,rk3576-pcie 83 + then: 84 + required: 85 + - msi-map 86 + 87 + - if: 88 + properties: 89 + compatible: 90 + contains: 91 + const: rockchip,rk3576-pcie 92 + then: 93 + properties: 94 + interrupts: 95 + minItems: 6 96 + maxItems: 6 97 + interrupt-names: 98 + items: 99 + - const: sys 100 + - const: pmc 101 + - const: msg 102 + - const: legacy 103 + - const: err 104 + - const: msi 105 + else: 106 + properties: 107 + interrupts: 108 + minItems: 5 109 + interrupt-names: 110 + minItems: 5 111 + items: 112 + - const: sys 113 + - const: pmc 114 + - const: msg 115 + - const: legacy 116 + - const: err 117 + - const: dma0 118 + - const: dma1 119 + - const: dma2 120 + - const: dma3 121 + 73 122 74 123 unevaluatedProperties: false 75 124