blob: f10f329677d84d06baa5d7fc6f0f68b559b7bcf0 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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-adsp-pas
20 - qcom,sc7180-mpss-pas
21 - qcom,sc7280-mpss-pas
22
23 reg:
24 maxItems: 1
25
26 clocks:
27 items:
28 - description: XO clock
29
30 clock-names:
31 items:
32 - const: xo
33
34 memory-region:
35 maxItems: 1
36 description: Reference to the reserved-memory for the Hexagon core
37
38 qcom,qmp:
39 $ref: /schemas/types.yaml#/definitions/phandle
40 description: Reference to the AOSS side-channel message RAM.
41
42 smd-edge: false
43
44 firmware-name:
45 $ref: /schemas/types.yaml#/definitions/string
46 description: Firmware name for the Hexagon core
47
48required:
49 - compatible
50 - reg
51 - memory-region
52
53allOf:
54 - $ref: /schemas/remoteproc/qcom,pas-common.yaml#
55 - if:
56 properties:
57 compatible:
58 enum:
59 - qcom,sc7180-adsp-pas
60 then:
61 properties:
62 interrupts:
63 maxItems: 5
64 interrupt-names:
65 maxItems: 5
66 else:
67 properties:
68 interrupts:
69 minItems: 6
70 interrupt-names:
71 minItems: 6
72
73 - if:
74 properties:
75 compatible:
76 enum:
77 - qcom,sc7180-adsp-pas
78 then:
79 properties:
80 power-domains:
81 items:
82 - description: LCX power domain
83 - description: LMX power domain
84 power-domain-names:
85 items:
86 - const: lcx
87 - const: lmx
88
89 - if:
90 properties:
91 compatible:
92 enum:
93 - qcom,sc7180-mpss-pas
94 then:
95 properties:
96 power-domains:
97 items:
98 - description: CX power domain
99 - description: MX power domain
100 - description: MSS power domain
101 power-domain-names:
102 items:
103 - const: cx
104 - const: mx
105 - const: mss
106
107 - if:
108 properties:
109 compatible:
110 enum:
111 - qcom,sc7280-mpss-pas
112 then:
113 properties:
114 power-domains:
115 items:
116 - description: CX power domain
117 - description: MX power domain
118 power-domain-names:
119 items:
120 - const: cx
121 - const: mx
122
123unevaluatedProperties: false
124
125examples:
126 - |
127 #include <dt-bindings/clock/qcom,rpmh.h>
128 #include <dt-bindings/interrupt-controller/arm-gic.h>
129 #include <dt-bindings/interrupt-controller/irq.h>
130 #include <dt-bindings/power/qcom-rpmpd.h>
131
132 remoteproc@4080000 {
133 compatible = "qcom,sc7180-mpss-pas";
134 reg = <0x04080000 0x4040>;
135
136 clocks = <&rpmhcc RPMH_CXO_CLK>;
137 clock-names = "xo";
138
139 interrupts-extended = <&intc GIC_SPI 266 IRQ_TYPE_EDGE_RISING>,
140 <&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
141 <&modem_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
142 <&modem_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
143 <&modem_smp2p_in 3 IRQ_TYPE_EDGE_RISING>,
144 <&modem_smp2p_in 7 IRQ_TYPE_EDGE_RISING>;
145 interrupt-names = "wdog", "fatal", "ready", "handover",
146 "stop-ack", "shutdown-ack";
147
148 memory-region = <&mpss_mem>;
149
150 power-domains = <&rpmhpd SC7180_CX>,
151 <&rpmhpd SC7180_MX>,
152 <&rpmhpd SC7180_MSS>;
153 power-domain-names = "cx", "mx", "mss";
154
155 qcom,qmp = <&aoss_qmp>;
156 qcom,smem-states = <&modem_smp2p_out 0>;
157 qcom,smem-state-names = "stop";
158
159 glink-edge {
160 interrupts = <GIC_SPI 449 IRQ_TYPE_EDGE_RISING>;
161 label = "modem";
162 qcom,remote-pid = <1>;
163 mboxes = <&apss_shared 12>;
164 };
165 };