1# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/remoteproc/qcom,sc7180-pas.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Qualcomm SC7180/SC7280 Peripheral Authentication Service
8
9maintainers:
10  - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
11
12description:
13  Qualcomm SC7180/SC7280 SoC Peripheral Authentication Service loads and boots
14  firmware on the Qualcomm DSP Hexagon cores.
15
16properties:
17  compatible:
18    enum:
19      - qcom,sc7180-mpss-pas
20      - qcom,sc7280-mpss-pas
21
22  reg:
23    maxItems: 1
24
25  clocks:
26    items:
27      - description: XO clock
28
29  clock-names:
30    items:
31      - const: xo
32
33  interrupts:
34    minItems: 6
35
36  interrupt-names:
37    minItems: 6
38
39  power-domains:
40    minItems: 2
41    items:
42      - description: CX power domain
43      - description: MX power domain
44      - description: MSS power domain
45
46  power-domain-names:
47    minItems: 2
48    items:
49      - const: cx
50      - const: mx
51      - const: mss
52
53  qcom,qmp:
54    $ref: /schemas/types.yaml#/definitions/phandle
55    description: Reference to the AOSS side-channel message RAM.
56
57  smd-edge: false
58
59required:
60  - compatible
61  - reg
62
63allOf:
64  - $ref: /schemas/remoteproc/qcom,pas-common.yaml#
65  - if:
66      properties:
67        compatible:
68          enum:
69            - qcom,sc7180-mpss-pas
70    then:
71      properties:
72        power-domains:
73          minItems: 3
74        power-domain-names:
75          minItems: 3
76    else:
77      properties:
78        power-domains:
79          maxItems: 2
80        power-domain-names:
81          maxItems: 2
82
83unevaluatedProperties: false
84
85examples:
86  - |
87    #include <dt-bindings/clock/qcom,rpmh.h>
88    #include <dt-bindings/interrupt-controller/arm-gic.h>
89    #include <dt-bindings/interrupt-controller/irq.h>
90    #include <dt-bindings/power/qcom-rpmpd.h>
91
92    remoteproc@4080000 {
93        compatible = "qcom,sc7180-mpss-pas";
94        reg = <0x04080000 0x4040>;
95
96        clocks = <&rpmhcc RPMH_CXO_CLK>;
97        clock-names = "xo";
98
99        interrupts-extended = <&intc GIC_SPI 266 IRQ_TYPE_EDGE_RISING>,
100                              <&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
101                              <&modem_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
102                              <&modem_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
103                              <&modem_smp2p_in 3 IRQ_TYPE_EDGE_RISING>,
104                              <&modem_smp2p_in 7 IRQ_TYPE_EDGE_RISING>;
105        interrupt-names = "wdog", "fatal", "ready", "handover",
106                          "stop-ack", "shutdown-ack";
107
108        memory-region = <&mpss_mem>;
109
110        power-domains = <&rpmhpd SC7180_CX>,
111                        <&rpmhpd SC7180_MX>,
112                        <&rpmhpd SC7180_MSS>;
113        power-domain-names = "cx", "mx", "mss";
114
115        qcom,qmp = <&aoss_qmp>;
116        qcom,smem-states = <&modem_smp2p_out 0>;
117        qcom,smem-state-names = "stop";
118
119        glink-edge {
120            interrupts = <GIC_SPI 449 IRQ_TYPE_EDGE_RISING>;
121            label = "modem";
122            qcom,remote-pid = <1>;
123            mboxes = <&apss_shared 12>;
124        };
125    };
126