Commit e73c632b authored by Sibi Sankar's avatar Sibi Sankar Committed by Bjorn Andersson
Browse files

dt-bindings: remoteproc: qcom: pas: Add QMP property



The load state power-domain, used by the co-processors to notify the
Always on Subsystem (AOSS) that a particular co-processor is up/down,
suffers from the side-effect of changing states during suspend/resume.
However the co-processors enter low-power modes independent to that of
the application processor and their states are expected to remain
unaltered across system suspend/resume cycles. To achieve this behavior
let's drop the load state power-domain and replace them with the qmp
property for all SoCs supporting low power mode signalling.

Due to the current broken load state implementation, we can afford the
binding breakage that ensues and the remoteproc functionality will remain
the same when using newer kernels with older dtbs.

Signed-off-by: default avatarSibi Sankar <sibis@codeaurora.org>
Reviewed-by: default avatarStephen Boyd <swboyd@chromium.org>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/1631800770-371-3-git-send-email-sibis@codeaurora.org
parent 7b4d7894
Loading
Loading
Loading
Loading
+24 −30
Original line number Diff line number Diff line
@@ -93,6 +93,10 @@ properties:
    maxItems: 1
    description: Reference to the reserved-memory for the Hexagon core

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

  qcom,smem-states:
    $ref: /schemas/types.yaml#/definitions/phandle-array
    description: States used by the AP to signal the Hexagon core
@@ -369,13 +373,11 @@ allOf:
      properties:
        power-domains:
          items:
            - description: Load State power domain
            - description: CX power domain
            - description: MX power domain
            - description: MSS power domain
        power-domain-names:
          items:
            - const: load_state
            - const: cx
            - const: mx
            - const: mss
@@ -391,39 +393,16 @@ allOf:
      properties:
        power-domains:
          items:
            - description: Load State power domain
            - description: CX power domain
        power-domain-names:
          items:
            - const: load_state
            - const: cx

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,sdx55-mpss-pas
              - qcom,sm8150-mpss-pas
              - qcom,sm8350-mpss-pas
    then:
      properties:
        power-domains:
          items:
            - description: Load State power domain
            - description: CX power domain
            - description: MSS power domain
        power-domain-names:
          items:
            - const: load_state
            - const: cx
            - const: mss

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,sdx55-mpss-pas
    then:
      properties:
        power-domains:
@@ -451,12 +430,10 @@ allOf:
      properties:
        power-domains:
          items:
            - description: Load State power domain
            - description: LCX power domain
            - description: LMX power domain
        power-domain-names:
          items:
            - const: load_state
            - const: lcx
            - const: lmx

@@ -470,12 +447,10 @@ allOf:
      properties:
        power-domains:
          items:
            - description: Load State power domain
            - description: CX power domain
            - description: MXC power domain
        power-domain-names:
          items:
            - const: load_state
            - const: cx
            - const: mxc

@@ -511,6 +486,25 @@ allOf:
            - const: mss_restart
            - const: pdc_reset

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,msm8974-adsp-pil
              - qcom,msm8996-adsp-pil
              - qcom,msm8996-slpi-pil
              - qcom,msm8998-adsp-pas
              - qcom,msm8998-slpi-pas
              - qcom,qcs404-adsp-pas
              - qcom,qcs404-cdsp-pas
              - qcom,qcs404-wcss-pas
              - qcom,sdm660-adsp-pas
              - qcom,sdx55-mpss-pas
    then:
      properties:
        qcom,qmp: false

examples:
  - |
    #include <dt-bindings/clock/qcom,rpmcc.h>