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
State New
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 (Arm) 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

>> 

>> 


-- 
Qualcomm Innovation Center, Inc. is a member of 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>