Commit 397c619c authored by Krzysztof Kozlowski's avatar Krzysztof Kozlowski Committed by Bjorn Andersson
Browse files

dt-bindings: remoteproc: qcom,sc8280xp-pas: split into separate file



Split SC8280XP remote processor Peripheral Authentication Service bindings
into their own file to reduce complexity and make maintenance easier.

While moving correctly constrain the number of interrupts per specific
device.

Signed-off-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarBjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20221124184333.133911-11-krzysztof.kozlowski@linaro.org
parent 41729b77
Loading
Loading
Loading
Loading
+0 −26
Original line number Diff line number Diff line
@@ -30,9 +30,6 @@ properties:
      - qcom,sc8180x-adsp-pas
      - qcom,sc8180x-cdsp-pas
      - qcom,sc8180x-mpss-pas
      - qcom,sc8280xp-adsp-pas
      - qcom,sc8280xp-nsp0-pas
      - qcom,sc8280xp-nsp1-pas
      - qcom,sdm660-adsp-pas
      - qcom,sdm845-adsp-pas
      - qcom,sdm845-cdsp-pas
@@ -76,9 +73,6 @@ allOf:
              - qcom,sc8180x-adsp-pas
              - qcom,sc8180x-cdsp-pas
              - qcom,sc8180x-mpss-pas
              - qcom,sc8280xp-adsp-pas
              - qcom,sc8280xp-nsp0-pas
              - qcom,sc8280xp-nsp1-pas
              - qcom,sdm845-adsp-pas
              - qcom,sdm845-cdsp-pas
    then:
@@ -123,9 +117,6 @@ allOf:
              - qcom,qcs404-wcss-pas
              - qcom,sc8180x-adsp-pas
              - qcom,sc8180x-cdsp-pas
              - qcom,sc8280xp-adsp-pas
              - qcom,sc8280xp-nsp0-pas
              - qcom,sc8280xp-nsp1-pas
              - qcom,sdm845-adsp-pas
              - qcom,sdm845-cdsp-pas
    then:
@@ -240,7 +231,6 @@ allOf:
            enum:
              - qcom,sc8180x-adsp-pas
              - qcom,sc8180x-cdsp-pas
              - qcom,sc8280xp-adsp-pas
    then:
      properties:
        power-domains:
@@ -252,22 +242,6 @@ allOf:
            - const: lcx
            - const: lmx

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,sc8280xp-nsp0-pas
              - qcom,sc8280xp-nsp1-pas
    then:
      properties:
        power-domains:
          items:
            - description: NSP power domain
        power-domain-names:
          items:
            - const: nsp

  - if:
      properties:
        compatible:
+139 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/remoteproc/qcom,sc8280xp-pas.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm SC8280XP Peripheral Authentication Service

maintainers:
  - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>

description:
  Qualcomm SC8280XP SoC Peripheral Authentication Service loads and boots
  firmware on the Qualcomm DSP Hexagon cores.

properties:
  compatible:
    enum:
      - qcom,sc8280xp-adsp-pas
      - qcom,sc8280xp-nsp0-pas
      - qcom,sc8280xp-nsp1-pas

  reg:
    maxItems: 1

  clocks:
    items:
      - description: XO clock

  clock-names:
    items:
      - const: xo

  qcom,qmp:
    $ref: /schemas/types.yaml#/definitions/phandle
    description: Reference to the AOSS side-channel message RAM.

  smd-edge: false

required:
  - compatible
  - reg

allOf:
  - $ref: /schemas/remoteproc/qcom,pas-common.yaml#
  - if:
      properties:
        compatible:
          enum:
            - qcom,sc8280xp-nsp0-pas
            - qcom,sc8280xp-nsp1-pas
    then:
      properties:
        interrupts:
          maxItems: 5
        interrupt-names:
          maxItems: 5
    else:
      properties:
        interrupts:
          minItems: 6
        interrupt-names:
          minItems: 6

  - if:
      properties:
        compatible:
          enum:
            - qcom,sc8280xp-adsp-pas
    then:
      properties:
        power-domains:
          items:
            - description: LCX power domain
            - description: LMX power domain
        power-domain-names:
          items:
            - const: lcx
            - const: lmx
    else:
      properties:
        power-domains:
          items:
            - description: NSP power domain
        power-domain-names:
          items:
            - const: nsp

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/clock/qcom,rpmh.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/mailbox/qcom-ipcc.h>
    #include <dt-bindings/power/qcom-rpmpd.h>

    remoteproc@3000000 {
        compatible = "qcom,sc8280xp-adsp-pas";
        reg = <0x03000000 0x100>;

        clocks = <&rpmhcc RPMH_CXO_CLK>;
        clock-names = "xo";

        firmware-name = "qcom/sc8280xp/qcadsp8280.mbn";

        interrupts-extended = <&intc GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>,
                              <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>,
                              <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>,
                              <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>,
                              <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>,
                              <&smp2p_adsp_in 7 IRQ_TYPE_EDGE_RISING>;
        interrupt-names = "wdog", "fatal", "ready",
                          "handover", "stop-ack", "shutdown-ack";

        memory-region = <&pil_adsp_mem>;

        power-domains = <&rpmhpd SC8280XP_LCX>,
                        <&rpmhpd SC8280XP_LMX>;
        power-domain-names = "lcx", "lmx";

        qcom,qmp = <&aoss_qmp>;
        qcom,smem-states = <&smp2p_adsp_out 0>;
        qcom,smem-state-names = "stop";

        glink-edge {
            interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
                                         IPCC_MPROC_SIGNAL_GLINK_QMP
                                         IRQ_TYPE_EDGE_RISING>;
            mboxes = <&ipcc IPCC_CLIENT_LPASS
                            IPCC_MPROC_SIGNAL_GLINK_QMP>;

            label = "lpass";
            qcom,remote-pid = <2>;

            /* ... */
        };
    };