Commit 91a773f9 authored by Dmitry Baryshkov's avatar Dmitry Baryshkov Committed by Bjorn Helgaas
Browse files

dt-bindings: PCI: qcom: Support additional MSI vectors

On Qualcomm platforms each group of 32 MSI vectors is routed to the
separate GIC interrupt. Document mapping of additional interrupts.

Link: https://lore.kernel.org/r/20220707134733.2436629-6-dmitry.baryshkov@linaro.org


Signed-off-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
Reviewed-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Reviewed-by: default avatarJohan Hovold <johan+linaro@kernel.org>
Acked-by: default avatarStanimir Varbanov <svarbanov@mm-sol.com>
parent cd761378
Loading
Loading
Loading
Loading
+48 −3
Original line number Diff line number Diff line
@@ -43,11 +43,12 @@ properties:
    maxItems: 5

  interrupts:
    maxItems: 1
    minItems: 1
    maxItems: 8

  interrupt-names:
    items:
      - const: msi
    minItems: 1
    maxItems: 8

  # Common definitions for clocks, clock-names and reset.
  # Platform constraints are described later.
@@ -623,6 +624,50 @@ allOf:
        - resets
        - reset-names

    # Newer chipsets support either 1 or 8 MSI vectors
    # On older chipsets it's always 1 MSI vector
  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,pcie-msm8996
              - qcom,pcie-sc7280
              - qcom,pcie-sc8180x
              - qcom,pcie-sdm845
              - qcom,pcie-sm8150
              - qcom,pcie-sm8250
              - qcom,pcie-sm8450-pcie0
              - qcom,pcie-sm8450-pcie1
    then:
      oneOf:
        - properties:
            interrupts:
              maxItems: 1
            interrupt-names:
              items:
                - const: msi
        - properties:
            interrupts:
              minItems: 8
            interrupt-names:
              items:
                - const: msi0
                - const: msi1
                - const: msi2
                - const: msi3
                - const: msi4
                - const: msi5
                - const: msi6
                - const: msi7
    else:
      properties:
        interrupts:
          maxItems: 1
        interrupt-names:
          items:
            - const: msi

unevaluatedProperties: false

examples: