diff mbox series

[v2,02/13] dt-bindings: remoteproc: qcom: pas: Add QMP bindings

Message ID 1623080372-13521-3-git-send-email-sibis@codeaurora.org (mailing list archive)
State Superseded
Headers show
Series Use qmp_send to update co-processor load state | expand

Commit Message

Sibi Sankar June 7, 2021, 3:39 p.m. UTC
Add Qualcomm Mailbox Protocol (QMP) binding to replace the power domains
exposed by the AOSS QMP node.

Signed-off-by: Sibi Sankar <sibis@codeaurora.org>
---

v2:
 * Drop R-b from Rob/Stephen due to yaml conversion.

 .../devicetree/bindings/remoteproc/qcom,adsp.yaml  | 40 +++++++++++++++-------
 1 file changed, 27 insertions(+), 13 deletions(-)

Comments

Rob Herring June 18, 2021, 8:25 p.m. UTC | #1
On Mon, Jun 07, 2021 at 09:09:21PM +0530, Sibi Sankar wrote:
> Add Qualcomm Mailbox Protocol (QMP) binding to replace the power domains
> exposed by the AOSS QMP node.
> 
> Signed-off-by: Sibi Sankar <sibis@codeaurora.org>
> ---
> 
> v2:
>  * Drop R-b from Rob/Stephen due to yaml conversion.
> 
>  .../devicetree/bindings/remoteproc/qcom,adsp.yaml  | 40 +++++++++++++++-------
>  1 file changed, 27 insertions(+), 13 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml
> index 9ea05e608bc1..b6396bc07388 100644
> --- a/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml
> +++ b/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml
> @@ -89,6 +89,10 @@ properties:
>      maxItems: 1
>      description: Reference to the reserved-memory for the Hexagon core
>  
> +  qcom,qmp:

Is there more than one QMP? If not just search for the QMP node and you 
can avoid the ABI issue at least partially.

> +    $ref: /schemas/types.yaml#/definitions/phandle-array

There's more than 1 cell? What's in them?

> +    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
> @@ -359,13 +363,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
> @@ -381,12 +383,7 @@ 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:
> @@ -399,12 +396,10 @@ allOf:
>        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
>  
> @@ -439,12 +434,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
>  
> @@ -458,12 +451,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
>  
> @@ -499,6 +490,29 @@ allOf:
>              - const: mss_restart
>              - const: pdc_reset
>  
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - qcom,sc7180-mpss-pas
> +              - qcom,sm8150-adsp-pas
> +              - qcom,sm8150-cdsp-pas
> +              - qcom,sm8150-mpss-pas
> +              - qcom,sm8150-slpi-pas
> +              - qcom,sm8250-adsp-pas
> +              - qcom,sm8250-cdsp-pas
> +              - qcom,sm8250-slpi-pas
> +              - qcom,sm8350-adsp-pas
> +              - qcom,sm8350-cdsp-pas
> +              - qcom,sm8350-mpss-pas
> +              - qcom,sm8350-slpi-pas
> +    then:
> +      properties:
> +        qcom,qmp:
> +          items:
> +            - description: Reference to the AOSS side-channel message RAM.
> +
>  examples:
>    - |
>      #include <dt-bindings/clock/qcom,rpmcc.h>
> -- 
> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
> a Linux Foundation Collaborative Project
> 
>
Sibi Sankar June 22, 2021, 7:23 a.m. UTC | #2
Hey Rob,
Thanks for the review.

On 2021-06-19 01:55, Rob Herring wrote:
> On Mon, Jun 07, 2021 at 09:09:21PM +0530, Sibi Sankar wrote:
>> Add Qualcomm Mailbox Protocol (QMP) binding to replace the power 
>> domains
>> exposed by the AOSS QMP node.
>> 
>> Signed-off-by: Sibi Sankar <sibis@codeaurora.org>
>> ---
>> 
>> v2:
>>  * Drop R-b from Rob/Stephen due to yaml conversion.
>> 
>>  .../devicetree/bindings/remoteproc/qcom,adsp.yaml  | 40 
>> +++++++++++++++-------
>>  1 file changed, 27 insertions(+), 13 deletions(-)
>> 
>> diff --git 
>> a/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml 
>> b/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml
>> index 9ea05e608bc1..b6396bc07388 100644
>> --- a/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml
>> +++ b/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml
>> @@ -89,6 +89,10 @@ properties:
>>      maxItems: 1
>>      description: Reference to the reserved-memory for the Hexagon 
>> core
>> 
>> +  qcom,qmp:
> 
> Is there more than one QMP? If not just search for the QMP node and you
> can avoid the ABI issue at least partially.

yeah there is just one qmp node
used by all remote processors and
we just search for the qmp node.

> 
>> +    $ref: /schemas/types.yaml#/definitions/phandle-array
> 
> There's more than 1 cell? What's in them?

Just a single cell i.e. handle to the
qmp node. I'll fix this in the re-spin.

> 
>> +    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
>> @@ -359,13 +363,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
>> @@ -381,12 +383,7 @@ 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:
>> @@ -399,12 +396,10 @@ allOf:
>>        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
>> 
>> @@ -439,12 +434,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
>> 
>> @@ -458,12 +451,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
>> 
>> @@ -499,6 +490,29 @@ allOf:
>>              - const: mss_restart
>>              - const: pdc_reset
>> 
>> +  - if:
>> +      properties:
>> +        compatible:
>> +          contains:
>> +            enum:
>> +              - qcom,sc7180-mpss-pas
>> +              - qcom,sm8150-adsp-pas
>> +              - qcom,sm8150-cdsp-pas
>> +              - qcom,sm8150-mpss-pas
>> +              - qcom,sm8150-slpi-pas
>> +              - qcom,sm8250-adsp-pas
>> +              - qcom,sm8250-cdsp-pas
>> +              - qcom,sm8250-slpi-pas
>> +              - qcom,sm8350-adsp-pas
>> +              - qcom,sm8350-cdsp-pas
>> +              - qcom,sm8350-mpss-pas
>> +              - qcom,sm8350-slpi-pas
>> +    then:
>> +      properties:
>> +        qcom,qmp:
>> +          items:
>> +            - description: Reference to the AOSS side-channel message 
>> RAM.
>> +
>>  examples:
>>    - |
>>      #include <dt-bindings/clock/qcom,rpmcc.h>
>> --
>> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora 
>> Forum,
>> a Linux Foundation Collaborative Project
>> 
>>
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml
index 9ea05e608bc1..b6396bc07388 100644
--- a/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml
+++ b/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml
@@ -89,6 +89,10 @@  properties:
     maxItems: 1
     description: Reference to the reserved-memory for the Hexagon core
 
+  qcom,qmp:
+    $ref: /schemas/types.yaml#/definitions/phandle-array
+    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
@@ -359,13 +363,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
@@ -381,12 +383,7 @@  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:
@@ -399,12 +396,10 @@  allOf:
       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
 
@@ -439,12 +434,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
 
@@ -458,12 +451,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
 
@@ -499,6 +490,29 @@  allOf:
             - const: mss_restart
             - const: pdc_reset
 
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - qcom,sc7180-mpss-pas
+              - qcom,sm8150-adsp-pas
+              - qcom,sm8150-cdsp-pas
+              - qcom,sm8150-mpss-pas
+              - qcom,sm8150-slpi-pas
+              - qcom,sm8250-adsp-pas
+              - qcom,sm8250-cdsp-pas
+              - qcom,sm8250-slpi-pas
+              - qcom,sm8350-adsp-pas
+              - qcom,sm8350-cdsp-pas
+              - qcom,sm8350-mpss-pas
+              - qcom,sm8350-slpi-pas
+    then:
+      properties:
+        qcom,qmp:
+          items:
+            - description: Reference to the AOSS side-channel message RAM.
+
 examples:
   - |
     #include <dt-bindings/clock/qcom,rpmcc.h>