On Wed, Jul 09, 2025 at 01:13:07PM +0200, Luca Weiss wrote:
>Document the bindings for the ADSP, CDSP, MPSS and WPSS PAS on the Milos
>(e.g. SM7635) SoC.
>
>Signed-off-by: Luca Weiss <luca.we...@fairphone.com>
>---
> .../bindings/remoteproc/qcom,milos-pas.yaml        | 201 +++++++++++++++++++++
> 1 file changed, 201 insertions(+)
>
>diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,milos-pas.yaml 
>b/Documentation/devicetree/bindings/remoteproc/qcom,milos-pas.yaml
>new file mode 100644
>index 
>0000000000000000000000000000000000000000..790ad38a0330bf81f6333e887522ddb97690edbc
>--- /dev/null
>+++ b/Documentation/devicetree/bindings/remoteproc/qcom,milos-pas.yaml
>@@ -0,0 +1,201 @@
>+# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
>+%YAML 1.2
>+---
>+$id: http://devicetree.org/schemas/remoteproc/qcom,milos-pas.yaml#
>+$schema: http://devicetree.org/meta-schemas/core.yaml#
>+
>+title: Qualcomm Milos SoC Peripheral Authentication Service
>+
>+maintainers:
>+  - Luca Weiss <luca.we...@fairphone.com>
>+
>+description:
>+  Qualcomm Milos SoC Peripheral Authentication Service loads and boots 
>firmware
>+  on the Qualcomm DSP Hexagon cores.
>+
>+properties:
>+  compatible:
>+    enum:
>+      - qcom,milos-adsp-pas
>+      - qcom,milos-cdsp-pas
>+      - qcom,milos-mpss-pas
>+      - qcom,milos-wpss-pas
>+
>+  reg:
>+    maxItems: 1
>+
>+  clocks:
>+    items:
>+      - description: XO clock
>+
>+  clock-names:
>+    items:
>+      - const: xo
>+
>+  interrupts:
>+    minItems: 6
>+    maxItems: 6

If minItems and maxItems are same, just keep minItems.

>+
>+  interrupt-names:
>+    minItems: 6
>+    maxItems: 6

Ditto.

Do you need to define the list?

>+
>+  qcom,qmp:
>+    $ref: /schemas/types.yaml#/definitions/phandle
>+    description: Reference to the AOSS side-channel message RAM.
>+
>+  smd-edge: false
>+
>+  firmware-name:
>+    $ref: /schemas/types.yaml#/definitions/string-array
>+    minItems: 1
>+    items:
>+      - description: Firmware name of the Hexagon core
>+      - description: Firmware name of the Hexagon Devicetree
>+
>+  memory-region:
>+    minItems: 1
>+    items:
>+      - description: Memory region for core Firmware authentication
>+      - description: Memory region for Devicetree Firmware authentication
>+
>+required:
>+  - compatible
>+  - reg
>+  - memory-region
>+
>+allOf:
>+  - $ref: /schemas/remoteproc/qcom,pas-common.yaml#
>+  - if:
>+      properties:
>+        compatible:
>+          enum:
>+            - qcom,milos-adsp-pas
>+            - qcom,milos-cdsp-pas
>+    then:
>+      properties:
>+        memory-region:
>+          minItems: 2
>+          maxItems: 2
>+        firmware-name:
>+          minItems: 2
>+          maxItems: 2

Just keep minItems if maxItems is same value.

>+    else:
>+      properties:
>+        memory-region:
>+          maxItems: 1
>+        firmware-name:
>+          maxItems: 1
>+
>+  - if:
>+      properties:
>+        compatible:
>+          contains:
>+            enum:
>+              - qcom,milos-adsp-pas
>+    then:
>+      properties:
>+        power-domains:
>+          items:
>+            - description: LCX power domain
>+            - description: LMX power domain
>+        power-domain-names:
>+          items:
>+            - const: lcx
>+            - const: lmx
>+
>+  - if:
>+      properties:
>+        compatible:
>+          enum:
>+            - qcom,milos-cdsp-pas
>+            - qcom,milos-wpss-pas
>+    then:
>+      properties:
>+        power-domains:
>+          items:
>+            - description: CX power domain
>+            - description: MX power domain
>+        power-domain-names:
>+          items:
>+            - const: cx
>+            - const: mx
>+
>+  - if:
>+      properties:
>+        compatible:
>+          enum:
>+            - qcom,milos-mpss-pas
>+    then:
>+      properties:
>+        power-domains:
>+          items:
>+            - description: CX power domain
>+            - description: MSS power domain
>+        power-domain-names:
>+          items:
>+            - const: cx
>+            - const: mss
>+
>+unevaluatedProperties: false
>+
>+examples:
>+  - |
>+    #include <dt-bindings/clock/qcom,rpmh.h>
>+    #include <dt-bindings/interconnect/qcom,icc.h>
>+    #include <dt-bindings/interconnect/qcom,milos-rpmh.h>
>+    #include <dt-bindings/interrupt-controller/irq.h>
>+    #include <dt-bindings/mailbox/qcom-ipcc.h>
>+    #include <dt-bindings/power/qcom,rpmhpd.h>
>+
>+    remoteproc@3000000 {
>+        compatible = "qcom,milos-adsp-pas";
>+        reg = <0x03000000 0x10000>;
>+
>+        interrupts-extended = <&pdc 6 IRQ_TYPE_EDGE_RISING>,
>+                              <&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>;

This seems not defined in bindings, I am not sure on this. Just a question
here.

Regards
Peng

Reply via email to