141729b77SKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
241729b77SKrzysztof Kozlowski%YAML 1.2
341729b77SKrzysztof Kozlowski---
441729b77SKrzysztof Kozlowski$id: http://devicetree.org/schemas/remoteproc/qcom,sm6350-pas.yaml#
541729b77SKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
641729b77SKrzysztof Kozlowski
741729b77SKrzysztof Kozlowskititle: Qualcomm SM6350 Peripheral Authentication Service
841729b77SKrzysztof Kozlowski
941729b77SKrzysztof Kozlowskimaintainers:
1041729b77SKrzysztof Kozlowski  - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
1141729b77SKrzysztof Kozlowski
1241729b77SKrzysztof Kozlowskidescription:
1341729b77SKrzysztof Kozlowski  Qualcomm SM6350 SoC Peripheral Authentication Service loads and boots
1441729b77SKrzysztof Kozlowski  firmware on the Qualcomm DSP Hexagon cores.
1541729b77SKrzysztof Kozlowski
1641729b77SKrzysztof Kozlowskiproperties:
1741729b77SKrzysztof Kozlowski  compatible:
1841729b77SKrzysztof Kozlowski    enum:
1941729b77SKrzysztof Kozlowski      - qcom,sm6350-adsp-pas
2041729b77SKrzysztof Kozlowski      - qcom,sm6350-cdsp-pas
2141729b77SKrzysztof Kozlowski      - qcom,sm6350-mpss-pas
2241729b77SKrzysztof Kozlowski
2341729b77SKrzysztof Kozlowski  reg:
2441729b77SKrzysztof Kozlowski    maxItems: 1
2541729b77SKrzysztof Kozlowski
2641729b77SKrzysztof Kozlowski  clocks:
2741729b77SKrzysztof Kozlowski    items:
2841729b77SKrzysztof Kozlowski      - description: XO clock
2941729b77SKrzysztof Kozlowski
3041729b77SKrzysztof Kozlowski  clock-names:
3141729b77SKrzysztof Kozlowski    items:
3241729b77SKrzysztof Kozlowski      - const: xo
3341729b77SKrzysztof Kozlowski
3441729b77SKrzysztof Kozlowski  qcom,qmp:
3541729b77SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/phandle
3641729b77SKrzysztof Kozlowski    description: Reference to the AOSS side-channel message RAM.
3741729b77SKrzysztof Kozlowski
38cee616c6SNeil Armstrong  memory-region:
39*1e5c6933SKrzysztof Kozlowski    maxItems: 1
40cee616c6SNeil Armstrong    description: Reference to the reserved-memory for the Hexagon core
41cee616c6SNeil Armstrong
4241729b77SKrzysztof Kozlowski  smd-edge: false
4341729b77SKrzysztof Kozlowski
44cee616c6SNeil Armstrong  firmware-name:
45cee616c6SNeil Armstrong    $ref: /schemas/types.yaml#/definitions/string
46cee616c6SNeil Armstrong    description: Firmware name for the Hexagon core
47cee616c6SNeil Armstrong
4841729b77SKrzysztof Kozlowskirequired:
4941729b77SKrzysztof Kozlowski  - compatible
5041729b77SKrzysztof Kozlowski  - reg
51*1e5c6933SKrzysztof Kozlowski  - memory-region
5241729b77SKrzysztof Kozlowski
5341729b77SKrzysztof KozlowskiallOf:
5441729b77SKrzysztof Kozlowski  - $ref: /schemas/remoteproc/qcom,pas-common.yaml#
5541729b77SKrzysztof Kozlowski  - if:
5641729b77SKrzysztof Kozlowski      properties:
5741729b77SKrzysztof Kozlowski        compatible:
5841729b77SKrzysztof Kozlowski          enum:
5941729b77SKrzysztof Kozlowski            - qcom,sm6350-adsp-pas
6041729b77SKrzysztof Kozlowski            - qcom,sm6350-cdsp-pas
6141729b77SKrzysztof Kozlowski    then:
6241729b77SKrzysztof Kozlowski      properties:
6341729b77SKrzysztof Kozlowski        interrupts:
6441729b77SKrzysztof Kozlowski          maxItems: 5
6541729b77SKrzysztof Kozlowski        interrupt-names:
6641729b77SKrzysztof Kozlowski          maxItems: 5
6741729b77SKrzysztof Kozlowski    else:
6841729b77SKrzysztof Kozlowski      properties:
6941729b77SKrzysztof Kozlowski        interrupts:
7041729b77SKrzysztof Kozlowski          minItems: 6
7141729b77SKrzysztof Kozlowski        interrupt-names:
7241729b77SKrzysztof Kozlowski          minItems: 6
7341729b77SKrzysztof Kozlowski
7441729b77SKrzysztof Kozlowski  - if:
7541729b77SKrzysztof Kozlowski      properties:
7641729b77SKrzysztof Kozlowski        compatible:
7741729b77SKrzysztof Kozlowski          enum:
7841729b77SKrzysztof Kozlowski            - qcom,sm6350-adsp-pas
7941729b77SKrzysztof Kozlowski    then:
8041729b77SKrzysztof Kozlowski      properties:
8141729b77SKrzysztof Kozlowski        power-domains:
8241729b77SKrzysztof Kozlowski          items:
8341729b77SKrzysztof Kozlowski            - description: LCX power domain
8441729b77SKrzysztof Kozlowski            - description: LMX power domain
8541729b77SKrzysztof Kozlowski        power-domain-names:
8641729b77SKrzysztof Kozlowski          items:
8741729b77SKrzysztof Kozlowski            - const: lcx
8841729b77SKrzysztof Kozlowski            - const: lmx
8941729b77SKrzysztof Kozlowski
9041729b77SKrzysztof Kozlowski  - if:
9141729b77SKrzysztof Kozlowski      properties:
9241729b77SKrzysztof Kozlowski        compatible:
9341729b77SKrzysztof Kozlowski          enum:
9441729b77SKrzysztof Kozlowski            - qcom,sm6350-cdsp-pas
9541729b77SKrzysztof Kozlowski    then:
9641729b77SKrzysztof Kozlowski      properties:
9741729b77SKrzysztof Kozlowski        power-domains:
9841729b77SKrzysztof Kozlowski          items:
9941729b77SKrzysztof Kozlowski            - description: CX power domain
10041729b77SKrzysztof Kozlowski            - description: MX power domain
10141729b77SKrzysztof Kozlowski        power-domain-names:
10241729b77SKrzysztof Kozlowski          items:
10341729b77SKrzysztof Kozlowski            - const: cx
10441729b77SKrzysztof Kozlowski            - const: mx
10541729b77SKrzysztof Kozlowski
10641729b77SKrzysztof Kozlowski  - if:
10741729b77SKrzysztof Kozlowski      properties:
10841729b77SKrzysztof Kozlowski        compatible:
10941729b77SKrzysztof Kozlowski          enum:
11041729b77SKrzysztof Kozlowski            - qcom,sm6350-mpss-pas
11141729b77SKrzysztof Kozlowski    then:
11241729b77SKrzysztof Kozlowski      properties:
11341729b77SKrzysztof Kozlowski        power-domains:
11441729b77SKrzysztof Kozlowski          items:
11541729b77SKrzysztof Kozlowski            - description: CX power domain
11641729b77SKrzysztof Kozlowski            - description: MSS power domain
11741729b77SKrzysztof Kozlowski        power-domain-names:
11841729b77SKrzysztof Kozlowski          items:
11941729b77SKrzysztof Kozlowski            - const: cx
12041729b77SKrzysztof Kozlowski            - const: mss
12141729b77SKrzysztof Kozlowski
12241729b77SKrzysztof KozlowskiunevaluatedProperties: false
12341729b77SKrzysztof Kozlowski
12441729b77SKrzysztof Kozlowskiexamples:
12541729b77SKrzysztof Kozlowski  - |
12641729b77SKrzysztof Kozlowski    #include <dt-bindings/clock/qcom,rpmh.h>
12741729b77SKrzysztof Kozlowski    #include <dt-bindings/interrupt-controller/irq.h>
12841729b77SKrzysztof Kozlowski    #include <dt-bindings/mailbox/qcom-ipcc.h>
12941729b77SKrzysztof Kozlowski    #include <dt-bindings/power/qcom-rpmpd.h>
13041729b77SKrzysztof Kozlowski
13141729b77SKrzysztof Kozlowski    remoteproc@3000000 {
13241729b77SKrzysztof Kozlowski        compatible = "qcom,sm6350-adsp-pas";
13341729b77SKrzysztof Kozlowski        reg = <0x03000000 0x100>;
13441729b77SKrzysztof Kozlowski
13541729b77SKrzysztof Kozlowski        clocks = <&rpmhcc RPMH_CXO_CLK>;
13641729b77SKrzysztof Kozlowski        clock-names = "xo";
13741729b77SKrzysztof Kozlowski
13841729b77SKrzysztof Kozlowski        interrupts-extended = <&pdc 6 IRQ_TYPE_LEVEL_HIGH>,
13941729b77SKrzysztof Kozlowski                              <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>,
14041729b77SKrzysztof Kozlowski                              <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>,
14141729b77SKrzysztof Kozlowski                              <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>,
14241729b77SKrzysztof Kozlowski                              <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>;
14341729b77SKrzysztof Kozlowski        interrupt-names = "wdog", "fatal", "ready",
14441729b77SKrzysztof Kozlowski                          "handover", "stop-ack";
14541729b77SKrzysztof Kozlowski
14641729b77SKrzysztof Kozlowski        memory-region = <&pil_adsp_mem>;
14741729b77SKrzysztof Kozlowski
14841729b77SKrzysztof Kozlowski        power-domains = <&rpmhpd SM6350_LCX>,
14941729b77SKrzysztof Kozlowski                        <&rpmhpd SM6350_LMX>;
15041729b77SKrzysztof Kozlowski        power-domain-names = "lcx", "lmx";
15141729b77SKrzysztof Kozlowski
15241729b77SKrzysztof Kozlowski        qcom,qmp = <&aoss_qmp>;
15341729b77SKrzysztof Kozlowski        qcom,smem-states = <&smp2p_adsp_out 0>;
15441729b77SKrzysztof Kozlowski        qcom,smem-state-names = "stop";
15541729b77SKrzysztof Kozlowski
15641729b77SKrzysztof Kozlowski        glink-edge {
15741729b77SKrzysztof Kozlowski            interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
15841729b77SKrzysztof Kozlowski                                         IPCC_MPROC_SIGNAL_GLINK_QMP
15941729b77SKrzysztof Kozlowski                                         IRQ_TYPE_EDGE_RISING>;
16041729b77SKrzysztof Kozlowski            mboxes = <&ipcc IPCC_CLIENT_LPASS
16141729b77SKrzysztof Kozlowski                            IPCC_MPROC_SIGNAL_GLINK_QMP>;
16241729b77SKrzysztof Kozlowski
16341729b77SKrzysztof Kozlowski            label = "lpass";
16441729b77SKrzysztof Kozlowski            qcom,remote-pid = <2>;
16541729b77SKrzysztof Kozlowski
16641729b77SKrzysztof Kozlowski            /* ... */
16741729b77SKrzysztof Kozlowski        };
16841729b77SKrzysztof Kozlowski    };
169