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

From: Sebastian Reichel
Date: Tue Feb 25 2025 - 16:52:24 EST


Hello Kever,

On Tue, Feb 25, 2025 at 06:26:10PM +0800, Kever Yang wrote:
> 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.
>
> Signed-off-by: Kever Yang <kever.yang@xxxxxxxxxxxxxx>
> Signed-off-by: Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxx>
> ---

You should either drop my Signed-off-by or add

Co-developed-by: Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxx>

Both options are fine with me, but the current one does not make
much sense :)

Greetings,

-- Sebastian

>
> Changes in v7:
> - Move the rk3576 device specific schema out of common.yaml
>
> Changes in v6:
> - Fix make dt_binding_check and make CHECK_DTBS=y
>
> 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 | 10 +++-
> .../bindings/pci/rockchip-dw-pcie.yaml | 55 +++++++++++++++++--
> 2 files changed, 57 insertions(+), 8 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..2150bd8b5fc2 100644
> --- a/Documentation/devicetree/bindings/pci/rockchip-dw-pcie-common.yaml
> +++ b/Documentation/devicetree/bindings/pci/rockchip-dw-pcie-common.yaml
> @@ -65,7 +65,11 @@ properties:
> tx_cpl_timeout, cor_err_sent, nf_err_sent, f_err_sent, cor_err_rx,
> nf_err_rx, f_err_rx, radm_qoverflow
> - description:
> - eDMA write channel 0 interrupt
> + If the matching interrupt name is "msi", then this is the combinded
> + MSI line interrupt, which is to support MSI interrupts output to GIC
> + controller via GIC SPI interrupt instead of GIC its interrupt.
> + If the matching interrupt name is "dma0", then this is the eDMA write
> + channel 0 interrupt.
> - description:
> eDMA write channel 1 interrupt
> - description:
> @@ -81,7 +85,9 @@ properties:
> - const: msg
> - const: legacy
> - const: err
> - - const: dma0
> + - enum:
> + - msi
> + - dma0
> - const: dma1
> - const: dma2
> - const: dma3
> diff --git a/Documentation/devicetree/bindings/pci/rockchip-dw-pcie.yaml b/Documentation/devicetree/bindings/pci/rockchip-dw-pcie.yaml
> index 550d8a684af3..4764a0173ae4 100644
> --- a/Documentation/devicetree/bindings/pci/rockchip-dw-pcie.yaml
> +++ b/Documentation/devicetree/bindings/pci/rockchip-dw-pcie.yaml
> @@ -16,16 +16,13 @@ description: |+
> PCIe IP and thus inherits all the common properties defined in
> snps,dw-pcie.yaml.
>
> -allOf:
> - - $ref: /schemas/pci/snps,dw-pcie.yaml#
> - - $ref: /schemas/pci/rockchip-dw-pcie-common.yaml#
> -
> properties:
> compatible:
> oneOf:
> - const: rockchip,rk3568-pcie
> - items:
> - enum:
> + - rockchip,rk3576-pcie
> - rockchip,rk3588-pcie
> - const: rockchip,rk3568-pcie
>
> @@ -71,8 +68,54 @@ properties:
>
> vpcie3v3-supply: true
>
> -required:
> - - msi-map
> +allOf:
> + - $ref: /schemas/pci/snps,dw-pcie.yaml#
> + - $ref: /schemas/pci/rockchip-dw-pcie-common.yaml#
> + - if:
> + not:
> + properties:
> + compatible:
> + contains:
> + const: rockchip,rk3576-pcie
> + then:
> + required:
> + - msi-map
> +
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: rockchip,rk3576-pcie
> + then:
> + properties:
> + interrupts:
> + minItems: 6
> + maxItems: 6
> + interrupt-names:
> + items:
> + - const: sys
> + - const: pmc
> + - const: msg
> + - const: legacy
> + - const: err
> + - const: msi
> + else:
> + properties:
> + interrupts:
> + minItems: 5
> + interrupt-names:
> + minItems: 5
> + items:
> + - const: sys
> + - const: pmc
> + - const: msg
> + - const: legacy
> + - const: err
> + - const: dma0
> + - const: dma1
> + - const: dma2
> + - const: dma3
> +
>
> unevaluatedProperties: false
>
> --
> 2.25.1
>
>