xref: /linux/Documentation/devicetree/bindings/remoteproc/qcom,sm6350-pas.yaml (revision cee616c6884616aea3be72a9debafd0614332682)
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
38*cee616c6SNeil Armstrong  memory-region:
39*cee616c6SNeil Armstrong    minItems: 1
40*cee616c6SNeil Armstrong    description: Reference to the reserved-memory for the Hexagon core
41*cee616c6SNeil Armstrong
4241729b77SKrzysztof Kozlowski  smd-edge: false
4341729b77SKrzysztof Kozlowski
44*cee616c6SNeil Armstrong  firmware-name:
45*cee616c6SNeil Armstrong    $ref: /schemas/types.yaml#/definitions/string
46*cee616c6SNeil Armstrong    description: Firmware name for the Hexagon core
47*cee616c6SNeil Armstrong
4841729b77SKrzysztof Kozlowskirequired:
4941729b77SKrzysztof Kozlowski  - compatible
5041729b77SKrzysztof Kozlowski  - reg
5141729b77SKrzysztof Kozlowski
5241729b77SKrzysztof KozlowskiallOf:
5341729b77SKrzysztof Kozlowski  - $ref: /schemas/remoteproc/qcom,pas-common.yaml#
5441729b77SKrzysztof Kozlowski  - if:
5541729b77SKrzysztof Kozlowski      properties:
5641729b77SKrzysztof Kozlowski        compatible:
5741729b77SKrzysztof Kozlowski          enum:
5841729b77SKrzysztof Kozlowski            - qcom,sm6350-adsp-pas
5941729b77SKrzysztof Kozlowski            - qcom,sm6350-cdsp-pas
6041729b77SKrzysztof Kozlowski    then:
6141729b77SKrzysztof Kozlowski      properties:
6241729b77SKrzysztof Kozlowski        interrupts:
6341729b77SKrzysztof Kozlowski          maxItems: 5
6441729b77SKrzysztof Kozlowski        interrupt-names:
6541729b77SKrzysztof Kozlowski          maxItems: 5
6641729b77SKrzysztof Kozlowski    else:
6741729b77SKrzysztof Kozlowski      properties:
6841729b77SKrzysztof Kozlowski        interrupts:
6941729b77SKrzysztof Kozlowski          minItems: 6
7041729b77SKrzysztof Kozlowski        interrupt-names:
7141729b77SKrzysztof Kozlowski          minItems: 6
7241729b77SKrzysztof Kozlowski
7341729b77SKrzysztof Kozlowski  - if:
7441729b77SKrzysztof Kozlowski      properties:
7541729b77SKrzysztof Kozlowski        compatible:
7641729b77SKrzysztof Kozlowski          enum:
7741729b77SKrzysztof Kozlowski            - qcom,sm6350-adsp-pas
7841729b77SKrzysztof Kozlowski    then:
7941729b77SKrzysztof Kozlowski      properties:
8041729b77SKrzysztof Kozlowski        power-domains:
8141729b77SKrzysztof Kozlowski          items:
8241729b77SKrzysztof Kozlowski            - description: LCX power domain
8341729b77SKrzysztof Kozlowski            - description: LMX power domain
8441729b77SKrzysztof Kozlowski        power-domain-names:
8541729b77SKrzysztof Kozlowski          items:
8641729b77SKrzysztof Kozlowski            - const: lcx
8741729b77SKrzysztof Kozlowski            - const: lmx
8841729b77SKrzysztof Kozlowski
8941729b77SKrzysztof Kozlowski  - if:
9041729b77SKrzysztof Kozlowski      properties:
9141729b77SKrzysztof Kozlowski        compatible:
9241729b77SKrzysztof Kozlowski          enum:
9341729b77SKrzysztof Kozlowski            - qcom,sm6350-cdsp-pas
9441729b77SKrzysztof Kozlowski    then:
9541729b77SKrzysztof Kozlowski      properties:
9641729b77SKrzysztof Kozlowski        power-domains:
9741729b77SKrzysztof Kozlowski          items:
9841729b77SKrzysztof Kozlowski            - description: CX power domain
9941729b77SKrzysztof Kozlowski            - description: MX power domain
10041729b77SKrzysztof Kozlowski        power-domain-names:
10141729b77SKrzysztof Kozlowski          items:
10241729b77SKrzysztof Kozlowski            - const: cx
10341729b77SKrzysztof Kozlowski            - const: mx
10441729b77SKrzysztof Kozlowski
10541729b77SKrzysztof Kozlowski  - if:
10641729b77SKrzysztof Kozlowski      properties:
10741729b77SKrzysztof Kozlowski        compatible:
10841729b77SKrzysztof Kozlowski          enum:
10941729b77SKrzysztof Kozlowski            - qcom,sm6350-mpss-pas
11041729b77SKrzysztof Kozlowski    then:
11141729b77SKrzysztof Kozlowski      properties:
11241729b77SKrzysztof Kozlowski        power-domains:
11341729b77SKrzysztof Kozlowski          items:
11441729b77SKrzysztof Kozlowski            - description: CX power domain
11541729b77SKrzysztof Kozlowski            - description: MSS power domain
11641729b77SKrzysztof Kozlowski        power-domain-names:
11741729b77SKrzysztof Kozlowski          items:
11841729b77SKrzysztof Kozlowski            - const: cx
11941729b77SKrzysztof Kozlowski            - const: mss
12041729b77SKrzysztof Kozlowski
12141729b77SKrzysztof KozlowskiunevaluatedProperties: false
12241729b77SKrzysztof Kozlowski
12341729b77SKrzysztof Kozlowskiexamples:
12441729b77SKrzysztof Kozlowski  - |
12541729b77SKrzysztof Kozlowski    #include <dt-bindings/clock/qcom,rpmh.h>
12641729b77SKrzysztof Kozlowski    #include <dt-bindings/interrupt-controller/irq.h>
12741729b77SKrzysztof Kozlowski    #include <dt-bindings/mailbox/qcom-ipcc.h>
12841729b77SKrzysztof Kozlowski    #include <dt-bindings/power/qcom-rpmpd.h>
12941729b77SKrzysztof Kozlowski
13041729b77SKrzysztof Kozlowski    remoteproc@3000000 {
13141729b77SKrzysztof Kozlowski        compatible = "qcom,sm6350-adsp-pas";
13241729b77SKrzysztof Kozlowski        reg = <0x03000000 0x100>;
13341729b77SKrzysztof Kozlowski
13441729b77SKrzysztof Kozlowski        clocks = <&rpmhcc RPMH_CXO_CLK>;
13541729b77SKrzysztof Kozlowski        clock-names = "xo";
13641729b77SKrzysztof Kozlowski
13741729b77SKrzysztof Kozlowski        interrupts-extended = <&pdc 6 IRQ_TYPE_LEVEL_HIGH>,
13841729b77SKrzysztof Kozlowski                              <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>,
13941729b77SKrzysztof Kozlowski                              <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>,
14041729b77SKrzysztof Kozlowski                              <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>,
14141729b77SKrzysztof Kozlowski                              <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>;
14241729b77SKrzysztof Kozlowski        interrupt-names = "wdog", "fatal", "ready",
14341729b77SKrzysztof Kozlowski                          "handover", "stop-ack";
14441729b77SKrzysztof Kozlowski
14541729b77SKrzysztof Kozlowski        memory-region = <&pil_adsp_mem>;
14641729b77SKrzysztof Kozlowski
14741729b77SKrzysztof Kozlowski        power-domains = <&rpmhpd SM6350_LCX>,
14841729b77SKrzysztof Kozlowski                        <&rpmhpd SM6350_LMX>;
14941729b77SKrzysztof Kozlowski        power-domain-names = "lcx", "lmx";
15041729b77SKrzysztof Kozlowski
15141729b77SKrzysztof Kozlowski        qcom,qmp = <&aoss_qmp>;
15241729b77SKrzysztof Kozlowski        qcom,smem-states = <&smp2p_adsp_out 0>;
15341729b77SKrzysztof Kozlowski        qcom,smem-state-names = "stop";
15441729b77SKrzysztof Kozlowski
15541729b77SKrzysztof Kozlowski        glink-edge {
15641729b77SKrzysztof Kozlowski            interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
15741729b77SKrzysztof Kozlowski                                         IPCC_MPROC_SIGNAL_GLINK_QMP
15841729b77SKrzysztof Kozlowski                                         IRQ_TYPE_EDGE_RISING>;
15941729b77SKrzysztof Kozlowski            mboxes = <&ipcc IPCC_CLIENT_LPASS
16041729b77SKrzysztof Kozlowski                            IPCC_MPROC_SIGNAL_GLINK_QMP>;
16141729b77SKrzysztof Kozlowski
16241729b77SKrzysztof Kozlowski            label = "lpass";
16341729b77SKrzysztof Kozlowski            qcom,remote-pid = <2>;
16441729b77SKrzysztof Kozlowski
16541729b77SKrzysztof Kozlowski            /* ... */
16641729b77SKrzysztof Kozlowski        };
16741729b77SKrzysztof Kozlowski    };
168